diff --git a/src/Config.cpp b/src/Config.cpp index 81491902..7dc2b401 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -26,6 +26,8 @@ */ #include "Config.h" +#include "DockRegistry_p.h" + #include #include #include @@ -70,8 +72,8 @@ Config::Flags Config::flags() const void Config::setFlags(Flags f) { - if (!qApp) { - qWarning() << Q_FUNC_INFO << "Only use this function before creating the QApplication"; + if (!DockRegistry::self()->isEmpty()) { + qWarning() << Q_FUNC_INFO << "Only use this function at startup before creating any DockWidget or MainWindow"; return; } diff --git a/src/DockRegistry_p.h b/src/DockRegistry_p.h index 6dc31c36..95560536 100644 --- a/src/DockRegistry_p.h +++ b/src/DockRegistry_p.h @@ -94,10 +94,14 @@ public: */ void ensureAllFloatingWidgetsAreMorphed(); + /** + * @brief returns true if there's 0 dockwidgets, 0 main windows + */ + bool isEmpty() const; + private: explicit DockRegistry(QObject *parent = nullptr); void maybeDelete(); - bool isEmpty() const; DockWidget::List m_dockWidgets; MainWindow::List m_mainWindows; Frame::List m_frames;