summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Mende <angelos@gentoo.org>2007-09-21 19:34:23 +0000
committerChristoph Mende <angelos@gentoo.org>2007-09-21 19:34:23 +0000
commit274b70acbc6589a1b1d2ca447a4dd6bf755ea13c (patch)
treea339d3051123d45b3dc8d938cb772d7d4aa2eed6 /xfce-base/xfwm4
parentStable on amd64 wrt bug #190900. (diff)
downloadgentoo-2-274b70acbc6589a1b1d2ca447a4dd6bf755ea13c.tar.gz
gentoo-2-274b70acbc6589a1b1d2ca447a4dd6bf755ea13c.tar.bz2
gentoo-2-274b70acbc6589a1b1d2ca447a4dd6bf755ea13c.zip
Fixed freeze with gtk+-2.12
(Portage version: 2.1.3.9)
Diffstat (limited to 'xfce-base/xfwm4')
-rw-r--r--xfce-base/xfwm4/ChangeLog8
-rw-r--r--xfce-base/xfwm4/files/digest-xfwm4-4.4.1-r13
-rw-r--r--xfce-base/xfwm4/files/xfwm4-gtk212.patch157
-rw-r--r--xfce-base/xfwm4/xfwm4-4.4.1-r1.ebuild50
4 files changed, 217 insertions, 1 deletions
diff --git a/xfce-base/xfwm4/ChangeLog b/xfce-base/xfwm4/ChangeLog
index 332ef36098dc..839b16f57885 100644
--- a/xfce-base/xfwm4/ChangeLog
+++ b/xfce-base/xfwm4/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for xfce-base/xfwm4
# Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfwm4/ChangeLog,v 1.103 2007/06/07 18:36:12 drac Exp $
+# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfwm4/ChangeLog,v 1.104 2007/09/21 19:34:22 angelos Exp $
+
+*xfwm4-4.4.1-r1 (21 Sep 2007)
+
+ 21 Sep 2007; Christoph Mende <angelos@gentoo.org>
+ +files/xfwm4-gtk212.patch, +xfwm4-4.4.1-r1.ebuild:
+ Fixed freeze with gtk+-2.12
07 Jun 2007; Samuli Suominen <drac@gentoo.org> xfwm4-4.4.1.ebuild:
Stable on arm.
diff --git a/xfce-base/xfwm4/files/digest-xfwm4-4.4.1-r1 b/xfce-base/xfwm4/files/digest-xfwm4-4.4.1-r1
new file mode 100644
index 000000000000..f6e739481d03
--- /dev/null
+++ b/xfce-base/xfwm4/files/digest-xfwm4-4.4.1-r1
@@ -0,0 +1,3 @@
+MD5 c531edad76c909001acccc02936404f2 xfwm4-4.4.1.tar.bz2 1645973
+RMD160 6bd28775d3625b799f5443d3ba28dafb75215bb8 xfwm4-4.4.1.tar.bz2 1645973
+SHA256 4c7def1dfe4fe723dfd2728187d70b96682896649461507d230906aafffc0475 xfwm4-4.4.1.tar.bz2 1645973
diff --git a/xfce-base/xfwm4/files/xfwm4-gtk212.patch b/xfce-base/xfwm4/files/xfwm4-gtk212.patch
new file mode 100644
index 000000000000..c8112f44995c
--- /dev/null
+++ b/xfce-base/xfwm4/files/xfwm4-gtk212.patch
@@ -0,0 +1,157 @@
+Index: src/display.c
+===================================================================
+--- src/display.c (revision 25830)
++++ src/display.c (revision 25831)
+@@ -178,6 +178,19 @@
+ FALSE, display_info->atoms) != 0);
+ }
+
++static void
++myDisplayCreateTimestampWin (DisplayInfo *display_info)
++{
++ XSetWindowAttributes attributes;
++
++ attributes.event_mask = PropertyChangeMask;
++ attributes.override_redirect = TRUE;
++ display_info->timestamp_win =
++ XCreateWindow (display_info->dpy, DefaultRootWindow (display_info->dpy),
++ -100, -100, 10, 10, 0, 0, CopyFromParent, CopyFromParent,
++ CWEventMask | CWOverrideRedirect, &attributes);
++}
++
+ DisplayInfo *
+ myDisplayInit (GdkDisplay *gdisplay)
+ {
+@@ -309,6 +322,8 @@
+ display->resize_cursor[CORNER_COUNT + SIDE_BOTTOM] =
+ XCreateFontCursor (display->dpy, XC_bottom_side);
+
++ myDisplayCreateTimestampWin (display);
++
+ display->xfilter = NULL;
+ display->screens = NULL;
+ display->clients = NULL;
+@@ -340,6 +355,8 @@
+ display->move_cursor = None;
+ XFreeCursor (display->dpy, display->root_cursor);
+ display->root_cursor = None;
++ XDestroyWindow (display->dpy, display->timestamp_win);
++ display->timestamp_win = None;
+
+ if (display->hostname)
+ {
+Index: src/display.h
+===================================================================
+--- src/display.h (revision 25830)
++++ src/display.h (revision 25831)
+@@ -226,6 +226,7 @@
+ gboolean quit;
+ gboolean reload;
+
++ Window timestamp_win;
+ Cursor busy_cursor;
+ Cursor move_cursor;
+ Cursor root_cursor;
+Index: src/client.c
+===================================================================
+--- src/client.c (revision 25830)
++++ src/client.c (revision 25831)
+@@ -4868,21 +4868,19 @@
+
+ if (passdata.c)
+ {
+- GdkPixbuf *icon;
+-
+ TRACE ("entering cycle loop");
+ passdata.wireframe = wireframeCreate (passdata.c);
+- icon = getAppIcon (display_info, passdata.c->window, 32, 32);
+ passdata.tabwin = tabwinCreate (passdata.c->screen_info->gscr, c,
+ passdata.c, passdata.cycle_range,
+ screen_info->params->cycle_workspaces);
+ eventFilterPush (display_info->xfilter, clientCycleEventFilter, &passdata);
+ gtk_main ();
+ eventFilterPop (display_info->xfilter);
+- wireframeDelete (screen_info, passdata.wireframe);
+ TRACE ("leaving cycle loop");
+ tabwinDestroy (passdata.tabwin);
+ g_free (passdata.tabwin);
++ wireframeDelete (screen_info, passdata.wireframe);
++ updateXserverTime (display_info);
+ }
+
+ if (passdata.c)
+Index: src/hints.c
+===================================================================
+--- src/hints.c (revision 25830)
++++ src/hints.c (revision 25831)
+@@ -1167,27 +1167,18 @@
+ return setXAtomManagerOwner(display_info, display_info->atoms[atom_id], root, w);
+ }
+
+-
+-static Bool
+-checkPropEvent (Display *display, XEvent *xevent, XPointer arg)
++void
++updateXserverTime (DisplayInfo *display_info)
+ {
+- DisplayInfo *display_info;
+ ScreenInfo *screen_info;
++ char c = '\0';
+
+- display_info = (DisplayInfo *) arg;
+- g_return_val_if_fail (display_info, FALSE);
++ g_return_if_fail (display_info);
+
+- screen_info = myDisplayGetDefaultScreen (display_info);
+- g_return_val_if_fail (screen_info, FALSE);
+-
+- if ((xevent->type == PropertyNotify) &&
+- (xevent->xproperty.window == screen_info->xfwm4_win) &&
+- (xevent->xproperty.atom == display_info->atoms[XFWM4_TIMESTAMP_PROP]))
+- {
+- return TRUE;
+- }
+-
+- return FALSE;
++ XChangeProperty (display_info->dpy, display_info->timestamp_win,
++ display_info->atoms[XFWM4_TIMESTAMP_PROP],
++ display_info->atoms[XFWM4_TIMESTAMP_PROP],
++ 8, PropModeReplace, (unsigned char *) &c, 1);
+ }
+
+ Time
+@@ -1196,7 +1187,6 @@
+ ScreenInfo *screen_info;
+ XEvent xevent;
+ Time timestamp;
+- char c = '\0';
+
+ g_return_val_if_fail (display_info, (Time) CurrentTime);
+ timestamp = myDisplayGetCurrentTime (display_info);
+@@ -1206,12 +1196,8 @@
+ g_return_val_if_fail (screen_info, (Time) CurrentTime);
+
+ TRACE ("getXServerTime: Using X server roundtrip");
+- XChangeProperty (display_info->dpy, screen_info->xfwm4_win,
+- display_info->atoms[XFWM4_TIMESTAMP_PROP],
+- display_info->atoms[XFWM4_TIMESTAMP_PROP],
+- 8, PropModeReplace, (unsigned char *) &c, 1);
+- XIfEvent (display_info->dpy, &xevent, checkPropEvent, (XPointer) display_info);
+-
++ updateXserverTime (display_info);
++ XWindowEvent (display_info->dpy, display_info->timestamp_win, PropertyChangeMask, &xevent);
+ timestamp = (Time) myDisplayUpdateCurrentTime (display_info, &xevent);
+ }
+
+Index: src/hints.h
+===================================================================
+--- src/hints.h (revision 25830)
++++ src/hints.h (revision 25831)
+@@ -269,6 +269,7 @@
+ int,
+ Window ,
+ Window);
++void updateXserverTime (DisplayInfo *);
+ Time getXServerTime (DisplayInfo *);
+
+ #ifdef ENABLE_KDE_SYSTRAY_PROXY
diff --git a/xfce-base/xfwm4/xfwm4-4.4.1-r1.ebuild b/xfce-base/xfwm4/xfwm4-4.4.1-r1.ebuild
new file mode 100644
index 000000000000..f9a543967c8d
--- /dev/null
+++ b/xfce-base/xfwm4/xfwm4-4.4.1-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfwm4/xfwm4-4.4.1-r1.ebuild,v 1.1 2007/09/21 19:34:22 angelos Exp $
+
+inherit xfce44 eutils
+
+XFCE_VERSION=4.4.1
+xfce44
+
+DESCRIPTION="Window manager"
+HOMEPAGE="http://www.xfce.org/projects/xfwm4"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+IUSE="debug startup-notification xcomposite"
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXpm
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ xcomposite? ( x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXfixes )
+ >=dev-libs/glib-2.6
+ >=x11-libs/gtk+-2.6
+ x11-libs/pango
+ startup-notification? ( x11-libs/startup-notification )
+ >=xfce-base/libxfce4mcs-${XFCE_MASTER_VERSION}
+ >=xfce-base/libxfce4util-${XFCE_MASTER_VERSION}
+ >=xfce-base/libxfcegui4-${XFCE_MASTER_VERSION}
+ >=xfce-base/xfce-mcs-manager-${XFCE_MASTER_VERSION}"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ dev-util/intltool"
+
+XFCE_CONFIG="${XFCE_CONFIG} --enable-xsync --enable-render --enable-randr \
+ $(use_enable xcomposite compositor)"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${PN}-gtk212.patch"
+}
+
+DOCS="AUTHORS ChangeLog COMPOSITOR NEWS README TODO"
+
+xfce44_core_package