Reviewers: robertvawter, mmendez,

Description:
Fixes a bug in the finally handling of doExecuteCommands which
unilaterally squashes exceptions. (Early returns from a finally block
via return statements or exceptions override pending exceptions).


Please review this at http://gwt-code-reviews.appspot.com/699803/show

Affected files:
  M user/src/com/google/gwt/user/client/CommandExecutor.java


Index: user/src/com/google/gwt/user/client/CommandExecutor.java
===================================================================
--- user/src/com/google/gwt/user/client/CommandExecutor.java    (revision 8400)
+++ user/src/com/google/gwt/user/client/CommandExecutor.java    (working copy)
@@ -315,16 +315,10 @@

         } finally {
           wasCanceled = iterator.wasRemoved();
-          if (wasCanceled) {
-            /*
- * The iterator may have already had its remove method called, if it
-             * has, then we need to exit without updating any state
-             */
-            return;
-          }
-
-          if (removeCommand) {
-            iterator.remove();
+          if (!wasCanceled) {
+            if (removeCommand) {
+              iterator.remove();
+            }
           }
         }



--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to