mirror of
https://github.com/lubosz/overte.git
synced 2025-04-25 11:43:37 +02:00
Merge pull request #14 from Atlante45/interface-backtrace
Don't run settings preroutine when not initialized
This commit is contained in:
commit
ae4aa41da4
2 changed files with 25 additions and 21 deletions
|
@ -33,7 +33,6 @@ namespace Setting {
|
|||
// tell the private instance to clean itself up on its thread
|
||||
DependencyManager::destroy<Manager>();
|
||||
|
||||
//
|
||||
globalManager.reset();
|
||||
|
||||
// quit the settings manager thread and wait on it to make sure it's gone
|
||||
|
@ -42,6 +41,8 @@ namespace Setting {
|
|||
}
|
||||
|
||||
void setupPrivateInstance() {
|
||||
// Ensure Setting::init has already ran and qApp exists
|
||||
if (qApp && globalManager) {
|
||||
// Let's set up the settings Private instance on its own thread
|
||||
QThread* thread = new QThread();
|
||||
Q_CHECK_PTR(thread);
|
||||
|
@ -57,6 +58,7 @@ namespace Setting {
|
|||
// Register cleanupPrivateInstance to run inside QCoreApplication's destructor.
|
||||
qAddPostRoutine(cleanupPrivateInstance);
|
||||
}
|
||||
}
|
||||
FIXED_Q_COREAPP_STARTUP_FUNCTION(setupPrivateInstance)
|
||||
|
||||
// Sets up the settings private instance. Should only be run once at startup. preInit() must be run beforehand,
|
||||
|
@ -79,6 +81,8 @@ namespace Setting {
|
|||
}
|
||||
|
||||
globalManager = DependencyManager::set<Manager>();
|
||||
|
||||
setupPrivateInstance();
|
||||
}
|
||||
|
||||
void Interface::init() {
|
||||
|
|
Loading…
Reference in a new issue