Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=85534fa5017933f630471f2a581bf9631379e117

commit 85534fa5017933f630471f2a581bf9631379e117
Author: Priyank <[EMAIL PROTECTED]>
Date:   Wed Oct 3 01:19:22 2007 +0530

xfwm4-4.4.1-2-i686
* brrr forgot the patch

diff --git a/source/xfce4/xfwm4/xfwm4-gtk212.patch 
b/source/xfce4/xfwm4/xfwm4-gtk212.patch
new file mode 100644
index 0000000..c56bfbb
--- /dev/null
+++ b/source/xfce4/xfwm4/xfwm4-gtk212.patch
@@ -0,0 +1,157 @@
+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
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to