when a window focused that was the last focused already (this happens from grabs), dont unfocus it, just let it be
This commit is contained in:
parent
de07cce07a
commit
83ff31f8bf
1 changed files with 4 additions and 4 deletions
|
@ -132,22 +132,22 @@ void OtkEventDispatcher::dispatchEvents(void)
|
||||||
|
|
||||||
if (unfocus != None) {
|
if (unfocus != None) {
|
||||||
// the last focus event was an FocusOut, so where the hell is the focus at?
|
// the last focus event was an FocusOut, so where the hell is the focus at?
|
||||||
// printf("UNFOCUSING: %lx\n", unfocus);
|
//printf("UNFOCUSING: %lx\n", unfocus);
|
||||||
_focus_e.xfocus.type = FocusOut;
|
_focus_e.xfocus.type = FocusOut;
|
||||||
_focus_e.xfocus.window = unfocus;
|
_focus_e.xfocus.window = unfocus;
|
||||||
dispatch(_focus_e);
|
dispatch(_focus_e);
|
||||||
|
|
||||||
_focus = None;
|
_focus = None;
|
||||||
} else if (focus != None) {
|
} else if (focus != None && focus != _focus) {
|
||||||
// the last focus event was a FocusIn, so unfocus what used to be focus and
|
// the last focus event was a FocusIn, so unfocus what used to be focus and
|
||||||
// focus this new target
|
// focus this new target
|
||||||
// printf("FOCUSING: %lx\n", focus);
|
//printf("FOCUSING: %lx\n", focus);
|
||||||
_focus_e.xfocus.type = FocusIn;
|
_focus_e.xfocus.type = FocusIn;
|
||||||
_focus_e.xfocus.window = focus;
|
_focus_e.xfocus.window = focus;
|
||||||
dispatch(_focus_e);
|
dispatch(_focus_e);
|
||||||
|
|
||||||
if (_focus != None) {
|
if (_focus != None) {
|
||||||
// printf("UNFOCUSING: %lx\n", _focus);
|
//printf("UNFOCUSING: %lx\n", _focus);
|
||||||
_focus_e.xfocus.type = FocusOut;
|
_focus_e.xfocus.type = FocusOut;
|
||||||
_focus_e.xfocus.window = _focus;
|
_focus_e.xfocus.window = _focus;
|
||||||
dispatch(_focus_e);
|
dispatch(_focus_e);
|
||||||
|
|
Loading…
Reference in a new issue