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 +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 - 0.4.2-5 +* Mon Jan 10 2011 Daniel P. Berrange - 0.4.2-5 +- Add fix to remove use of GdkDrawble for GTK3 compat + +* Sun Jan 9 2011 Matthias Clasen - 0.4.2-5 - Rebuild against newer gtk3 * Tue Dec 14 2010 Daniel P. Berrange - 0.4.2-4