From 7d9c6223fe444e48b658ba7d954946683a47e0ee Mon Sep 17 00:00:00 2001 From: Norikatsu Shigemura Date: Wed, 21 Jan 2004 17:13:56 +0000 Subject: o Fix flickering problem with GTK2. o Bump PORTREVISION acrodingly. PR: ports/61661 Submitted by: Palle Girgensohn Obtained from: http://www.monkey.org/openbsd/archive/ports/0308/msg00111.html --- x11-wm/windowmaker/Makefile | 2 +- x11-wm/windowmaker/files/patch-src::actions.c | 26 +++++++++++++++++++++++++ x11-wm/windowmaker/files/patch-src::event.c | 11 +++++++++++ x11-wm/windowmaker/files/patch-src::workspace.c | 19 ++++++++++++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 x11-wm/windowmaker/files/patch-src::actions.c create mode 100644 x11-wm/windowmaker/files/patch-src::event.c create mode 100644 x11-wm/windowmaker/files/patch-src::workspace.c (limited to 'x11-wm') diff --git a/x11-wm/windowmaker/Makefile b/x11-wm/windowmaker/Makefile index 10530fc5cda7..db43f07071ab 100644 --- a/x11-wm/windowmaker/Makefile +++ b/x11-wm/windowmaker/Makefile @@ -7,7 +7,7 @@ PORTNAME= windowmaker PORTVERSION= 0.80.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= x11-wm windowmaker MASTER_SITES= ${MASTER_SITE_WINDOWMAKER} MASTER_SITE_SUBDIR= source/release diff --git a/x11-wm/windowmaker/files/patch-src::actions.c b/x11-wm/windowmaker/files/patch-src::actions.c new file mode 100644 index 000000000000..3636b60ef49b --- /dev/null +++ b/x11-wm/windowmaker/files/patch-src::actions.c @@ -0,0 +1,26 @@ +--- src/actions.c.orig Tue Jul 2 09:30:25 2002 ++++ src/actions.c Thu Jan 22 01:45:57 2004 +@@ -144,14 +144,22 @@ wSetFocusTo(WScreen *scr, WWindow *wwin + old_scr=scr; + old_focused=old_scr->focused_window; + ++ /* ++ * Safeguard: make sure the timestamp is monotonically increasing ++ * (very unlikely that this will be needed, still a safeguard) ++ */ ++ if (timestamp <= LastFocusChange) ++ timestamp = LastFocusChange + 1; ++ ++ + LastFocusChange = timestamp; + + /* + * This is a hack, because XSetInputFocus() should have a proper + * timestamp instead of CurrentTime but it seems that some times + * clients will not receive focus properly that way. ++ */ + if (ignoreTimestamp) +-*/ + timestamp = CurrentTime; + + if (old_focused) diff --git a/x11-wm/windowmaker/files/patch-src::event.c b/x11-wm/windowmaker/files/patch-src::event.c new file mode 100644 index 000000000000..9285d2a61f03 --- /dev/null +++ b/x11-wm/windowmaker/files/patch-src::event.c @@ -0,0 +1,11 @@ +--- src/event.c.orig Tue Jan 8 22:45:13 2002 ++++ src/event.c Thu Jan 22 01:46:24 2004 +@@ -402,8 +402,6 @@ handleDeadProcess(void *foo) + static void + saveTimestamp(XEvent *event) + { +- LastTimestamp = CurrentTime; +- + switch (event->type) { + case ButtonRelease: + case ButtonPress: diff --git a/x11-wm/windowmaker/files/patch-src::workspace.c b/x11-wm/windowmaker/files/patch-src::workspace.c new file mode 100644 index 000000000000..3aba4c7baaf3 --- /dev/null +++ b/x11-wm/windowmaker/files/patch-src::workspace.c @@ -0,0 +1,19 @@ +--- src/workspace.c.orig Tue Jan 8 22:45:33 2002 ++++ src/workspace.c Thu Jan 22 01:47:49 2004 +@@ -574,10 +574,12 @@ wWorkspaceForceChange(WScreen *scr, int + &foo, &foo, &foo, &foo, &mask)) { + tmp = wWindowFor(win); + } +- if (!tmp && wPreferences.focus_mode == WKF_SLOPPY) { +- wSetFocusTo(scr, foc); +- } else { +- wSetFocusTo(scr, tmp); ++ if (!tmp) { ++ if (wPreferences.focus_mode == WKF_SLOPPY) { ++ wSetFocusTo(scr, foc); ++ } else { ++ wSetFocusTo(scr, tmp); ++ } + } + } + } -- cgit v1.2.3