Closed
Bug 493426
Opened 16 years ago
Closed 16 years ago
unresolved cairo symbols related to cairo_ddraw_surface
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: hiro, Assigned: hiro)
Details
(Keywords: mobile)
Attachments
(1 file)
|
3.32 KB,
patch
|
vlad
:
review+
|
Details | Diff | Splinter 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.
| Assignee | ||
Comment 1•16 years ago
|
||
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.
| Assignee | ||
Comment 2•16 years ago
|
||
CCing Vladimir and Chris.
| Assignee | ||
Updated•16 years ago
|
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.
| Assignee | ||
Comment 4•16 years ago
|
||
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+
| Assignee | ||
Comment 7•16 years ago
|
||
(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.
Updated•16 years ago
|
Keywords: checkin-needed
| Assignee | ||
Updated•16 years ago
|
Assignee: nobody → ikezoe
Comment 8•16 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•