Closed Bug 463872 Opened 11 years ago Closed 11 years ago

Cairo-qpainter build is broken after latest cairo update

Categories

(Core :: Graphics, defect)

x86
Linux
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: romaxa, Unassigned)

References

Details

Attachments

(2 files)

I think it would be nice to add qpainter surface to cairo source tree.
Attachment #347124 - Flags: review?(vladimir)
Blocks: 462938
Duplicate of this bug: 463924
Comment on attachment 347124 [details] [diff] [review]
Fix for cairo-qt build.

Looks ok; I just committed this fix along with a patch file to make sure I don't forget it again if I upgrade cairo.

I'm all for getting it upstream; I thought I was waiting for feedback from behdad, but I'm wrong, it's blocking on me now.  I'll get it done this week, sorry!
Attachment #347124 - Flags: review?(vladimir) → review+
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Still not totally fixed for me..

g++ -o cairo-qpainter-surface.o -c -I../../../../dist/include/system_wrappers -include /src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_COM_OBSOLETE -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES  -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DPACKAGE_VERSION="\"moz\"" -DPACKAGE_BUGREPORT="\"http://bugzilla.mozilla.org/\"" -DMOZ_TREE_CAIRO -I/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src -I/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src -I. -I../../../../dist/include/png -I../../../../dist/include/libpixman -I../../../../dist/include   -I../../../../dist/include/cairo -I/usr/include/nspr   -I/usr/include  -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtCore   -I/usr/include/freetype2 -I/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/build-qt/dist/sdk/include    -fPIC   -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long -pedantic -g -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -O2   -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Wp,-MD,.deps/cairo-qpainter-surface.pp /src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp: In function ‘cairo_int_status_t _cairo_qpainter_surface_show_glyphs(void*, cairo_operator_t, cairo_pattern_t*, cairo_glyph_t*, int, cairo_scaled_font_t*, int*)’:
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp:1391: error: invalid conversion from ‘int’ to ‘cairo_text_cluster_flags_t’
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp: In function ‘void _cairo_image_surface_write_to_ppm(cairo_image_surface_t*, const char*)’:
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp:1798: warning: deprecated conversion from string constant to ‘char*’
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp:1800: warning: deprecated conversion from string constant to ‘char*’
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp: At global scope:
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp:129: warning: ‘g_dump_path’ defined but not used
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp:130: warning: ‘timer_start_val’ defined but not used
/src/bzr/build-area/xulrunner-1.9.1-1.9.1~b2~hg20081110r21542+nobinonly/build-tree/mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp:155: warning: ‘const char* _opstr(cairo_operator_t)’ defined but not used
make[6]: *** [cairo-qpainter-surface.o] Error 1
(In reply to comment #3)
(In reply to comment #2)
> Still not totally fixed for me..
> 
Since the error message is virtually the same as in bug463924 I wondered what was missing. Comparing the push http://hg.mozilla.org/mozilla-central/rev/d1baec088ee0 with https://bugzilla.mozilla.org/attachment.cgi?id=347124 you can see that the push misses a part of the patch:

>--- mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp.orig	2008-11-06 19:33:22.000000000 +0200
>+++ mozilla/gfx/cairo/cairo/src/cairo-qpainter-surface.cpp	2008-11-09 05:39:47.000000000 +0200
>@@ -1382,11 +1386,11 @@ _cairo_qpainter_surface_show_glyphs (voi
> 	    qs->xlib_has_clipping = qs->has_clipping;
> 	    qs->xlib_clip_bounds = qs->clip_bounds;
> 	}
> 
>         return (cairo_int_status_t)
>-               _cairo_surface_show_text_glyphs (qs->xlib_equiv, op, source, NULL, 0, glyphs, num_glyphs, NULL, 0, FALSE, scaled_font);
>+               _cairo_surface_show_text_glyphs (qs->xlib_equiv, op, source, NULL, 0, glyphs, num_glyphs, NULL, 0, (cairo_text_cluster_flags_t)0, scaled_font);
>     }
> #endif
> 
>     return CAIRO_INT_STATUS_UNSUPPORTED;
> }
Vlad was pushing that patch.. 
Vlad did you modify patch before pushing?
Seems to be partly unfixed still (similar report in mozilla.dev.builds).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Can I just land the rest of the patch into current tree?
Attached patch Missing partSplinter Review
Although I'm not 100% sure how the process works for these files, I think you need to add the cairo-qpainter-surface.cpp changes to the file 
gfx/cairo/qpainter-type.patch (Vlad didn't add them there, either) and then ask for review (and afterwards approval) for the whole patch again.
I applied the remaining part of the patch, and it successfully built, however it fails to startup.
I've updated checkout today (like 20 minutes ago) and it still doesn't compile with the "gmake[6]: *** [cairo-qpainter-surface.o]" error (on amd64 gentoo, cairo 1.8.2).
How should it be fixed when nobody is asking for reviews and checkins?!

If you are building an out-of-tree cairo then you need to patch that!
Attachment #348759 - Flags: review?(vladimir)
I didn't change the code. I was just thinking it's uses cairo from the system, and doesn't has one inside ;)
Duplicate of this bug: 466780
Fixed in:
http://hg.mozilla.org/mozilla-central/rev/49a032846a3a
Status: REOPENED → RESOLVED
Closed: 11 years ago11 years ago
Resolution: --- → FIXED
Any plans/chances to get this into 1.9.1 as well? I don't have a really defined need for that, just would like to know.
Product: Core → Core Graveyard
Component: GFX → GFX: Thebes
Product: Core Graveyard → Core
QA Contact: general → thebes
You need to log in before you can comment on or make changes to this bug.