diff options
14 files changed, 27 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp index 1076f18174..08b1917911 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp @@ -84,6 +84,12 @@ bool Exception::shouldAssert() return s_shouldAssert; } +bool Exception::warnAboutException() +{ + static bool warnException = !qgetenv("QTCREATOR_QTQUICKDESIGNER_WARN_EXCEPTION").isEmpty(); + return warnException; +} + /*! Constructs an exception. \a line uses the __LINE__ macro, \a function uses the __FUNCTION__ or the Q_FUNC_INFO macro, and \a file uses @@ -125,6 +131,12 @@ QString Exception::backTrace() const return m_backTrace; } +void Exception::createWarning() const +{ + if (warnAboutException()) + qDebug() << *this; +} + /*! Returns the optional description of this exception as a string. */ diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp index 6ce15aa9e3..aa5776bf3b 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidargumentexception.cpp @@ -50,7 +50,7 @@ InvalidArgumentException::InvalidArgumentException(int line, const QString &argument) : Exception(line, function, file), m_argument(argument) { - + createWarning(); } QString InvalidArgumentException::description() const diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp index 264016ffd6..64a1ff27b4 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalididexception.cpp @@ -56,6 +56,7 @@ InvalidIdException::InvalidIdException(int line, m_id(id), m_description(description) { + createWarning(); } QString InvalidIdException::type() const diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp index 9d207b91d8..054c288a8d 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmetainfoexception.cpp @@ -48,6 +48,7 @@ InvalidMetaInfoException::InvalidMetaInfoException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp index 058ff197f3..94235d15df 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelnodeexception.cpp @@ -48,6 +48,7 @@ InvalidModelNodeException::InvalidModelNodeException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp index 114379472f..b8e93a6c83 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidmodelstateexception.cpp @@ -49,6 +49,7 @@ InvalidModelStateException::InvalidModelStateException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp index 3f33734c63..1523699f73 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidpropertyexception.cpp @@ -48,6 +48,7 @@ InvalidPropertyException::InvalidPropertyException(int line, const QString &argument) : Exception(line, function, file), m_argument(argument) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp index acdecda042..027b766cad 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidqmlsourceexception.cpp @@ -49,6 +49,7 @@ InvalidQmlSourceException::InvalidQmlSourceException(int line, : Exception(line, function, file), m_qmlSource(qmlSource) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp index 3ba27caa90..ad2acfebdc 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidreparentingexception.cpp @@ -47,6 +47,7 @@ InvalidReparentingException::InvalidReparentingException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp index c0fa1ee9b9..3c2d9d723d 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/invalidslideindexexception.cpp @@ -48,6 +48,7 @@ InvalidSlideIndexException::InvalidSlideIndexException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp index 3d7f935d0c..571505573c 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/modificationgroupexception.cpp @@ -47,6 +47,7 @@ ModificationGroupException::ModificationGroupException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp index 436ba7943c..745492d042 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/removebasestateexception.cpp @@ -48,6 +48,7 @@ RemoveBaseStateException::RemoveBaseStateException(int line, const QString &file) : Exception(line, function, file) { + createWarning(); } /*! diff --git a/src/plugins/qmldesigner/designercore/exceptions/rewritingexception.cpp b/src/plugins/qmldesigner/designercore/exceptions/rewritingexception.cpp index 03c4cca339..90d8391eaa 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/rewritingexception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/rewritingexception.cpp @@ -38,6 +38,7 @@ RewritingException::RewritingException(int line, const QString &documentTextContent): Exception(line, function, file), m_description(description), m_documentTextContent(documentTextContent) { + createWarning(); } QString RewritingException::type() const diff --git a/src/plugins/qmldesigner/designercore/include/exception.h b/src/plugins/qmldesigner/designercore/include/exception.h index 34d9d5b496..8f0eae075f 100644 --- a/src/plugins/qmldesigner/designercore/include/exception.h +++ b/src/plugins/qmldesigner/designercore/include/exception.h @@ -53,8 +53,11 @@ public: QString file() const; QString backTrace() const; + void createWarning() const; + static void setShouldAssert(bool assert); static bool shouldAssert(); + static bool warnAboutException(); private: int m_line; |