Closed Bug 670106 Opened 13 years ago Closed 13 years ago

OGL/GLX does not like image layers that are not xlib surfaces

Categories

(Core :: Graphics, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla8

People

(Reporter: heeen, Assigned: mattwoodrow)

References

Details

Attachments

(1 file)

For the checkerboard pattern I created a gfxImageSurface in layout/ipc/RenderFrameParent.cpp. This is used in an ImageLayerOGL to render the background for fennec.
On EGL, there is no problem, but GLX assumes all ImageLayers are Xlib surfaces, so creating a pixmap fails around here:
http://mxr.mozilla.org/mozilla-central/source/gfx/layers/opengl/ImageLayerOGL.cpp#466

It leads to a crash as soon as you try to open a page.
Depends on: 628566
Attachment #545493 - Flags: review?(bjacob) → review?(joe)
Comment on attachment 545493 [details] [diff] [review]
Check the surface type before attempting to create a pixmap

Review of attachment 545493 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/layers/opengl/ImageLayerOGL.cpp
@@ +462,5 @@
>      GLXPixmap pixmap;
>  
>      if (cairoImage->mSurface) {
>          pixmap = sGLXLibrary.CreatePixmap(cairoImage->mSurface);
> +        NS_ASSERTION(pixmap, "Failed to create pixmap!");

Should we have an assertion if we then go on and test for pixmap?
Attachment #545493 - Flags: review?(joe) → review+
http://hg.mozilla.org/integration/mozilla-inbound/rev/9672ad924796
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Whiteboard: [inbound]
http://hg.mozilla.org/mozilla-central/rev/9672ad924796

Matt: please don't mark the bugs which you land on inbound fixed until the patch hits m-c, since it might get backed out before that, and we could potentially miss it because of the bug being marked as fixed.  Thanks!
Assignee: nobody → matt.woodrow+bugzilla
Whiteboard: [inbound]
Target Milestone: --- → mozilla8
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: