diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index b4c361d55b3..b85302b3edb 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -661,9 +661,34 @@ void QmlEngine::messageReceived(const QByteArray &message) tr("
An Uncaught Exception occured in %1:
%2
") .arg(stackFrames.value(0).file, Qt::escape(error)); showMessageBox(QMessageBox::Information, tr("Uncaught Exception"), msg); + } else { + // + // Make breakpoint non-pending + // + QString file; + int line = -1; + + if (!stackFrames.isEmpty()) { + file = stackFrames.at(0).file; + line = stackFrames.at(0).line; + + if (isShadowBuildProject()) { + file = fromShadowBuildFilename(file); + } + } + + Internal::BreakHandler *handler = breakHandler(); + for (int index = 0; index != handler->size(); ++index) { + Internal::BreakpointData *data = handler->at(index); + QString processedFilename = data->fileName; + + if (processedFilename == file + && data->lineNumber == line) { + data->pending = false; + data->updateMarker(); + } + } } - - } else if (command == "RESULT") { Internal::WatchData data; QByteArray iname;