aboutsummaryrefslogtreecommitdiffstats
path: root/x11-toolkits/gtk20
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2008-06-10 07:02:55 +0800
committermarcus <marcus@FreeBSD.org>2008-06-10 07:02:55 +0800
commit7b204cd862262c673532688cce0d41834c9d3624 (patch)
treeb6cbefec443ff1efc29a3fa57c2ea6f2cfade6fd /x11-toolkits/gtk20
parent0bf36d59cd9dd874a3c5df41cdaa8785bedb9c91 (diff)
downloadfreebsd-ports-gnome-7b204cd862262c673532688cce0d41834c9d3624.tar.gz
freebsd-ports-gnome-7b204cd862262c673532688cce0d41834c9d3624.tar.zst
freebsd-ports-gnome-7b204cd862262c673532688cce0d41834c9d3624.zip
Fix a problem where the window position would not be remembered.
Reported by: Alexander Loginov <freebsd@akavia.ru> Obtained from: http://bugzilla.gnome.org/show_bug.cgi?id=536757
Diffstat (limited to 'x11-toolkits/gtk20')
-rw-r--r--x11-toolkits/gtk20/Makefile2
-rw-r--r--x11-toolkits/gtk20/files/patch-gdk_x11_gdkwindow-x11.c31
2 files changed, 32 insertions, 1 deletions
diff --git a/x11-toolkits/gtk20/Makefile b/x11-toolkits/gtk20/Makefile
index e6bde051e963..d5550666f786 100644
--- a/x11-toolkits/gtk20/Makefile
+++ b/x11-toolkits/gtk20/Makefile
@@ -8,7 +8,7 @@
PORTNAME= gtk
PORTVERSION= 2.12.10
-PORTREVISION?= 1
+PORTREVISION?= 2
CATEGORIES= x11-toolkits
MASTER_SITES= ${MASTER_SITE_GNOME:S,%SUBDIR%,sources/gtk+/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/,} \
ftp://ftp.gtk.org/pub/gtk/%SUBDIR%/ \
diff --git a/x11-toolkits/gtk20/files/patch-gdk_x11_gdkwindow-x11.c b/x11-toolkits/gtk20/files/patch-gdk_x11_gdkwindow-x11.c
new file mode 100644
index 000000000000..d9ce8c811ed2
--- /dev/null
+++ b/x11-toolkits/gtk20/files/patch-gdk_x11_gdkwindow-x11.c
@@ -0,0 +1,31 @@
+Index: gdk/x11/gdkwindow-x11.c
+===================================================================
+--- gdk/x11/gdkwindow-x11.c (revision 20280)
++++ gdk/x11/gdkwindow-x11.c (working copy)
+@@ -3412,6 +3412,7 @@
+ Window xwindow;
+ Window xparent;
+ Window root;
++ Window child;
+ Window *children;
+ guchar *data;
+ Window *vroots;
+@@ -3470,13 +3471,15 @@
+ if ((type_return == XA_CARDINAL) && (format_return == 32) &&
+ (nitems_return == 4) && (data))
+ {
+- guint32 *ldata = (guint32 *) data;
++ gulong *ldata = (gulong *) data;
+ got_frame_extents = TRUE;
+
+ /* try to get the real client window geometry */
+ if (XGetGeometry (GDK_DISPLAY_XDISPLAY (display), xwindow,
+- &root, &wx, &wy, &ww, &wh, &wb, &wd))
+- {
++ &root, &wx, &wy, &ww, &wh, &wb, &wd) &&
++ XTranslateCoordinates (GDK_DISPLAY_XDISPLAY (display),
++ xwindow, root, 0, 0, &wx, &wy, &child))
++ {
+ rect->x = wx;
+ rect->y = wy;
+ rect->width = ww;