diff options
author | Eike Ziller <eike.ziller@qt.io> | 2021-10-21 09:13:03 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2021-10-21 09:13:03 +0200 |
commit | bb9774de92dd2c8da85c5231ca5646b078cb42a3 (patch) | |
tree | e43470cf6f3a7c965b7dc8a349593dadd03ee65e /src/plugins/resourceeditor/resourcenode.cpp | |
parent | f41bebc843a8b4ab1ab29562ba200b032b5ab5ac (diff) | |
parent | 5377253612801b2f92e0b55e40c3ce0dd2574b09 (diff) |
Merge remote-tracking branch 'origin/6.0'
Conflicts:
cmake/QtCreatorIDEBranding.cmake
qbs/modules/qtc/qtc.qbs
qtcreator_ide_branding.pri
Change-Id: If8baed5564470e550a0ba5c7720915217eec2412
Diffstat (limited to 'src/plugins/resourceeditor/resourcenode.cpp')
-rw-r--r-- | src/plugins/resourceeditor/resourcenode.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/plugins/resourceeditor/resourcenode.cpp b/src/plugins/resourceeditor/resourcenode.cpp index 30be6b0c0a..75f35da4d8 100644 --- a/src/plugins/resourceeditor/resourcenode.cpp +++ b/src/plugins/resourceeditor/resourcenode.cpp @@ -36,6 +36,7 @@ #include <utils/fileutils.h> #include <utils/mimetypes/mimedatabase.h> #include <utils/qtcassert.h> +#include <utils/threadutils.h> #include <QCoreApplication> #include <QDir> @@ -251,10 +252,8 @@ ResourceTopLevelNode::ResourceTopLevelNode(const FilePath &filePath, setShowWhenEmpty(true); if (!filePath.isEmpty()) { - if (filePath.isReadableFile()) { - m_document = new ResourceFileWatcher(this); - DocumentManager::addDocument(m_document); - } + if (filePath.isReadableFile()) + setupWatcherIfNeeded(); } else { m_contents = contents; } @@ -267,6 +266,15 @@ ResourceTopLevelNode::ResourceTopLevelNode(const FilePath &filePath, addInternalNodes(); } +void ResourceTopLevelNode::setupWatcherIfNeeded() +{ + if (m_document || !isMainThread()) + return; + + m_document = new ResourceFileWatcher(this); + DocumentManager::addDocument(m_document); +} + ResourceTopLevelNode::~ResourceTopLevelNode() { if (m_document) |