From 5c39536de098e951b73087e8aafab06f3bfe8758 Mon Sep 17 00:00:00 2001 From: Cedric Seehausen <usdnr@student.kit.edu> Date: Mon, 23 May 2016 12:52:23 +0200 Subject: [PATCH] Forced init method of ScenarioManagerWidgetController to happen in Qt main thread --- .../ScenarioManager/ScenarioManagerWidgetController.cpp | 6 +++++- .../ScenarioManager/ScenarioManagerWidgetController.h | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp index ce93f439..ddce5efe 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp @@ -74,6 +74,11 @@ void ScenarioManagerWidgetController::saveSettings(QSettings* settings) void ScenarioManagerWidgetController::onInitComponent() +{ + QMetaObject::invokeMethod(this, "init", Qt::QueuedConnection); +} + +void ScenarioManagerWidgetController::init() { detailedApplicationController.setDetailedApplicationView(widget.detailedApplicationView); @@ -187,7 +192,6 @@ void ScenarioManagerWidgetController::onInitComponent() reparsePackages(); } - void ScenarioManagerWidgetController::onConnectComponent() { diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h index 86e790d2..6ff496c6 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h @@ -61,7 +61,7 @@ namespace armarx */ class ARMARXCOMPONENT_IMPORT_EXPORT ScenarioManagerWidgetController: - public armarx::ArmarXComponentWidgetController + public armarx::ArmarXComponentWidgetController { Q_OBJECT @@ -115,6 +115,9 @@ namespace armarx signals: /* QT signal declarations */ + private slots: + //used to force Qt main thread to init this plugin + void init(); private: /** * Widget Form -- GitLab