forked from qt-creator/qt-creator
Debugger: Avoid messagesboxes on the same topic at the same time
Task-number: QTCREATORBUG-16971 Change-Id: I625f04cbd8f609c66597450dbad22ebc6eadcfe5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -383,6 +383,7 @@ public:
|
|||||||
|
|
||||||
// Safety net to avoid infinite lookups.
|
// Safety net to avoid infinite lookups.
|
||||||
QSet<QString> m_lookupRequests; // FIXME: Integrate properly.
|
QSet<QString> m_lookupRequests; // FIXME: Integrate properly.
|
||||||
|
QPointer<QWidget> m_alertBox;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -1813,8 +1814,11 @@ QString DebuggerEngine::msgInterrupted()
|
|||||||
return tr("Interrupted.");
|
return tr("Interrupted.");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebuggerEngine::showStoppedBySignalMessageBox(QString meaning, QString name)
|
bool DebuggerEngine::showStoppedBySignalMessageBox(QString meaning, QString name)
|
||||||
{
|
{
|
||||||
|
if (d->m_alertBox)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (name.isEmpty())
|
if (name.isEmpty())
|
||||||
name = ' ' + tr("<Unknown>", "name") + ' ';
|
name = ' ' + tr("<Unknown>", "name") + ' ';
|
||||||
if (meaning.isEmpty())
|
if (meaning.isEmpty())
|
||||||
@@ -1824,7 +1828,9 @@ void DebuggerEngine::showStoppedBySignalMessageBox(QString meaning, QString name
|
|||||||
"<table><tr><td>Signal name : </td><td>%1</td></tr>"
|
"<table><tr><td>Signal name : </td><td>%1</td></tr>"
|
||||||
"<tr><td>Signal meaning : </td><td>%2</td></tr></table>")
|
"<tr><td>Signal meaning : </td><td>%2</td></tr></table>")
|
||||||
.arg(name, meaning);
|
.arg(name, meaning);
|
||||||
AsynchronousMessageBox::information(tr("Signal Received"), msg);
|
|
||||||
|
d->m_alertBox = AsynchronousMessageBox::information(tr("Signal Received"), msg);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebuggerEngine::showStoppedByExceptionMessageBox(const QString &description)
|
void DebuggerEngine::showStoppedByExceptionMessageBox(const QString &description)
|
||||||
|
@@ -415,7 +415,7 @@ protected:
|
|||||||
static QString msgStoppedByException(const QString &description,
|
static QString msgStoppedByException(const QString &description,
|
||||||
const QString &threadId);
|
const QString &threadId);
|
||||||
static QString msgInterrupted();
|
static QString msgInterrupted();
|
||||||
void showStoppedBySignalMessageBox(const QString meaning, QString name);
|
bool showStoppedBySignalMessageBox(const QString meaning, QString name);
|
||||||
void showStoppedByExceptionMessageBox(const QString &description);
|
void showStoppedByExceptionMessageBox(const QString &description);
|
||||||
|
|
||||||
bool isStateDebugging() const;
|
bool isStateDebugging() const;
|
||||||
|
@@ -1629,7 +1629,10 @@ void GdbEngine::handleStop2(const GdbMi &data)
|
|||||||
} else {
|
} else {
|
||||||
showMessage("HANDLING SIGNAL " + name);
|
showMessage("HANDLING SIGNAL " + name);
|
||||||
if (boolSetting(UseMessageBoxForSignals) && !isStopperThread)
|
if (boolSetting(UseMessageBoxForSignals) && !isStopperThread)
|
||||||
showStoppedBySignalMessageBox(meaning, name);
|
if (!showStoppedBySignalMessageBox(meaning, name)) {
|
||||||
|
showMessage("SIGNAL RECEIVED WHILE SHOWING SIGNAL MESSAGE");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (!name.isEmpty() && !meaning.isEmpty())
|
if (!name.isEmpty() && !meaning.isEmpty())
|
||||||
reasontr = msgStoppedBySignal(meaning, name);
|
reasontr = msgStoppedBySignal(meaning, name);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user