Closed Bug 288042 Opened 21 years ago Closed 20 years ago

cairo/svg does not build on qt, xlib

Categories

(Core :: SVG, defect, P1)

x86
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla1.8beta4

People

(Reporter: Biesinger, Assigned: Biesinger)

References

()

Details

(Keywords: fixed1.8)

Attachments

(3 files, 2 obsolete files)

nsSVGCairoCanvas.cpp currently only compiles on macosx and gtk, not qt or xlib.
Attached patch gfx/src/{xlib,xprint} part (obsolete) — Splinter Review
this patch allows to get a Display* from an xlib drawing surface.
Attachment #178841 - Flags: review?(roland.mainz)
makes GetPaintDevice (and GetPainter, for consistency) virtual, so that it can be called from other modules I could have used NS_EXPORT_ instead, but it looks like I'd still have to link to libgfx_qt.so. I think I prefer making the functions virtual, but if reviewers prefer I can change this.
Attachment #178863 - Flags: review?(zack)
Attached patch layout/svg/renderer part (obsolete) — Splinter Review
Attachment #178864 - Flags: review?(tor)
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → mozilla1.8beta2
Attachment #178841 - Attachment description: gfx/ part → gfx/src/{xlib,xprint} part
Attachment #178864 - Flags: review?(tor) → review+
Comment on attachment 178841 [details] [diff] [review] gfx/src/{xlib,xprint} part this patch isn't actually needed...
Attachment #178841 - Attachment is obsolete: true
Attachment #178841 - Flags: review?(roland.mainz)
also eliminates the need for gfx/src/xlib changes.
Attachment #178864 - Attachment is obsolete: true
Attachment #192196 - Flags: review?(tor)
Target Milestone: mozilla1.8beta2 → mozilla1.8beta4
Attachment #192196 - Flags: review?(tor) → review+
Comment on attachment 192196 [details] [diff] [review] layout/svg/renderer part, merged to trunk Qt/Xlib specific patch to allow building with SVG. does not affect the default build.
Attachment #192196 - Flags: approval1.8b4?
this eliminates the necessity for the Qt change too, no? At least I don't see why those methods should be virtual.. if at all they should be NS_EXPORT_ but you're using internal API anyway..
well, the qt change is still needed... if it's NS_EXPORT_ don't I need to link against libgfx_qt? (I guess not with the linux linker... hm...)
Comment on attachment 178863 [details] [diff] [review] gfx/src/qt part OK, our component libraries are loaded without RTLD_GLOBAL. and I can't link to libgfx_qt either, because the dynamic linker doesn't find it (presumably components/ isn't in the linker path). so the NS_EXPORT solution doesn't work. given that, is this patch acceptable?
Attachment #178863 - Flags: review?(zack) → review?(mueller)
its fine with me, but adding a comment on why a simple inline accessor is virtual wouldn't hurt.
Attachment #178863 - Flags: review?(mueller)
ok, although these are not inline...
Comment on attachment 192988 [details] [diff] [review] gfx/src/qt part, with comment looks good.
Attachment #192988 - Flags: review?(zack) → review+
Comment on attachment 192988 [details] [diff] [review] gfx/src/qt part, with comment affects only the qt port and is a requirement for using cairo as the svg renderer.
Attachment #192988 - Flags: approval1.8b4?
Checking in gfx/src/qt/nsDrawingSurfaceQt.h; /cvsroot/mozilla/gfx/src/qt/nsDrawingSurfaceQt.h,v <-- nsDrawingSurfaceQt.h new revision: 1.4; previous revision: 1.3 done Checking in layout/build/Makefile.in; /cvsroot/mozilla/layout/build/Makefile.in,v <-- Makefile.in new revision: 1.128; previous revision: 1.127 done Checking in layout/svg/renderer/src/cairo/Makefile.in; /cvsroot/mozilla/layout/svg/renderer/src/cairo/Makefile.in,v <-- Makefile.in new revision: 1.19; previous revision: 1.18 done Checking in layout/svg/renderer/src/cairo/nsSVGCairoCanvas.cpp; /cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoCanvas.cpp,v <-- nsSVGCairoCanvas.cpp new revision: 1.22; previous revision: 1.21 done
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Flags: blocking1.8b4+
Attachment #192988 - Flags: approval1.8b4? → approval1.8b4+
Attachment #192196 - Flags: approval1.8b4? → approval1.8b4+
MOZILLA_1_8_BRANCH: Checking in gfx/src/qt/nsDrawingSurfaceQt.h; /cvsroot/mozilla/gfx/src/qt/nsDrawingSurfaceQt.h,v <-- nsDrawingSurfaceQt.h new revision: 1.3.18.1; previous revision: 1.3 done Checking in layout/build/Makefile.in; /cvsroot/mozilla/layout/build/Makefile.in,v <-- Makefile.in new revision: 1.127.8.1; previous revision: 1.127 done Checking in layout/svg/renderer/src/cairo/Makefile.in; /cvsroot/mozilla/layout/svg/renderer/src/cairo/Makefile.in,v <-- Makefile.in new revision: 1.18.6.1; previous revision: 1.18 done Checking in layout/svg/renderer/src/cairo/nsSVGCairoCanvas.cpp; /cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoCanvas.cpp,v <-- nsSVGCairoCanvas.cpp new revision: 1.21.4.1; previous revision: 1.21 done
Keywords: fixed1.8
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: