diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index a7a6c8c094..1dde90aeaa 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -244,6 +244,7 @@ bool setupEssentials(int& argc, char** argv) { auto bandwidthRecorder = DependencyManager::set(); auto resouceCacheSharedItems = DependencyManager::set(); auto entityScriptingInterface = DependencyManager::set(); + auto windowScriptingInterface = DependencyManager::set(); #if defined(Q_OS_MAC) || defined(Q_OS_WIN) auto speechRecognizer = DependencyManager::set(); #endif @@ -3527,7 +3528,7 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri qScriptRegisterMetaType(scriptEngine, RayToOverlayIntersectionResultToScriptValue, RayToOverlayIntersectionResultFromScriptValue); - QScriptValue windowValue = scriptEngine->registerGlobalObject("Window", WindowScriptingInterface::getInstance()); + QScriptValue windowValue = scriptEngine->registerGlobalObject("Window", DependencyManager::get().data()); scriptEngine->registerGetterSetter("location", LocationScriptingInterface::locationGetter, LocationScriptingInterface::locationSetter, windowValue); // register `location` on the global object. diff --git a/interface/src/scripting/WebWindowClass.cpp b/interface/src/scripting/WebWindowClass.cpp index be87870f26..2e0f88c776 100644 --- a/interface/src/scripting/WebWindowClass.cpp +++ b/interface/src/scripting/WebWindowClass.cpp @@ -73,7 +73,7 @@ void WebWindowClass::setVisible(bool visible) { QScriptValue WebWindowClass::constructor(QScriptContext* context, QScriptEngine* engine) { WebWindowClass* retVal; QString file = context->argument(0).toString(); - QMetaObject::invokeMethod(WindowScriptingInterface::getInstance(), "doCreateWebWindow", Qt::BlockingQueuedConnection, + QMetaObject::invokeMethod(DependencyManager::get().data(), "doCreateWebWindow", Qt::BlockingQueuedConnection, Q_RETURN_ARG(WebWindowClass*, retVal), Q_ARG(const QString&, file), Q_ARG(QString, context->argument(1).toString()), diff --git a/interface/src/scripting/WindowScriptingInterface.cpp b/interface/src/scripting/WindowScriptingInterface.cpp index 8ec9fbbb82..d64c75c345 100644 --- a/interface/src/scripting/WindowScriptingInterface.cpp +++ b/interface/src/scripting/WindowScriptingInterface.cpp @@ -25,11 +25,6 @@ #include "WindowScriptingInterface.h" -WindowScriptingInterface* WindowScriptingInterface::getInstance() { - static WindowScriptingInterface sharedInstance; - return &sharedInstance; -} - WindowScriptingInterface::WindowScriptingInterface() : _editDialog(NULL), _nonBlockingFormActive(false), diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h index 5c0aa4f0a8..3bf3c5fb0c 100644 --- a/interface/src/scripting/WindowScriptingInterface.h +++ b/interface/src/scripting/WindowScriptingInterface.h @@ -21,7 +21,7 @@ #include "WebWindowClass.h" -class WindowScriptingInterface : public QObject { +class WindowScriptingInterface : public QObject, public Dependency { Q_OBJECT Q_PROPERTY(int innerWidth READ getInnerWidth) Q_PROPERTY(int innerHeight READ getInnerHeight) @@ -29,7 +29,7 @@ class WindowScriptingInterface : public QObject { Q_PROPERTY(int y READ getY) Q_PROPERTY(bool cursorVisible READ isCursorVisible WRITE setCursorVisible) public: - static WindowScriptingInterface* getInstance(); + WindowScriptingInterface(); int getInnerWidth(); int getInnerHeight(); int getX(); @@ -85,7 +85,6 @@ private slots: WebWindowClass* doCreateWebWindow(const QString& title, const QString& url, int width, int height); private: - WindowScriptingInterface(); QString jsRegExp2QtRegExp(QString string); QDialog* createForm(const QString& title, QScriptValue form);