Skip to content

Commit f6fa33d

Browse files
jcfrusiems
authored andcommitted
fix: Improve loading of typesystem files from resources
Ensure that typesystem files are loaded from the Qt resources only if not found in the specified file path. Suggested-by: Uwe Siems <[email protected]>
1 parent a2206af commit f6fa33d

File tree

2 files changed

+25
-16
lines changed

2 files changed

+25
-16
lines changed

generator/build_all.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<typesystem>
2-
<load-typesystem name=":/trolltech/generator/typesystem_general.xml" generate="no" />
3-
<load-typesystem name=":/trolltech/generator/typesystem_core.xml" generate="yes" />
4-
<load-typesystem name=":/trolltech/generator/typesystem_gui.xml" generate="yes" />
5-
<load-typesystem name=":/trolltech/generator/typesystem_sql.xml" generate="yes" />
6-
<load-typesystem name=":/trolltech/generator/typesystem_opengl.xml" generate="yes" />
7-
<load-typesystem name=":/trolltech/generator/typesystem_svg.xml" generate="yes" />
8-
<load-typesystem name=":/trolltech/generator/typesystem_network.xml" generate="yes" />
9-
<load-typesystem name=":/trolltech/generator/typesystem_xml.xml" generate="yes" />
10-
<load-typesystem name=":/trolltech/generator/typesystem_webkit.xml" generate="yes" />
11-
<load-typesystem name=":/trolltech/generator/typesystem_webenginewidgets.xml" generate="yes" />
12-
<load-typesystem name=":/trolltech/generator/typesystem_xmlpatterns.xml" generate="yes" />
13-
<load-typesystem name=":/trolltech/generator/typesystem_uitools.xml" generate="yes" />
14-
<load-typesystem name=":/trolltech/generator/typesystem_multimedia.xml" generate="yes" />
15-
<load-typesystem name=":/trolltech/generator/typesystem_qml.xml" generate="yes" />
16-
<load-typesystem name=":/trolltech/generator/typesystem_quick.xml" generate="yes" />
2+
<load-typesystem name="typesystem_general.xml" generate="no" />
3+
<load-typesystem name="typesystem_core.xml" generate="yes" />
4+
<load-typesystem name="typesystem_gui.xml" generate="yes" />
5+
<load-typesystem name="typesystem_sql.xml" generate="yes" />
6+
<load-typesystem name="typesystem_opengl.xml" generate="yes" />
7+
<load-typesystem name="typesystem_svg.xml" generate="yes" />
8+
<load-typesystem name="typesystem_network.xml" generate="yes" />
9+
<load-typesystem name="typesystem_xml.xml" generate="yes" />
10+
<load-typesystem name="typesystem_webkit.xml" generate="yes" />
11+
<load-typesystem name="typesystem_webenginewidgets.xml" generate="yes" />
12+
<load-typesystem name="typesystem_xmlpatterns.xml" generate="yes" />
13+
<load-typesystem name="typesystem_uitools.xml" generate="yes" />
14+
<load-typesystem name="typesystem_multimedia.xml" generate="yes" />
15+
<load-typesystem name="typesystem_qml.xml" generate="yes" />
16+
<load-typesystem name="typesystem_quick.xml" generate="yes" />
1717
</typesystem>

generator/typesystem.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1600,7 +1600,16 @@ bool TypeDatabase::parseFile(const QString &filename, unsigned int qtVersion, bo
16001600
{
16011601
QFile file(filename);
16021602

1603-
Q_ASSERT(file.exists());
1603+
// Attempt to open the file from the specified path
1604+
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
1605+
// If opening fails, attempt to load from Qt resources
1606+
file.setFileName(":/trolltech/generator/" + filename);
1607+
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
1608+
qWarning() << "Could not open file:" << filename;
1609+
return false;
1610+
}
1611+
}
1612+
16041613
QXmlInputSource source(&file);
16051614

16061615
int count = m_entries.size();

0 commit comments

Comments
 (0)