[gtk+] Revert "wayland: Prevent stale paints and weird artifacts when using Weston"
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Revert "wayland: Prevent stale paints and weird artifacts when using Weston"
- Date: Mon, 14 Jul 2014 23:15:08 +0000 (UTC)
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]