Last Comment Bug 624684 - Failure to build when cairo doesn't have tee surfaces support
: Failure to build when cairo doesn't have tee surfaces support
Status: RESOLVED INVALID
:
Product: Core
Classification: Components
Component: Graphics (show other bugs)
: Trunk
: All Linux
: -- normal (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-01-11 03:51 PST by Mike Hommey [:glandium]
Modified: 2011-01-22 04:00 PST (History)
9 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Avoid failing to build because of the lack of cairo tee surface support (2.20 KB, patch)
2011-01-11 03:51 PST, Mike Hommey [:glandium]
roc: review+
Details | Diff | Splinter Review

Description Mike Hommey [:glandium] 2011-01-11 03:51:48 PST
Created attachment 502766 [details] [diff] [review]
Avoid failing to build because of the lack of cairo tee surface support

One part of the build failure noted in bug 363861 is that gfx fails to build with a cairo without tee surfaces support. On the other hand, tee surfaces are only used from ThebesLayerD3D9, making them technically windows only.

The attached patch allows to build against a cairo that doesn't have tee surfaces support. I'm even tempted to add a #ifdef XP_WIN for CAIRO_HAS_TEE_SURFACE in cairo-supported-features.h.

(With the patch, a windows build with a cairo without tee surfaces would fail because of the lack of definition for gfxTeeSurface then, which is fine)
Comment 1 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2011-01-11 15:10:22 PST
Comment on attachment 502766 [details] [diff] [review]
Avoid failing to build because of the lack of cairo tee surface support

Thanks!
Comment 2 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2011-01-11 16:51:44 PST
By the way, when bug 593733 lands we'll need tee surface support on Linux too. I guess we can just disable component alpha when using system cairo, but that will be unpleasant.
Comment 3 Jory A. Pratt 2011-01-11 17:05:37 PST
(In reply to comment #2)
> By the way, when bug 593733 lands we'll need tee surface support on Linux too.
> I guess we can just disable component alpha when using system cairo, but that
> will be unpleasant.

I would much rather have configure check for tee support and if not find fall back to bundled. It would make much more sense in the long run.
Comment 4 Mike Hommey [:glandium] 2011-01-11 23:58:17 PST
(In reply to comment #3)
> (In reply to comment #2)
> > By the way, when bug 593733 lands we'll need tee surface support on Linux too.
> > I guess we can just disable component alpha when using system cairo, but that
> > will be unpleasant.
> 
> I would much rather have configure check for tee support and if not find fall
> back to bundled. It would make much more sense in the long run.

... and if not AC_ERROR out. Automatic fallback is bad, because configure with --enable-system-something and end up without.
Comment 5 Mike Hommey [:glandium] 2011-01-12 00:01:09 PST
(In reply to comment #2)
> By the way, when bug 593733 lands we'll need tee surface support on Linux too.
> I guess we can just disable component alpha when using system cairo, but that
> will be unpleasant.

Since that bug is blocking, I guess there is no need to push this one. I'm already using this patch on my beta9 pre-builds for Debian.
Comment 6 Mike Hommey [:glandium] 2011-01-22 04:00:23 PST
Invalid since 4.0b10

Note You need to log in before you can comment on or make changes to this bug.