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