diff options
author | martti <martti@pkgsrc.org> | 2007-10-03 10:24:42 +0000 |
---|---|---|
committer | martti <martti@pkgsrc.org> | 2007-10-03 10:24:42 +0000 |
commit | 4422585dd0111913c23356b93dfad9fec64af980 (patch) | |
tree | fbecdd2d91d1c4cd675d12a0d51bdb24c4ed5fdf | |
parent | 2bce8d537c07eff1b5a2cfb0527d03620165789d (diff) | |
download | pkgsrc-4422585dd0111913c23356b93dfad9fec64af980.tar.gz |
Updated wm/xfce4-wm to 4.4.1nb1
Fix keyboard/mouse problems with gtk2 2.11 and later.
http://bugzilla.xfce.org/show_bug.cgi?id=3346
-rw-r--r-- | wm/xfce4-wm/Makefile | 3 | ||||
-rw-r--r-- | wm/xfce4-wm/buildlink3.mk | 4 | ||||
-rw-r--r-- | wm/xfce4-wm/distinfo | 3 | ||||
-rw-r--r-- | wm/xfce4-wm/patches/patch-ab | 159 |
4 files changed, 165 insertions, 4 deletions
diff --git a/wm/xfce4-wm/Makefile b/wm/xfce4-wm/Makefile index d921ca1e4f6..8adefa0a108 100644 --- a/wm/xfce4-wm/Makefile +++ b/wm/xfce4-wm/Makefile @@ -1,9 +1,10 @@ -# $NetBSD: Makefile,v 1.23 2007/04/18 22:33:21 drochner Exp $ +# $NetBSD: Makefile,v 1.24 2007/10/03 10:24:42 martti Exp $ .include "../../meta-pkgs/xfce4/Makefile.common" DISTNAME= xfwm4-${XFCE4_VERSION} PKGNAME= xfce4-wm-${XFCE4_VERSION} +PKGREVISION= 1 CATEGORIES= wm COMMENT= Xfce window manager diff --git a/wm/xfce4-wm/buildlink3.mk b/wm/xfce4-wm/buildlink3.mk index 4d2e8283562..515b143a448 100644 --- a/wm/xfce4-wm/buildlink3.mk +++ b/wm/xfce4-wm/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.21 2007/04/12 09:55:20 martti Exp $ +# $NetBSD: buildlink3.mk,v 1.22 2007/10/03 10:24:42 martti Exp $ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ XFCE4_WM_BUILDLINK3_MK:= ${XFCE4_WM_BUILDLINK3_MK}+ @@ -12,7 +12,7 @@ BUILDLINK_PACKAGES+= xfce4-wm BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}xfce4-wm .if ${XFCE4_WM_BUILDLINK3_MK} == "+" -BUILDLINK_API_DEPENDS.xfce4-wm+= xfce4-wm>=4.4.1 +BUILDLINK_API_DEPENDS.xfce4-wm+= xfce4-wm>=4.4.1nb1 BUILDLINK_PKGSRCDIR.xfce4-wm?= ../../wm/xfce4-wm .endif # XFCE4_WM_BUILDLINK3_MK diff --git a/wm/xfce4-wm/distinfo b/wm/xfce4-wm/distinfo index 2f3feee4d99..6eef32f7b5c 100644 --- a/wm/xfce4-wm/distinfo +++ b/wm/xfce4-wm/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.16 2007/04/12 09:55:20 martti Exp $ +$NetBSD: distinfo,v 1.17 2007/10/03 10:24:42 martti Exp $ SHA1 (xfwm4-4.4.1.tar.bz2) = 1f1c0cb374941bce2bd59eedd8d9bd05591c65a0 RMD160 (xfwm4-4.4.1.tar.bz2) = 6bd28775d3625b799f5443d3ba28dafb75215bb8 Size (xfwm4-4.4.1.tar.bz2) = 1645973 bytes SHA1 (patch-aa) = adca693a9a740544416fb3dcf28e4aa0b24c5488 +SHA1 (patch-ab) = c98996a922e4808662f7c7a81fd4786f7ef385ce diff --git a/wm/xfce4-wm/patches/patch-ab b/wm/xfce4-wm/patches/patch-ab new file mode 100644 index 00000000000..9e6b1da9e62 --- /dev/null +++ b/wm/xfce4-wm/patches/patch-ab @@ -0,0 +1,159 @@ +$NetBSD: patch-ab,v 1.1 2007/10/03 10:24:42 martti Exp $ + +Index: src/display.c +=================================================================== +--- src/display.c (revision 25820) ++++ src/display.c (working copy) +@@ -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 25820) ++++ src/display.h (working copy) +@@ -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 25820) ++++ src/client.c (working copy) +@@ -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 25820) ++++ src/hints.c (working copy) +@@ -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 25820) ++++ src/hints.h (working copy) +@@ -269,6 +269,7 @@ + int, + Window , + Window); ++void updateXserverTime (DisplayInfo *); + Time getXServerTime (DisplayInfo *); + + #ifdef ENABLE_KDE_SYSTRAY_PROXY |