From 3eb9bbea6f08171d0598c48ca65256c2afc92676 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 31 May 2013 15:22:38 +0100 Subject: gtk+3: fix repainting under Weston 1.1 Weston 1.1 is stricter with the protocol, so fix the behaviour in GTK+. Signed-off-by: Ross Burton Signed-off-by: Saul Wold --- meta/recipes-gnome/gtk+/gtk+3/wayland-attach.patch | 42 ++++++++++++++++++++++ meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb | 3 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-gnome/gtk+/gtk+3/wayland-attach.patch (limited to 'meta/recipes-gnome') diff --git a/meta/recipes-gnome/gtk+/gtk+3/wayland-attach.patch b/meta/recipes-gnome/gtk+/gtk+3/wayland-attach.patch new file mode 100644 index 0000000000..fa0d0e6529 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+3/wayland-attach.patch @@ -0,0 +1,42 @@ +Wayland 1.1 is enforcing the protocol whereas 1.0 was lenient. Backport a patch +from git to fix repainting. + +Upstream-Status: Backport +Signed-off-by: Ross Burton + + +From 0d2c4617203c8fe907c722c9cb53c0345e0405e7 Mon Sep 17 00:00:00 2001 +From: Scott Moreau +Date: Sun, 10 Mar 2013 10:51:01 -0600 +Subject: [PATCH] wayland: Always attach buffer before committing + +With recent changes in attach semantics, we always need to attach before +committing. Without this changes to the window contents to not get reflected +in the content of the surface. + +Signed-off-by: Rob Bradford +--- + gdk/wayland/gdkwindow-wayland.c | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c +index 112a1f4..fa01e90 100644 +--- a/gdk/wayland/gdkwindow-wayland.c ++++ b/gdk/wayland/gdkwindow-wayland.c +@@ -327,13 +327,6 @@ gdk_wayland_window_attach_image (GdkWindow *window) + if (GDK_WINDOW_DESTROYED (window)) + return; + +- /* The "drawn to" Cairo surface is the same as the Cairo surface from which +- * we are driving the buffer for the Wayland surface. Therefore we don't +- * need to do anything here +- */ +- if (impl->server_surface == impl->cairo_surface) +- return; +- + /* The wayland surface is attached to a buffer that is from the old "drawn + * to" surface. Unref the surface and restore the state. + */ +-- +1.7.10.4 + diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb b/meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb index b9d4091091..d92d8f34aa 100644 --- a/meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb +++ b/meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb @@ -3,7 +3,8 @@ require gtk+3.inc MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "http://download.gnome.org/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ - file://no-x11-in-wayland.patch" + file://no-x11-in-wayland.patch \ + file://wayland-attach.patch" SRC_URI[md5sum] = "8e878e18fc385f2b813419dc7b40a968" SRC_URI[sha256sum] = "1ca80c9c15a1df95d74cefb8c2afe4682ba272a4b489106f04877be2a7aff297" -- cgit 1.2.3-korg