forked from qt-creator/qt-creator
Modeling: Do not crash on invalid qmodel files in a project
Task-number: QTCREATORBUG-18526 Change-Id: I2947f9227c6f96b2b576ca6e942c3f27f28116b3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Jochen Becher <jochen_becher@gmx.de>
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include "modeleditor_constants.h"
|
#include "modeleditor_constants.h"
|
||||||
|
|
||||||
|
#include "qmt/infrastructure/exceptions.h"
|
||||||
#include "qmt/infrastructure/uid.h"
|
#include "qmt/infrastructure/uid.h"
|
||||||
|
|
||||||
#include "qmt/serializer/projectserializer.h"
|
#include "qmt/serializer/projectserializer.h"
|
||||||
@@ -292,7 +293,12 @@ void ModelIndexer::IndexerThread::onFilesQueued()
|
|||||||
// load model file
|
// load model file
|
||||||
qmt::ProjectSerializer projectSerializer;
|
qmt::ProjectSerializer projectSerializer;
|
||||||
qmt::Project project;
|
qmt::Project project;
|
||||||
projectSerializer.load(queuedFile.file(), &project);
|
try {
|
||||||
|
projectSerializer.load(queuedFile.file(), &project);
|
||||||
|
} catch (const qmt::Exception &e) {
|
||||||
|
qWarning() << e.errorMessage();
|
||||||
|
return;
|
||||||
|
}
|
||||||
locker.relock();
|
locker.relock();
|
||||||
indexedModel->setModelUid(project.uid());
|
indexedModel->setModelUid(project.uid());
|
||||||
// add indexedModel to set of indexedModelsByUid
|
// add indexedModel to set of indexedModelsByUid
|
||||||
|
Reference in New Issue
Block a user