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 | void WindowScriptingInterface::setFocus() { | 47 | void WindowScriptingInterface::setFocus() { |
| 48 | auto window = Application::getInstance()->getWindow(); | 48 | Application::getInstance()->postLambdaEvent([] { |
| 49 | window->activateWindow(); | 49 | auto window = Application::getInstance()->getWindow(); |
| 50 | window->setFocus(); | 50 | window->activateWindow(); |
| 51 | window->setFocus(); | ||
| 52 | }); | ||
| 51 | } | 53 | } |
| 52 | 54 | ||
| 53 | void WindowScriptingInterface::raiseMainWindow() { | 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 | void WindowScriptingInterface::setCursorVisible(bool visible) { | 62 | void WindowScriptingInterface::setCursorVisible(bool visible) { |