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 [EMAIL PROTECTED]

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

--- shadow/80415        2006-12-31 05:36:31.000000000 -0500
+++ shadow/80415.tmp.9050       2006-12-31 05:36:31.000000000 -0500
@@ -0,0 +1,68 @@
+Bug#: 80415
+Product: Mono: Class Libraries
+Version: 1.2
+OS: 
+OS Details: Kubuntu Linux Amd64
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Major
+Component: Windows.Forms
+AssignedTo: [EMAIL PROTECTED]                            
+ReportedBy: [EMAIL PROTECTED]               
+QAContact: [EMAIL PROTECTED]
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: [PATCH] Form.Closing event cannot be canceld for non modal forms
+
+Description of Problem:
+
+The behaviour of the Form.Closing event for not modal forms is incorrect. 
+The cancel event cannot be canceled for non modal forms. Under .NET CLR 
+the cancel event can be canceled for non modal forms.
+
+That attached patch fixes the problem
+
+
+Steps to reproduce the problem:
+1. Create a form and register a CancelEventHandler to the Form.Closing 
+event
+2. in the event handler cancel the CancelEventArg e: e.Cancel = true
+3. Open the form and try to close it with a click on the X in the 
+titlebar. -> The form is still closed, the event is not canceled.
+
+Actual Results:
+The event is not canceled, the form is closed.
+
+Expected Results:
+The event should be canceled, the form should stay open.
+
+
+How often does this happen? 
+Alyways.
+
+Additional Information:
+
+The bug is fixed by the attached patch against the latest SVN trunk. The 
+patch has to be applied to the file Form.cs in the directory 
+mcs/class/Managed.Windows.Forms/System.Windows.Forms .
+
+
+Index: Form.cs
+===================================================================
+--- Form.cs     (Revision 70224)
++++ Form.cs     (Arbeitskopie)
+@@ -1879,8 +1879,10 @@
+                                                if (!args.Cancel) {
+                                                        OnClosed 
+(EventArgs.Empty);
+                                                        closing = true;
++                                                       Dispose ();
++                                               } else {
++                                                       closing = false;
+                                                }
+-                                               Dispose ();
+                                        } else {
+                                                OnClosing (args);
+                                                if (args.Cancel) {
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to