stop compressing enter/leave events.. this might be responsible for the focu sfuckups?
Dana Jansens danakj@orodu.net
1 files changed,
7 insertions(+),
5 deletions(-)
jump to
M
otk/eventdispatcher.cc
→
otk/eventdispatcher.cc
@@ -45,8 +45,8 @@ void OtkEventDispatcher::dispatchEvents(void)
{ XEvent e; Window focus = None, unfocus = None; - Window enter = None, leave = None; - Window enter_root = None, leave_root = None; +/* Window enter = None, leave = None; + Window enter_root = None, leave_root = None;*/ while (XPending(OBDisplay::display)) { XNextEvent(OBDisplay::display, &e);@@ -112,7 +112,8 @@ if (e.xfocus.detail == NotifyNonlinear) {
unfocus = e.xfocus.window; focus = None; //printf("FocusOut focus=%lx unfocus=%lx\n", focus, unfocus); - } + } + /* // madly compress all crossing events } else if (e.type == EnterNotify) { // any other types are not ones we're interested in@@ -129,6 +130,7 @@ leave = e.xcrossing.window;
leave_root = e.xcrossing.root; //printf("Leave enter=%lx leave=%lx\n", enter, leave); } + */ } else { // normal events dispatch(win, e);@@ -160,7 +162,7 @@ }
_focus = focus; } - + /* if (leave != None) { _crossing_e.xcrossing.type = LeaveNotify; _crossing_e.xcrossing.window = leave;@@ -172,7 +174,7 @@ _crossing_e.xcrossing.type = EnterNotify;
_crossing_e.xcrossing.window = enter; _crossing_e.xcrossing.root = enter_root; dispatch(_crossing_e.xcrossing.window, _crossing_e); - } + }*/ } void OtkEventDispatcher::dispatch(Window win, const XEvent &e) {