Closed Bug 288042 Opened 19 years ago Closed 19 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: 19 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: