diff options
Diffstat (limited to 'plugingui/eventhandler.cc')
| -rw-r--r-- | plugingui/eventhandler.cc | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/plugingui/eventhandler.cc b/plugingui/eventhandler.cc index 1cf67fc..050c2e1 100644 --- a/plugingui/eventhandler.cc +++ b/plugingui/eventhandler.cc @@ -447,6 +447,15 @@ void GUI::EventHandler::processEvents(Window *window)          MouseMoveEvent *me = (MouseMoveEvent*)event;          Widget *w = window->find(me->x, me->y); +        Widget *oldw = window->mouseFocus(); +        if(w != oldw) { +          // Send focus leave to oldw +          if(oldw) oldw->mouseLeaveEvent(); +          // Send focus enter to w +          if(w) w->mouseEnterEvent(); + +          window->setMouseFocus(w); +        }          if(window->buttonDownFocus()) {            Widget *w = window->buttonDownFocus(); | 
