Bug 1316004 - Fixed by putting the offending statement in an else block; r?sebastian draft
authorSwaroop Rao <swaroop.rao@gmail.com>
Fri, 11 Nov 2016 21:28:12 -0500
changeset 437975 0a6567dda5371c9f2e6250caba7dd3f98f4c8e5c
parent 437883 a4dbc5dddf4e48ec649d31cfbc7f61c4e590c172
child 439625 2a68f9e36564c01910d118261b436c17816ae677
push id35576
push userbmo:swaroop.rao@gmail.com
push dateSat, 12 Nov 2016 02:30:33 +0000
reviewerssebastian
bugs1316004
milestone52.0a1
Bug 1316004 - Fixed by putting the offending statement in an else block; r?sebastian MozReview-Commit-ID: 6eTso4djFGF
mobile/android/base/java/org/mozilla/gecko/javaaddons/JavaAddonManagerV1.java
--- a/mobile/android/base/java/org/mozilla/gecko/javaaddons/JavaAddonManagerV1.java
+++ b/mobile/android/base/java/org/mozilla/gecko/javaaddons/JavaAddonManagerV1.java
@@ -121,19 +121,20 @@ public class JavaAddonManagerV1 implemen
                     if (callback == null) {
                         throw new IllegalArgumentException("callback must not be null");
                     }
                     final String guid = message.getString("guid");
                     final EventDispatcherImpl dispatcher = mGUIDToDispatcherMap.remove(guid);
                     if (dispatcher == null) {
                         Log.w(LOGTAG, "Attempting to unload addon with unknown associated dispatcher; ignoring.");
                         callback.sendSuccess(false);
+                    } else {
+                        dispatcher.unregisterAllEventListeners();
+                        callback.sendSuccess(true);
                     }
-                    dispatcher.unregisterAllEventListeners();
-                    callback.sendSuccess(true);
                 }
                 break;
             }
         } catch (Exception e) {
             Log.e(LOGTAG, "Exception handling message [" + event + "]", e);
             if (callback != null) {
                 callback.sendError("Exception handling message [" + event + "]: " + e.toString());
             }