[Mono-bugs] [Bug 79667][Nor] Changed - MessageBox focus issues

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Oct 20 15:36:18 EDT 2006

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 shana.ufie at gmail.com.


--- shadow/79667	2006-10-16 12:26:04.000000000 -0400
+++ shadow/79667.tmp.11801	2006-10-20 15:36:18.000000000 -0400
@@ -12,12 +12,13 @@
 ReportedBy: kuba.brecka at gmail.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: 1_2
 Summary: MessageBox focus issues
+BugsThisDependsOn: 79384
 1. bug: You cannot click the messagebox with a [SPACE] key. Obviously the
 OK button in the messagebox doesn't have focus.
 2. bug: You cannot close the messagebox by hitting the [ESCAPE] key.
 3. bug: After clicking the OK button (either with the mouse or the Enter
 key) or closing the messagebox by clicking the X symbol in the top right
@@ -54,6 +55,39 @@
 All that happens on Windows XP SP1 using Mono 1.1.18. Don't know if it
 is a Linux issue too.
 ------- Additional Comments From toshok at ximian.com  2006-10-16 12:25 -------
 On linux #1 and #3 work.  #2 doesn't.
+------- Additional Comments From shana.ufie at gmail.com  2006-10-20 15:36 -------
+A few notes on this so I won't forget...
+#1 is a problem related to the default focus of a control inside a
+container, see bug #79384.
+#3 is a few things:
+ - the messagebox form is getting created and added to the
+Controlcontrols list and queued to the toplevels list, but when the
+user clicks Ok, the MessageBox is getting hidden and dequeued, but not
+getting removed from the Control.controls list. This causes
+MessageBoxes to pile up on the Control.controls list, so when the
+activation messages are sent, these get the last activate messages
+after the main app form
+- the Application.MWFThread.Current.Context.MainForm is getting
+changed when the MessageBox is shown, but it's not getting reset back
+to the main app form when the MessageBox is closed, so that messes the
+focus stuff
+- The MessageBox is not really getting destroyed, it's just getting
+hidden, though it's never recovered back
+- According to the msdn docs for EnableWindow:
+"if an application is displaying a modeless dialog box and has
+disabled its main window, the application must enable the main window
+before destroying the dialog box. Otherwise, another window will
+receive the keyboard focus and be activated"
+This last point is the main problem once the others are solved.

More information about the mono-bugs mailing list