From b0bd9d82a30079f9fd747426e4c769c514810e81 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 14 Jul 2014 19:12:19 -0400 Subject: [PATCH] Revert "wayland: Prevent stale paints and weird artifacts when using Weston" This reverts commit 76922c169f0699d9b85ef3eff2170f2cede1782c. This is too local a fix, and is broken if the user paints to a small region, as the entire buffer will be wiped. --- gdk/wayland/gdkdisplay-wayland.c | 7 ------- gdk/wayland/gdkprivate-wayland.h | 1 - gdk/wayland/gdkwindow-wayland.c | 18 +----------------- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c index d83d364f48..ee8e903f38 100644 --- a/gdk/wayland/gdkdisplay-wayland.c +++ b/gdk/wayland/gdkdisplay-wayland.c @@ -889,10 +889,3 @@ _gdk_wayland_shm_surface_get_busy (cairo_surface_t *surface) GdkWaylandCairoSurfaceData *data = cairo_surface_get_user_data (surface, &gdk_wayland_cairo_key); return data->busy; } - -void -_gdk_wayland_shm_surface_clear (cairo_surface_t *surface) -{ - GdkWaylandCairoSurfaceData *data = cairo_surface_get_user_data (surface, &gdk_wayland_cairo_key); - memset (data->buf, 0, data->buf_length); -} diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h index a3146ead96..d6d2375429 100644 --- a/gdk/wayland/gdkprivate-wayland.h +++ b/gdk/wayland/gdkprivate-wayland.h @@ -185,6 +185,5 @@ cairo_surface_t * _gdk_wayland_display_create_shm_surface (GdkWaylandDisplay *di struct wl_buffer *_gdk_wayland_shm_surface_get_wl_buffer (cairo_surface_t *surface); void _gdk_wayland_shm_surface_set_busy (cairo_surface_t *surface); gboolean _gdk_wayland_shm_surface_get_busy (cairo_surface_t *surface); -void _gdk_wayland_shm_surface_clear (cairo_surface_t *surface); #endif /* __GDK_PRIVATE_WAYLAND_H__ */ diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c index f57ba6c775..5782474112 100644 --- a/gdk/wayland/gdkwindow-wayland.c +++ b/gdk/wayland/gdkwindow-wayland.c @@ -568,23 +568,7 @@ gdk_window_impl_wayland_begin_paint_region (GdkWindow *window, { GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); gdk_wayland_window_ensure_cairo_surface (window); - - if (_gdk_wayland_shm_surface_get_busy (impl->cairo_surface)) - { - /* The surface is busy, so create a temporary surface which we paint - * to and hope that by the time we're done painting the surface isn't - * busy any more. */ - return TRUE; - } - else - { - /* Returning FALSE from begin_paint_region says to use the native - * backing surface, which is our SHM surface. We need to make sure - * to clear it before the code tries to paint to it to prevent - * artifacts from the last paint. */ - _gdk_wayland_shm_surface_clear (impl->cairo_surface); - return FALSE; - } + return _gdk_wayland_shm_surface_get_busy (impl->cairo_surface); } static void