CVSROOT:        /sources/dotgnu-pnet
Module name:    pnetlib
Changes by:     Heiko Weiss <brubbel>   06/10/05 12:37:58

Modified files:
        .              : ChangeLog 
        System.Windows.Forms: Control.cs 

Log message:
        handle exception in ProcessInvokeEvent.
        if an exception occurs in invoking the delegate be sure to set the 
        async result to complete, or app could hang and no more events are 
        invoked.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnetlib/ChangeLog?cvsroot=dotgnu-pnet&r1=1.2438&r2=1.2439
http://cvs.savannah.gnu.org/viewcvs/pnetlib/System.Windows.Forms/Control.cs?cvsroot=dotgnu-pnet&r1=1.124&r2=1.125

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/pnetlib/ChangeLog,v
retrieving revision 1.2438
retrieving revision 1.2439
diff -u -b -r1.2438 -r1.2439
--- ChangeLog   25 Sep 2006 08:44:08 -0000      1.2438
+++ ChangeLog   5 Oct 2006 12:37:58 -0000       1.2439
@@ -1,3 +1,11 @@
+2006-10-05  Heiko Weiss <[EMAIL PROTECTED]>
+
+       * System.Windows.Forms/Control.cs: handle exception in 
+       ProcessInvokeEvent.
+       if an exception occurs in invoking the delegate be sure to set the 
+       async result to complete, or app could hang and no more events are 
+       invoked.
+
 2006-09-25  Heiko Weiss <[EMAIL PROTECTED]>
 
        * System.Drawing/Graphics.cs: allow rotation of arcs and ellipses

Index: System.Windows.Forms/Control.cs
===================================================================
RCS file: /sources/dotgnu-pnet/pnetlib/System.Windows.Forms/Control.cs,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -b -r1.124 -r1.125
--- System.Windows.Forms/Control.cs     8 Jun 2006 13:57:55 -0000       1.124
+++ System.Windows.Forms/Control.cs     5 Oct 2006 12:37:58 -0000       1.125
@@ -348,8 +348,13 @@
                        if( null == iParm ) break;      // no more items
                
                        Delegate dg = iParm.method;
-                       Object ro = dg.DynamicInvoke(iParm.args);
        
+                       Object ro = null;
+                       
+                       try {
+                               ro = dg.DynamicInvoke(iParm.args);
+                       }
+                       finally {
                        InvokeAsyncResult ar = iParm.wr;
                        
                        if( ar != null )
@@ -359,6 +364,7 @@
                        }
                }
        }
+       }
 
        [TODO]
        [EditorBrowsable(EditorBrowsableState.Advanced)]


_______________________________________________
dotgnu-pnet-commits mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/dotgnu-pnet-commits

Reply via email to