diff --git a/src/plugins/coreplugin/outputpanemanager.cpp b/src/plugins/coreplugin/outputpanemanager.cpp index 7d7cf98cdec..2402e8d843f 100644 --- a/src/plugins/coreplugin/outputpanemanager.cpp +++ b/src/plugins/coreplugin/outputpanemanager.cpp @@ -465,10 +465,14 @@ void OutputPaneManager::setBadgeNumber(int number) void OutputPaneManager::showPage(bool focus, bool ensureSizeHint) { int idx = findIndexForPage(qobject_cast(sender())); - showPage(idx, focus); - if (ensureSizeHint) - if (OutputPanePlaceHolder *ph = OutputPanePlaceHolder::getCurrent()) - ph->ensureSizeHintAsMinimum(); + OutputPanePlaceHolder *ph = OutputPanePlaceHolder::getCurrent(); + if (!ph) + m_buttons.value(idx)->flash(); + else + showPage(idx, focus); + + if (ensureSizeHint && ph) + ph->ensureSizeHintAsMinimum(); } void OutputPaneManager::showPage(int idx, bool focus) @@ -705,6 +709,7 @@ void OutputPaneToggleButton::checkStateSet() void OutputPaneToggleButton::flash(int count) { + setVisible(true); //Start flashing if button is not checked if (!isChecked()) { m_flashTimer->setLoopCount(count);