[gtk+] Revert "wayland: Prevent stale paints and weird artifacts when using Weston"



commit b0bd9d82a30079f9fd747426e4c769c514810e81
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Jul 14 19:12:19 2014 -0400

    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 insertions(+), 25 deletions(-)
---
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index d83d364..ee8e903 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 a3146ea..d6d2375 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 f57ba6c..5782474 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]