diff --git a/libraries/script-engine/src/TabletScriptingInterface.cpp b/libraries/script-engine/src/TabletScriptingInterface.cpp index 944da0aa8d..1a028dd0a0 100644 --- a/libraries/script-engine/src/TabletScriptingInterface.cpp +++ b/libraries/script-engine/src/TabletScriptingInterface.cpp @@ -204,7 +204,7 @@ void TabletProxy::gotoMenuScreen() { if (_qmlTabletRoot) { if (_state != State::Menu) { auto loader = _qmlTabletRoot->findChild("loader"); - QObject::connect(loader, SIGNAL(loaded()), this, SLOT(addButtonsToMenuScreen())); + QObject::connect(loader, SIGNAL(loaded()), this, SLOT(addButtonsToMenuScreen()), Qt::DirectConnection); QMetaObject::invokeMethod(_qmlTabletRoot, "loadSource", Q_ARG(const QVariant&, QVariant(VRMENU_SOURCE_URL))); _state = State::Menu; } @@ -215,7 +215,7 @@ void TabletProxy::gotoHomeScreen() { if (_qmlTabletRoot) { if (_state != State::Home) { auto loader = _qmlTabletRoot->findChild("loader"); - QObject::connect(loader, SIGNAL(loaded()), this, SLOT(addButtonsToHomeScreen())); + QObject::connect(loader, SIGNAL(loaded()), this, SLOT(addButtonsToHomeScreen()), Qt::DirectConnection); QMetaObject::invokeMethod(_qmlTabletRoot, "loadSource", Q_ARG(const QVariant&, QVariant(TABLET_SOURCE_URL))); QMetaObject::invokeMethod(_qmlTabletRoot, "playButtonClickSound"); _state = State::Home; diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 4c542e9867..becf2d54dd 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -196,6 +196,7 @@ var toolBar = (function () { function cleanup() { that.setActive(false); + tablet.removeButton(activeButton); } function addButton(name, image, handler) { diff --git a/scripts/system/tablet-ui/tabletUI.js b/scripts/system/tablet-ui/tabletUI.js index 7011aa4cab..003cdc31e0 100644 --- a/scripts/system/tablet-ui/tabletUI.js +++ b/scripts/system/tablet-ui/tabletUI.js @@ -104,4 +104,10 @@ } return micLevel; } + + Script.scriptEnding.connect(function () { + Entities.deleteEntity(HMD.tabletID); + HMD.tabletID = null; + HDM.homeButtonID = null; + }); }()); // END LOCAL_SCOPE