diff options
-rw-r--r-- | src/plugins/resourceeditor/resourcenode.cpp | 10 | ||||
-rw-r--r-- | src/plugins/resourceeditor/resourcenode.h | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/resourceeditor/resourcenode.cpp b/src/plugins/resourceeditor/resourcenode.cpp index 20f67b2eecd..354f56c4ee2 100644 --- a/src/plugins/resourceeditor/resourcenode.cpp +++ b/src/plugins/resourceeditor/resourcenode.cpp @@ -270,12 +270,14 @@ ResourceTopLevelNode::ResourceTopLevelNode(const FileName &filePath, bool genera { setIsGenerated(generated); setIcon(FileIconProvider::icon(filePath.toString())); - if (contents.isEmpty()) { - m_document = new ResourceFileWatcher(this); - DocumentManager::addDocument(m_document); + if (!filePath.isEmpty()) { + QFileInfo fi = filePath.toFileInfo(); + if (fi.isFile() && fi.isReadable()) { + m_document = new ResourceFileWatcher(this); + DocumentManager::addDocument(m_document); + } } else { m_contents = contents; - m_document = nullptr; } FileName base = parent->filePath(); diff --git a/src/plugins/resourceeditor/resourcenode.h b/src/plugins/resourceeditor/resourcenode.h index f1377eaa147..e2f84e005a7 100644 --- a/src/plugins/resourceeditor/resourcenode.h +++ b/src/plugins/resourceeditor/resourcenode.h @@ -56,7 +56,7 @@ public: QString contents() const { return m_contents; } private: - Internal::ResourceFileWatcher *m_document; + Internal::ResourceFileWatcher *m_document = nullptr; QString m_contents; }; |