Bug 640195 in GDK exposed by gnomine; fix included



Hi all,

Gnomine currently suffers from a rendering issue caused by a bug in GDK.  Details:
https://bugzilla.gnome.org/show_bug.cgi?id=640195

I think I've tracked down the issue and prepared a fix, which I've attached to the bug and attached here.  Basically, gdkwindow-x11 was not using the impl window when deciding how big to make the cairo surface for a widget.
If you think this patch is the correct one, I'll check to see if the same fix needs to be made anywhere else.

HTH.

rufus

From c2a2405c64be1ec86f87b96f9fcf3346c9c78452 Mon Sep 17 00:00:00 2001
From: Rufus Hamade <rufus myfanwy org uk>
Date: Sun, 23 Jan 2011 00:06:39 +0000
Subject: [PATCH] Fix gdk_x11_ref_cairo_surface so it uses the impl_window's dimensions when creating a cairo surface.

---
 gdk/x11/gdkwindow-x11.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index f02bed4..0e0da79 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -234,8 +234,8 @@ gdk_x11_ref_cairo_surface (GdkWindow *window)
   if (!impl->cairo_surface)
     {
       impl->cairo_surface = gdk_x11_create_cairo_surface (impl,
-                                                          gdk_window_get_width (window),
-                                                          gdk_window_get_height (window));
+                                                          gdk_window_get_width (_gdk_window_get_impl_window(window)),
+                                                          gdk_window_get_height (_gdk_window_get_impl_window(window)));
       
       if (impl->cairo_surface)
 	cairo_surface_set_user_data (impl->cairo_surface, &gdk_x11_cairo_key,
-- 
1.7.1



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]