Closed Bug 493426 Opened 16 years ago Closed 16 years ago

unresolved cairo symbols related to cairo_ddraw_surface

Categories

(Core :: Graphics, defect)

ARM
Windows CE
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: hiro, Assigned: hiro)

Details

(Keywords: mobile)

Attachments

(1 file)

Attached patch Possibly fixSplinter Review
There are some unresolved symbols in toolkit/library. The symbols are: cairo_ddraw_surface_create cairo_ddraw_surface_create_alias cairo_ddraw_surface_get_ddraw_surface This is because that checking CAIRO_HAS_DDRAW_SURFACE is at the top of cairo-ddraw-surface.c, so the macro is never defined. I do not have any devices which has DirectDraw graphics, so I can not the patch works fine on DirectDraw devices.
After bug 493079 landing, some cairo APIs have changed, so the patch adopted the new APIs, but I am not 100% sure this fix is correct.
CCing Vladimir and Chris.
Summary: unresolved symbol cairo_ddraw_surface_create → unresolved cairo symbols related to cairo_ddraw_surface
Erm. I fixed the cairoint.h piece, but it was apparently backed out in http://hg.mozilla.org/mozilla-central/rev/f5bcb9a4743e -- not sure what the issue is there. I'll check with brad. The API change pieces are probably good to go, though.
Without backout, the following errors occur. Attachment 377907 [details] [diff] tackled this issue too. cairo-ddraw-surface.c c:\cygwin\home\user\hg\mozilla-central\gfx\cairo\cairo\src\cairo-platform.h : wa rning C4819: The file contains a character that cannot be represented in the cur rent code page (932). Save the file in Unicode format to prevent data loss c:\cygwin\home\user\hg\mozilla-central\gfx\cairo\cairo\src\cairo-platform.h(53) : warning C4005: 'cairo_public' : macro redefinition c:\cygwin\home\user\hg\mozilla-central\gfx\cairo\cairo\src\cairoint.h(54 ) : see previous definition of 'cairo_public' c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (147) : warning C4013: '_cairo_region_get_extents' undefined; assuming extern re turning int c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (150) : warning C4013: '_cairo_region_num_boxes' undefined; assuming extern retu rning int c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (172) : error C2065: 'cairo_box_int_t' : undeclared identifier c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (172) : error C2146: syntax error : missing ';' before identifier 'box' c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (172) : error C2065: 'box' : undeclared identifier c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (174) : warning C4013: '_cairo_region_get_box' undefined; assuming extern return ing int c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (174) : error C2065: 'box' : undeclared identifier c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (176) : error C2065: 'box' : undeclared identifier c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (176) : error C2224: left of '.p1' must have struct/union type c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (177) : error C2065: 'box' : undeclared identifier c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (177) : error C2224: left of '.p1' must have struct/union type c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (178) : error C2065: 'box' : undeclared identifier c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (178) : error C2224: left of '.p2' must have struct/union type c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (179) : error C2065: 'box' : undeclared identifier c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (179) : error C2224: left of '.p2' must have struct/union type c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (439) : warning C4013: '_cairo_region_copy' undefined; assuming extern returning int c:/cygwin/home/user/hg/mozilla-central/gfx/cairo/cairo/src/cairo-ddraw-surface.c (444) : warning C4013: '_cairo_region_translate' undefined; assuming extern retu rning int make[2]: *** [cairo-ddraw-surface.obj] Error 2 make[2]: Leaving directory `/c/cygwin/home/user/hg/mozilla-central/objdir-wm6-te st/xulrunner/gfx/cairo/cairo/src' make[1]: *** [libs] Error 2 make[1]: Leaving directory `/c/cygwin/home/user/hg/mozilla-central/objdir-wm6-te st/xulrunner/gfx/cairo' make: *** [all] Error 2 make: Leaving directory `/c/cygwin/home/user/hg/mozilla-central/objdir-wm6-test/ xulrunner/gfx/cairo' ~
So a few problems: - the "fix" for those issues fixed it by just commenting out all the code (this was the removal of cairoint.h before the #if, so that #if could never have been defined) - cairo-region-private.h is no longer present in cairo, it needs to be removed from our repo - the patch here is an ok fix, but it sucks that we have to do all the extra work to convert from boxes to rectangles (and check status and all that) for every rectangle in the region; we should probably just use the pixman functions directly, since we're apparently going to be joined at the hip with the pixman region impl.
Comment on attachment 377907 [details] [diff] [review] Possibly fix This is fine for now, I think.
Attachment #377907 - Flags: review+
(In reply to comment #5) > - cairo-region-private.h is no longer present in cairo, it needs to be removed > from our repo > > - the patch here is an ok fix, but it sucks that we have to do all the extra > work to convert from boxes to rectangles (and check status and all that) for > every rectangle in the region; we should probably just use the pixman functions > directly, since we're apparently going to be joined at the hip with the pixman > region impl. Vladimir, should I open bugs for both issues? I do not understand second part fully, so I can not open the bug maybe.
Assignee: nobody → ikezoe
Status: NEW → RESOLVED
Closed: 16 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: