diff options
Diffstat (limited to 'src/sdk')
-rw-r--r-- | src/sdk/GFSDKUI.cpp | 15 | ||||
-rw-r--r-- | src/sdk/private/CommonUtils.cpp | 2 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/sdk/GFSDKUI.cpp b/src/sdk/GFSDKUI.cpp index 2222fca2..a48f306a 100644 --- a/src/sdk/GFSDKUI.cpp +++ b/src/sdk/GFSDKUI.cpp @@ -57,8 +57,15 @@ auto GFUIMountEntry(const char* id, MetaData** meta_data_array, if (id == nullptr || factory == nullptr) return -1; auto meta_data = MetaDataArrayToQMap(meta_data_array, meta_data_array_size); - return GpgFrontend::UI::UIModuleManager::GetInstance().MountEntry( - GFUnStrDup(id), meta_data, factory) - ? 0 - : -1; + auto qid = GFUnStrDup(id); + + QMetaObject::invokeMethod( + QApplication::instance()->thread(), [qid, meta_data, factory]() -> int { + return GpgFrontend::UI::UIModuleManager::GetInstance().MountEntry( + qid, meta_data, factory) + ? 0 + : -1; + }); + + return 0; } diff --git a/src/sdk/private/CommonUtils.cpp b/src/sdk/private/CommonUtils.cpp index 7d72415e..16dc2db6 100644 --- a/src/sdk/private/CommonUtils.cpp +++ b/src/sdk/private/CommonUtils.cpp @@ -79,4 +79,4 @@ auto QMapToCharArray(const QMap<QString, QString>& map, int& size) -> char** { } return char_array; -}
\ No newline at end of file +} |