[Mono-bugs] [Bug 81588][Wis] New - mouse response

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu May 10 16:22:50 EDT 2007


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by les42_1 at hotmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=81588

--- shadow/81588	2007-05-10 16:22:50.000000000 -0400
+++ shadow/81588.tmp.2457	2007-05-10 16:22:50.000000000 -0400
@@ -0,0 +1,49 @@
+Bug#: 81588
+Product: Mono: Class Libraries
+Version: 1.2
+OS: 
+OS Details: centos
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: Windows.Forms
+AssignedTo: toshok at ximian.com                            
+ReportedBy: les42_1 at hotmail.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: mouse response
+
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+Description of Problem:
+In our application, we do vast computations when the mouse moves in a
+window. With the current mono, we get every event that must be handled in
+some manner, whether it is a mouse move or not. This led to extremely slow
+response vs windows. So, from my previous X experience, I remembered a flag
+called PointerMotionHintMask. After some research to remember how it works,
+I made changes to XplatUIX11.cs for implementation. The response is now
+extremely fast and we are able to run the application, in production, on
+linux. 
+
+I have attached the code. If you do a diff, there are three places where I
+made changes for this fix (ignore the SetFocus changes, that's another
+story). There are two places where I added PointerMotionHintMask to a list
+of flags. And, in GetMessage(), I added:
+
+if (xevent.MotionEvent.is_hint != 0)
+{
+    IntPtr root, child;
+    int mask;
+    XQueryPointer (DisplayHandle, xevent.AnyEvent.window, 
+                   out root, out child,
+                   out xevent.MotionEvent.x_root, 
+                   out xevent.MotionEvent.y_root,
+                   out xevent.MotionEvent.x,      
+                   out xevent.MotionEvent.y, out mask);
+}
+
+Thanks,
+Les


More information about the mono-bugs mailing list