[Mono-bugs] [Bug 540895] New: MouseEnter and MouseLeave inconsistency between Windows and Linux

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Sep 22 00:39:51 EDT 2009


           Summary: MouseEnter and MouseLeave inconsistency between
                    Windows and Linux
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x
          Platform: Other
        OS/Version: Ubuntu
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: skaterkickflip at hotmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---

Created an attachment (id=319188)
 --> (http://bugzilla.novell.com/attachment.cgi?id=319188)
The test case visual studio files

Description of Problem:
In MS.NET, clicking on a control that causes a modal form/dialog/window to show
also fires the MouseLeave event of the clicked control. If the cursor is
pointing at this control when the dialog is closed, the MouseEnter event then
fires as well. In mono for windows, the same behavior is observed in both
cases; however, in ubuntu, these MouseEnter and MouseLeave events do not seem
to fire.

Steps to reproduce the problem:
1. Create an MS.NET C# application using visual studio. We need two forms, say
Form1 and Form2. Form2 will remain blank and can be replaced by a MessageBox
but it's easier to explain this way. Form1 has a label, Label1. Initialize
Label1's ForeColor to Black. Have the MouseEnter event of Label1 change its
ForeColor to Red and the MouseLeave event change it back to Black. In the Click
event of Label1, show Form2 by doing "new Form2.showDialog()".
2. Run the application and click on the label. It should change color to Red
when the cursor enters it but changes back to Black once clicked, because the
dialog caused MouseLeave to fire on the label. Move the modal form (the dialog)
out of the way if needed in order to see the color. Now place the cursor over
the label and close the modal form with the keyboard. Observe the color once
again, it should now change back to Red due to a MouseEnter.
3. Run the application using mono for windows, the results should be the same.
4. Run the application using mono for ubuntu. Inside Form1, the label changes
color as expected but clicking (causing the dialog to show) does not cause the
Red to change back to Black, implying that the MouseLeave even did not fire.
(Note: The MouseEnter event also does not seem to fire when closing the dialog
with the cursor over the label; however, in this test case, the label is
already Red here)

Actual Results:
In ubuntu, the label does not change color when expected. The MouseEnter and
MouseLeave events did not fire?

Expected Results:
The MouseEnter and MouseLeave events fire as expected, causing the label to
change color.

How often does this happen?

Additional Information:
Windows software versions used: Windows XP, Visual Studio 2005, Mono version Build 3
Linux software versions used: Ubuntu 9.04, and the output of "mono --version"
Mono JIT compiler version (Debian
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  x86
        Disabled:      none

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the mono-bugs mailing list