diff options
author | Christoph Mende <angelos@gentoo.org> | 2007-09-21 19:34:23 +0000 |
---|---|---|
committer | Christoph Mende <angelos@gentoo.org> | 2007-09-21 19:34:23 +0000 |
commit | 274b70acbc6589a1b1d2ca447a4dd6bf755ea13c (patch) | |
tree | a339d3051123d45b3dc8d938cb772d7d4aa2eed6 /xfce-base/xfwm4 | |
parent | Stable on amd64 wrt bug #190900. (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | xfce-base/xfwm4/files/digest-xfwm4-4.4.1-r1 | 3 | ||||
-rw-r--r-- | xfce-base/xfwm4/files/xfwm4-gtk212.patch | 157 | ||||
-rw-r--r-- | xfce-base/xfwm4/xfwm4-4.4.1-r1.ebuild | 50 |
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 |