summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2013-05-31 15:22:38 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-17 16:44:35 +0100
commit3eb9bbea6f08171d0598c48ca65256c2afc92676 (patch)
tree6e1ba95add62c3e35302a0d5ecd3b604b1e01452
parent22c469fea28a9e1eb05374b362743545bdf28ec2 (diff)
downloadopenembedded-core-3eb9bbea6f08171d0598c48ca65256c2afc92676.tar.gz
openembedded-core-3eb9bbea6f08171d0598c48ca65256c2afc92676.tar.bz2
openembedded-core-3eb9bbea6f08171d0598c48ca65256c2afc92676.zip
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 <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3/wayland-attach.patch42
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3_3.8.2.bb3
2 files changed, 44 insertions, 1 deletions
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 <ross.burton@intel.com>
+
+
+From 0d2c4617203c8fe907c722c9cb53c0345e0405e7 Mon Sep 17 00:00:00 2001
+From: Scott Moreau <oreaus@gmail.com>
+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 <rob@linux.intel.com>
+---
+ 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"