aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/resourceeditor/resourcenode.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2021-10-21 09:13:03 +0200
committerEike Ziller <eike.ziller@qt.io>2021-10-21 09:13:03 +0200
commitbb9774de92dd2c8da85c5231ca5646b078cb42a3 (patch)
treee43470cf6f3a7c965b7dc8a349593dadd03ee65e /src/plugins/resourceeditor/resourcenode.cpp
parentf41bebc843a8b4ab1ab29562ba200b032b5ab5ac (diff)
parent5377253612801b2f92e0b55e40c3ce0dd2574b09 (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.cpp16
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)