Hey Ivanz,
The attached patch reverts a check in XplatUIX11.GetMessage method,
specifically handling the X11 EnterNotify message generated when
clicking a control (rev 101225).
Basically when a control is clicked, EnterNotify events are generated
for the container form and the control being clicked. Usually when we
get this event we generate a WM_MOUSE_ENTER message, but in this case we
don't need it, since it's not real pointer motion.
That's why, when the EnterNotify event tell us that it's a not a real
motion event, we have to ignore it, no matter the value of the
window/hwnd (right now, when clicking any control, MouseEnter/MouseMove
events are generated for the containing form, which is obviously wrong).
Hopefully that was clear ;-D
Carlos.
Index: XplatUIX11.cs
===================================================================
--- XplatUIX11.cs (revisión: 110030)
+++ XplatUIX11.cs (copia de trabajo)
@@ -4009,7 +4009,7 @@
if (!hwnd.Enabled) {
goto ProcessNextMessage;
}
- if (xevent.CrossingEvent.mode != NotifyMode.NotifyNormal && xevent.CrossingEvent.window != hwnd.client_window) {
+ if (xevent.CrossingEvent.mode != NotifyMode.NotifyNormal) {
goto ProcessNextMessage;
}
msg.message = Msg.WM_MOUSE_ENTER;
_______________________________________________
Mono-winforms-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-winforms-list