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

Reply via email to