On 2012-03-16 12:08:30, David Coppa <dco...@gmail.com> wrote: > On Mon, Mar 12, 2012 at 1:14 AM, Bryan Linton <b...@shoshoni.info> wrote: > >> Some good news and some bad news to report. I've been able to >> reliably reproduce the double-spawning of xterms I've been seeing. >> The bad news is that it still happens even with a fresh >> configuration directory. >> > > So... What should I do with this update? >
Hmm, my opinion is to hold off and wait for a newer version that will hopefully be more stable than this one. I'm probably going to switch back to 0.92 because of all the new bugs in 0.95.2. The only bug in 0.92 I encountered was the "periodic focus bug". If it were patched away, there would not be any bugs in the older release that affected me. Patch attached. (I think I did this right, someone should probably double-check.) -- Bryan
Index: Makefile =================================================================== RCS file: /cvs/ports/x11/windowmaker/Makefile,v retrieving revision 1.81 diff -u -p -r1.81 Makefile --- Makefile 16 Sep 2011 12:29:17 -0000 1.81 +++ Makefile 17 Mar 2012 01:31:47 -0000 @@ -6,7 +6,7 @@ COMMENT-lang= language subpackage for W V= 0.92.0 DISTNAME= WindowMaker-${V} PKGNAME-main= ${DISTNAME:L} -REVISION-main= 10 +REVISION-main= 11 FULLPKGNAME-lang= windowmaker-lang-${V} REVISION-lang= 2 SHARED_LIBS= wraster 5.0 Index: patches/patch-src_actions_c =================================================================== RCS file: patches/patch-src_actions_c diff -N patches/patch-src_actions_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_actions_c 17 Mar 2012 01:31:47 -0000 @@ -0,0 +1,39 @@ +$OpenBSD$ +# +# This is a backport from WindowMaker cvs which fixes the +# "periodic focus bug" described at: +# http://repo.or.cz/w/wmaker-crm.git/commitdiff/c91bb1ba1360006c568db37438779e525868cf17 +# + +--- src/actions.c.orig Fri Mar 16 17:10:27 2012 ++++ src/actions.c Fri Mar 16 17:11:57 2012 +@@ -78,6 +78,15 @@ static struct { + #define SHADE_STEPS shadePars[(int)wPreferences.shade_speed].steps + #define SHADE_DELAY shadePars[(int)wPreferences.shade_speed].delay + ++static int ++compareTimes(Time t1, Time t2) ++{ ++ Time diff; ++ if (t1 == t2) ++ return 0; ++ diff = t1 - t2; ++ return (diff < 60000) ? 1 : -1; ++} + + /* + *---------------------------------------------------------------------- +@@ -99,11 +108,11 @@ wSetFocusTo(WScreen *scr, WWindow *wwin) + + WWindow *old_focused; + WWindow *focused=scr->focused_window; +- int timestamp=LastTimestamp; ++ Time timestamp=LastTimestamp; + WApplication *oapp=NULL, *napp=NULL; + int wasfocused; + +- if (scr->flags.ignore_focus_events || LastFocusChange > timestamp) ++ if (scr->flags.ignore_focus_events || compareTimes(LastFocusChange, timestamp) > 0) + return; + + if (!old_scr)