wayland: Remove an overeager assert

If we are using gl for drawing, we don't have a shm surface,
so don't assert that we do. Instead, only call shm-specific
apis when they make sense.

This fixes a crash when showing popovers over a GtkGLArea,
as seen in gdkgears.

https://bugzilla.gnome.org/show_bug.cgi?id=754143
This commit is contained in:
Matthias Clasen 2015-09-04 23:28:24 -04:00
parent 89063cf21c
commit 27e3059a32

View File

@ -420,8 +420,6 @@ on_frame_clock_after_paint (GdkFrameClock *clock,
if (!impl->pending_commit)
return;
g_assert (_gdk_wayland_is_shm_surface (impl->cairo_surface));
impl->pending_commit = FALSE;
impl->pending_frame_counter = gdk_frame_clock_get_frame_counter (clock);
impl->awaiting_frame = TRUE;
@ -431,7 +429,8 @@ on_frame_clock_after_paint (GdkFrameClock *clock,
_gdk_frame_clock_freeze (clock);
wl_surface_commit (impl->surface);
_gdk_wayland_shm_surface_set_busy (impl->cairo_surface);
if (_gdk_wayland_is_shm_surface (impl->cairo_surface))
_gdk_wayland_shm_surface_set_busy (impl->cairo_surface);
}
static void