Cairo-qpainter build is broken after latest cairo update

RESOLVED FIXED

Status

()

Core
Graphics
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: romaxa, Unassigned)

Tracking

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

9 years ago
Created attachment 347124 [details] [diff] [review]
Fix for cairo-qt build.

I think it would be nice to add qpainter surface to cairo source tree.
Attachment #347124 - Flags: review?(vladimir)
(Reporter)

Updated

9 years ago
Blocks: 462938

Updated

9 years ago
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
Last Resolved: 9 years ago
Resolution: --- → FIXED

Comment 3

9 years ago
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

Comment 4

9 years ago
(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;
> }
(Reporter)

Comment 5

9 years ago
Vlad was pushing that patch.. 
Vlad did you modify patch before pushing?

Comment 6

9 years ago
Seems to be partly unfixed still (similar report in mozilla.dev.builds).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Reporter)

Comment 7

9 years ago
Can I just land the rest of the patch into current tree?
(Reporter)

Comment 8

9 years ago
Created attachment 348759 [details] [diff] [review]
Missing part

Comment 9

9 years ago
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.

Comment 11

9 years ago
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).

Comment 12

9 years ago
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!
(Reporter)

Updated

9 years ago
Attachment #348759 - Flags: review?(vladimir)

Comment 13

9 years ago
I didn't change the code. I was just thinking it's uses cairo from the system, and doesn't has one inside ;)
(Reporter)

Updated

9 years ago
Duplicate of this bug: 466780
(Reporter)

Comment 15

9 years ago
Fixed in:
http://hg.mozilla.org/mozilla-central/rev/49a032846a3a
Status: REOPENED → RESOLVED
Last Resolved: 9 years ago9 years ago
Resolution: --- → FIXED

Comment 16

9 years ago
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.
(Assignee)

Updated

9 years ago
Product: Core → Core Graveyard

Updated

9 years ago
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.