Failure to build when cairo doesn't have tee surfaces support

RESOLVED INVALID

Status

()

Core
Graphics
RESOLVED INVALID
6 years ago
6 years ago

People

(Reporter: glandium, Unassigned)

Tracking

Trunk
All
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

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)
Attachment #502766 - Flags: review?(roc)
Comment on attachment 502766 [details] [diff] [review]
Avoid failing to build because of the lack of cairo tee surface support

Thanks!
Attachment #502766 - Flags: review?(roc) → review+
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

6 years ago
(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.
(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.
(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.
Invalid since 4.0b10
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.