From c9a536f1b5d48ee37d19740290d7df0db939c1af Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Fri, 8 Feb 2019 15:08:47 +0100 Subject: [PATCH] MOBILE-2861 core: Fix error when dismissing a loading modal twice --- src/providers/utils/dom.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/providers/utils/dom.ts b/src/providers/utils/dom.ts index d026def15..bf303e859 100644 --- a/src/providers/utils/dom.ts +++ b/src/providers/utils/dom.ts @@ -1160,8 +1160,21 @@ export class CoreDomUtilsProvider { } const loader = this.loadingCtrl.create({ - content: text - }); + content: text + }), + dismiss = loader.dismiss.bind(loader); + let isDismissed = false; + + // Override dismiss to prevent dismissing a modal twice (it can throw an error and cause problems). + loader.dismiss = (data, role, navOptions): Promise => { + if (isDismissed) { + return Promise.resolve(); + } + + isDismissed = true; + + return dismiss(data, role, navOptions); + }; loader.present();