=== modified file 'src/com/goldencode/p2j/ui/client/gui/driver/swing/SwingMouseHandler.java' --- src/com/goldencode/p2j/ui/client/gui/driver/swing/SwingMouseHandler.java 2016-03-10 21:10:34 +0000 +++ src/com/goldencode/p2j/ui/client/gui/driver/swing/SwingMouseHandler.java 2016-03-10 23:21:01 +0000 @@ -288,7 +288,7 @@ { Widget mouseSource = findMouseSource(e); // if the widget has changed, send EXITED/ENTERED events - if (lastHoveredWidget != null && lastHoveredWidget != mouseSource) + if (lastHoveredWidget != null && !lastHoveredWidget.getActualBounds().contains(e.getX(), e.getY())) { MouseEvent exite = new MouseEvent((Component) e.getSource(), MouseEvent.MOUSE_EXITED, @@ -303,7 +303,11 @@ processAction(lastHoveredWidget, exite); // call this unconditionally, as the widget needs to be notified that it was exit... tc.postMouseEvent(exite, ews.getWindowId(), UiUtils.getWidgetIdAsInt(lastHoveredWidget)); - + lastHoveredWidget = null; + } + if (lastHoveredWidget != mouseSource + && mouseSource!= null && mouseSource.getActualBounds().contains(e.getX(), e.getY())) + { MouseEvent entere = new MouseEvent((Component) e.getSource(), MouseEvent.MOUSE_ENTERED, e.getWhen(),