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 <[email protected]>
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

_______________________________________________
gtk-devel-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to