Add environment variable to set assert in exception

This commit is contained in:
Marco Bubke
2010-03-24 12:55:10 +01:00
committed by Kai Koehne
parent 6fc2646388
commit 4b8c4add60

View File

@@ -65,12 +65,19 @@
#include <QtCore/QCoreApplication>
#include <QtCore/qplugin.h>
#include <QtCore/QDebug>
#include <QtCore/QProcessEnvironment>
namespace QmlDesigner {
namespace Internal {
BauhausPlugin *BauhausPlugin::m_pluginInstance = 0;
bool shouldAssertInException()
{
QProcessEnvironment processEnvironment = QProcessEnvironment::systemEnvironment();
return !processEnvironment.value("QMLDESIGNER_ASSERT_ON_EXCEPTION").isEmpty();
}
BauhausPlugin::BauhausPlugin() :
m_designerCore(0),
m_designMode(0),
@@ -92,7 +99,9 @@ BauhausPlugin::BauhausPlugin() :
// 2. in gdb: "catch throw" or "catch throw Exception"
// 3. set a breakpoint on __raise_exception()
// And with gdb, you can even do this from your ~/.gdbinit file.
Exception::setShouldAssert(false);
// DnD is not working with gdb so this is still needed to get a good stacktrace
Exception::setShouldAssert(shouldAssertInException());
}
BauhausPlugin::~BauhausPlugin()