8e4836198e
c91bb1ba13
From upstream git via Bryan Linton (bl AT shoshoni DOT info)
39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
$OpenBSD: patch-src_actions_c,v 1.3 2012/03/17 17:32:28 dcoppa Exp $
|
|
|
|
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)
|