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:
@ -420,8 +420,6 @@ on_frame_clock_after_paint (GdkFrameClock *clock,
|
|||||||
if (!impl->pending_commit)
|
if (!impl->pending_commit)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g_assert (_gdk_wayland_is_shm_surface (impl->cairo_surface));
|
|
||||||
|
|
||||||
impl->pending_commit = FALSE;
|
impl->pending_commit = FALSE;
|
||||||
impl->pending_frame_counter = gdk_frame_clock_get_frame_counter (clock);
|
impl->pending_frame_counter = gdk_frame_clock_get_frame_counter (clock);
|
||||||
impl->awaiting_frame = TRUE;
|
impl->awaiting_frame = TRUE;
|
||||||
@ -431,7 +429,8 @@ on_frame_clock_after_paint (GdkFrameClock *clock,
|
|||||||
_gdk_frame_clock_freeze (clock);
|
_gdk_frame_clock_freeze (clock);
|
||||||
|
|
||||||
wl_surface_commit (impl->surface);
|
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
|
static void
|
||||||
|
|||||||
Reference in New Issue
Block a user