Fix the "periodic focus bug" described at:
c91bb1ba13
From upstream git via Bryan Linton (bl AT shoshoni DOT info)
This commit is contained in:
parent
7d63e0ee93
commit
8e4836198e
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.81 2011/09/16 12:29:17 espie Exp $
|
||||
# $OpenBSD: Makefile,v 1.82 2012/03/17 17:32:28 dcoppa Exp $
|
||||
|
||||
COMMENT-main= window manager that emulates NEXTSTEP(tm)
|
||||
COMMENT-lang= language subpackage for Window Maker
|
||||
@ -6,7 +6,7 @@ COMMENT-lang= language subpackage for Window Maker
|
||||
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
|
||||
|
38
x11/windowmaker/patches/patch-src_actions_c
Normal file
38
x11/windowmaker/patches/patch-src_actions_c
Normal file
@ -0,0 +1,38 @@
|
||||
$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)
|
Loading…
Reference in New Issue
Block a user