[gtk-vnc] Fix virt-viewer fullscreen widget (bz #1036824)

Cole Robinson crobinso at fedoraproject.org
Wed Oct 29 19:17:39 UTC 2014


commit d6011d26f004d0f73a72a4ad91f6df14e6d752d2
Author: Cole Robinson <crobinso at redhat.com>
Date:   Wed Oct 29 15:17:38 2014 -0400

    Fix virt-viewer fullscreen widget (bz #1036824)

 0001-Enable-double-buffering-on-GTK3.patch |   37 ++++++++++++++++++++++++++++
 gtk-vnc.spec                               |   11 +++++++-
 2 files changed, 47 insertions(+), 1 deletions(-)
---
diff --git a/0001-Enable-double-buffering-on-GTK3.patch b/0001-Enable-double-buffering-on-GTK3.patch
new file mode 100644
index 0000000..72f1092
--- /dev/null
+++ b/0001-Enable-double-buffering-on-GTK3.patch
@@ -0,0 +1,37 @@
+From 3bbaa914d9bfafaf5a4d78867a578bddf5fc9134 Mon Sep 17 00:00:00 2001
+Message-Id: <3bbaa914d9bfafaf5a4d78867a578bddf5fc9134.1414608565.git.crobinso at redhat.com>
+From: "Daniel P. Berrange" <berrange at redhat.com>
+Date: Wed, 29 Oct 2014 16:13:46 +0000
+Subject: [PATCH] Enable double buffering on GTK3
+
+---
+ src/vncdisplay.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/vncdisplay.c b/src/vncdisplay.c
+index c47f8ee..b990f97 100644
+--- a/gtk-vnc-0.5.3/src/vncdisplay.c
++++ b/gtk-vnc-0.5.3/src/vncdisplay.c
+@@ -2186,7 +2186,19 @@ static void vnc_display_init(VncDisplay *display)
+                           GDK_LEAVE_NOTIFY_MASK |
+                           GDK_SCROLL_MASK |
+                           GDK_KEY_PRESS_MASK);
++    /* We already have off-screen buffers we render to
++     * but with GTK-3 there are problems with overlaid
++     * windows. We end up rendering over the top of the
++     * child overlaid windows despite having a clip
++     * mask set :-( We've turned on GTK3's built-in
++     * double buffering to work around this until we
++     * find a better idea.
++     */
++#if GTK_CHECK_VERSION(3, 0, 0)
++    gtk_widget_set_double_buffered(widget, TRUE);
++#else
+     gtk_widget_set_double_buffered(widget, FALSE);
++#endif
+ 
+     priv = display->priv = VNC_DISPLAY_GET_PRIVATE(display);
+     memset(priv, 0, sizeof(VncDisplayPrivate));
+-- 
+2.1.0
+
diff --git a/gtk-vnc.spec b/gtk-vnc.spec
index 316e83c..e57e1d3 100644
--- a/gtk-vnc.spec
+++ b/gtk-vnc.spec
@@ -20,10 +20,13 @@
 Summary: A GTK2 widget for VNC clients
 Name: gtk-vnc
 Version: 0.5.3
-Release: 5%{?dist}%{?extra_release}
+Release: 6%{?dist}%{?extra_release}
 License: LGPLv2+
 Group: Development/Libraries
 Source: http://ftp.gnome.org/pub/GNOME/sources/%{name}/0.5/%{name}-%{version}.tar.xz
+
+# Fix virt-viewer fullscreen widget (bz #1036824)
+Patch0001: 0001-Enable-double-buffering-on-GTK3.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 URL: http://live.gnome.org/gtk-vnc
 Requires: gvnc = %{version}-%{release}
@@ -154,6 +157,9 @@ Libraries, includes, etc. to compile with the gtk-vnc library
 
 %prep
 %setup -q -n gtk-vnc-%{version} -c
+
+# Fix virt-viewer fullscreen widget (bz #1036824)
+%patch0001 -p1
 %if %{with_gtk3}
 cp -a gtk-vnc-%{version} gtk-vnc2-%{version}
 %endif
@@ -323,6 +329,9 @@ rm -fr %{buildroot}
 %endif
 
 %changelog
+* Wed Oct 29 2014 Cole Robinson <crobinso at redhat.com> - 0.5.3-6
+- Fix virt-viewer fullscreen widget (bz #1036824)
+
 * Sat Aug 16 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org>
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
 


More information about the scm-commits mailing list