From 109ac26c5b6d319acbf6cd7d8aafba6dc7f2e9e4 Mon Sep 17 00:00:00 2001 From: Hristo Hristov Date: Fri, 7 Oct 2016 13:02:58 +0300 Subject: [PATCH] Fix memory leak in action-bar for android. (#2854) --- tns-core-modules/ui/action-bar/action-bar.android.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tns-core-modules/ui/action-bar/action-bar.android.ts b/tns-core-modules/ui/action-bar/action-bar.android.ts index 59b397ccf..fe5d63943 100644 --- a/tns-core-modules/ui/action-bar/action-bar.android.ts +++ b/tns-core-modules/ui/action-bar/action-bar.android.ts @@ -194,7 +194,7 @@ export class ActionBar extends common.ActionBar { } public _updateNavigationButton() { - var navButton = this.navigationButton; + let navButton = this.navigationButton; if (navButton && common.isVisible(navButton)) { if (navButton.android.systemIcon) { // Try to look in the system resources. @@ -208,10 +208,12 @@ export class ActionBar extends common.ActionBar { this._toolbar.setNavigationIcon(drawableOrId); } + let navBtn = new WeakRef(navButton); this._toolbar.setNavigationOnClickListener(new android.view.View.OnClickListener({ onClick: function (v) { - if (navButton) { - navButton._raiseTap(); + let owner = navBtn.get(); + if (owner) { + owner._raiseTap(); } } }));