From 632989e031f557f4f4793662e6a9c4638c5f5b25 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Fri, 13 Jan 2017 12:09:22 +1300 Subject: [PATCH] Fix progress messages not displaying in HMD --- scripts/system/marketplaces/marketplaces.js | 34 ++++++++++++--------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/scripts/system/marketplaces/marketplaces.js b/scripts/system/marketplaces/marketplaces.js index ad4edce927..cea22d50e0 100644 --- a/scripts/system/marketplaces/marketplaces.js +++ b/scripts/system/marketplaces/marketplaces.js @@ -48,13 +48,25 @@ var marketplaceWindow = new OverlayWebWindow({ }); marketplaceWindow.setScriptURL(MARKETPLACES_INJECT_SCRIPT_URL); -marketplaceWindow.webEventReceived.connect(function (message) { +function onWebEventReceived(message) { if (message === GOTO_DIRECTORY) { - marketplaceWindow.setURL(MARKETPLACES_URL); + var url = MARKETPLACES_URL; + if (marketplaceWindow.visible) { + marketplaceWindow.setURL(url); + } + if (marketplaceWebTablet) { + marketplaceWebTablet.setURL(url); + } return; } if (message === QUERY_CAN_WRITE_ASSETS) { - marketplaceWindow.emitScriptEvent(CAN_WRITE_ASSETS + " " + Entities.canWriteAssets()); + var canWriteAssets = CAN_WRITE_ASSETS + " " + Entities.canWriteAssets(); + if (marketplaceWindow.visible) { + marketplaceWindow.emitScriptEvent(canWriteAssets); + } + if (marketplaceWebTablet) { + marketplaceWebTablet.getOverlayObject().emitScriptEvent(canWriteAssets); + } return; } if (message === WARN_USER_NO_PERMISSIONS) { @@ -87,7 +99,9 @@ marketplaceWindow.webEventReceived.connect(function (message) { if (message === CLARA_IO_CANCELLED_DOWNLOAD) { isDownloadBeingCancelled = false; } -}); +} + +marketplaceWindow.webEventReceived.connect(onWebEventReceived); function onMessageBoxClosed(id, button) { if (id === messageBox && button === CANCEL_BUTTON) { @@ -122,17 +136,7 @@ function showMarketplace() { marketplaceWebTablet = new WebTablet(MARKETPLACE_URL_INITIAL, null, null, true); Settings.setValue(persistenceKey, marketplaceWebTablet.pickle()); marketplaceWebTablet.setScriptURL(MARKETPLACES_INJECT_SCRIPT_URL); - marketplaceWebTablet.getOverlayObject().webEventReceived.connect(function (message) { - if (message === GOTO_DIRECTORY) { - marketplaceWebTablet.setURL(MARKETPLACES_URL); - } - if (message === QUERY_CAN_WRITE_ASSETS) { - marketplaceWebTablet.getOverlayObject().emitScriptEvent(CAN_WRITE_ASSETS + " " + Entities.canWriteAssets()); - } - if (message === WARN_USER_NO_PERMISSIONS) { - Window.alert(NO_PERMISSIONS_ERROR_MESSAGE); - } - }); + marketplaceWebTablet.getOverlayObject().webEventReceived.connect(onWebEventReceived); } else { marketplaceWindow.setURL(MARKETPLACE_URL_INITIAL); marketplaceWindow.setVisible(true);