Showing the changes to interface/src/scripting/WindowScriptingInterface.cpp (1 of 21 files). Show all
Unified · Split
| @@ -45,13 +45,18 @@ QScriptValue WindowScriptingInterface::hasFocus() { · 44 unmodified lines | ||
| 45 | 45 | } |
| 46 | 46 | |
| 47 | 47 | void WindowScriptingInterface::setFocus() { |
| 48 | − auto window = Application::getInstance()->getWindow(); | |
| 49 | − window->activateWindow(); | |
| 50 | − window->setFocus(); | |
| 48 | + Application::getInstance()->postLambdaEvent([] { | |
| 49 | + auto window = Application::getInstance()->getWindow(); | |
| 50 | + window->activateWindow(); | |
| 51 | + window->setFocus(); | |
| 52 | + }); | |
| 51 | 53 | } |
| 52 | 54 | |
| 53 | 55 | void WindowScriptingInterface::raiseMainWindow() { |
| 54 | −// Application::getInstance()->getWindow()->raise(); | |
| 56 | + // It's forbidden to call raise() from another thread. | |
| 57 | + Application::getInstance()->postLambdaEvent([] { | |
| 58 | + Application::getInstance()->getWindow()->raise(); | |
| 59 | + }); | |
| 55 | 60 | } |
| 56 | 61 | |
| 57 | 62 | void WindowScriptingInterface::setCursorVisible(bool visible) { |