[gtk-vnc] Add fix to remove use of GdkDrawble for GTK3 compat
Daniel P. Berrange
berrange at fedoraproject.org
Mon Jan 10 11:18:24 UTC 2011
commit 2d7b25978c67a54d20a8e881220eebbea4854ebc
Author: Daniel P. Berrange <berrange at redhat.com>
Date: Mon Jan 10 11:17:57 2011 +0000
Add fix to remove use of GdkDrawble for GTK3 compat
gtk-vnc-0.4.2-gtk3-drawable.patch | 54 +++++++++++++++++++++++++++++++++++++
gtk-vnc.spec | 7 ++++-
2 files changed, 60 insertions(+), 1 deletions(-)
---
diff --git a/gtk-vnc-0.4.2-gtk3-drawable.patch b/gtk-vnc-0.4.2-gtk3-drawable.patch
new file mode 100644
index 0000000..77075a2
--- /dev/null
+++ b/gtk-vnc-0.4.2-gtk3-drawable.patch
@@ -0,0 +1,54 @@
+commit d2ad64e8fc13817f8fd7bfada5daf44230235446
+Author: Daniel P. Berrange <berrange at redhat.com>
+Date: Thu Dec 9 17:48:28 2010 +0000
+
+ Adapt to avoid further Gtk3 changes
+
+ More gdk_drawable calls have gone away in Gtk3. Adapt code to avoid
+ needing to use them, by calling gtk_widget APIs instead.
+
+diff --git a/src/vncdisplay.c b/src/vncdisplay.c
+index 33d2623..deab4d8 100644
+--- a/src/vncdisplay.c
++++ b/src/vncdisplay.c
+@@ -139,10 +139,6 @@ static inline void gdk_drawable_get_size(GdkWindow *w, gint *ww, gint *wh)
+ *wh = gdk_window_get_height(w);
+ }
+
+-#define gdk_drawable_get_display(w) gdk_window_get_display(w)
+-#define gdk_drawable_get_screen(w) gdk_window_get_screen(w)
+-#define gdk_drawable_get_visual(w) gdk_window_get_visual(w)
+-
+ #define GtkObject GtkWidget
+ #define GtkObjectClass GtkWidgetClass
+ #define GTK_OBJECT_CLASS(c) GTK_WIDGET_CLASS(c)
+@@ -629,9 +625,8 @@ static gboolean motion_event(GtkWidget *widget, GdkEventMotion *motion)
+
+ /* Next adjust the real client pointer */
+ if (!priv->absolute) {
+- GdkDrawable *drawable = GDK_DRAWABLE(gtk_widget_get_window(widget));
+- GdkDisplay *display = gdk_drawable_get_display(drawable);
+- GdkScreen *screen = gdk_drawable_get_screen(drawable);
++ GdkDisplay *display = gtk_widget_get_display(widget);
++ GdkScreen *screen = gtk_widget_get_screen(widget);
+ int x = (int)motion->x_root;
+ int y = (int)motion->y_root;
+
+@@ -1009,7 +1004,7 @@ static void on_pixel_format_changed(VncConnection *conn G_GNUC_UNUSED,
+ static gboolean vnc_display_set_preferred_pixel_format(VncDisplay *display)
+ {
+ VncDisplayPrivate *priv = display->priv;
+- GdkVisual *v = gdk_drawable_get_visual(gtk_widget_get_window(GTK_WIDGET(display)));
++ GdkVisual *v = gtk_widget_get_visual(GTK_WIDGET(display));
+ VncPixelFormat fmt;
+ const VncPixelFormat *currentFormat;
+
+@@ -1260,7 +1255,7 @@ static void on_cursor_changed(VncConnection *conn G_GNUC_UNUSED,
+ }
+
+ if (cursor) {
+- GdkDisplay *display = gdk_drawable_get_display(GDK_DRAWABLE(gtk_widget_get_window(GTK_WIDGET(obj))));
++ GdkDisplay *display = gtk_widget_get_display(GTK_WIDGET(obj));
+ GdkPixbuf *pixbuf = gdk_pixbuf_new_from_data(vnc_cursor_get_data(cursor),
+ GDK_COLORSPACE_RGB,
+ TRUE, 8,
diff --git a/gtk-vnc.spec b/gtk-vnc.spec
index ee7e549..8368333 100644
--- a/gtk-vnc.spec
+++ b/gtk-vnc.spec
@@ -27,6 +27,7 @@ Patch2: %{name}-%{version}-tls-shutdown-crash.patch
Patch3: %{name}-%{version}-framebuffer-update-bounds-check.patch
Patch4: %{name}-%{version}-pixmap-cache.patch
Patch5: %{name}-%{version}-source-unref.patch
+Patch6: %{name}-%{version}-gtk3-drawable.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
URL: http://live.gnome.org/gtk-vnc
BuildRequires: gtk2-devel >= 2.14
@@ -156,6 +157,7 @@ cd %{name}-%{version}
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
cd ..
%if %{with_gtk3}
cp -a gtk-vnc-%{version} gtk-vnc2-%{version}
@@ -301,7 +303,10 @@ rm -fr %{buildroot}
%changelog
-* Sun Jan 5 2011 Matthias Clasen <mclasen at redhat.com> - 0.4.2-5
+* Mon Jan 10 2011 Daniel P. Berrange <berrange at redhat.com> - 0.4.2-5
+- Add fix to remove use of GdkDrawble for GTK3 compat
+
+* Sun Jan 9 2011 Matthias Clasen <mclasen at redhat.com> - 0.4.2-5
- Rebuild against newer gtk3
* Tue Dec 14 2010 Daniel P. Berrange <berrange at redhat.com> - 0.4.2-4
More information about the scm-commits
mailing list