mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-19 16:31:21 +00:00
Fix infinite recursion if the default text is empty.
BUG: 203455 svn path=/trunk/KDE/kdebase/apps/; revision=1010911
This commit is contained in:
parent
311c5ec73c
commit
bcc439dd66
|
@ -125,13 +125,22 @@ DolphinStatusBar::~DolphinStatusBar()
|
|||
void DolphinStatusBar::setMessage(const QString& msg,
|
||||
Type type)
|
||||
{
|
||||
if (msg.isEmpty()) {
|
||||
// show the default text as fallback
|
||||
clear();
|
||||
return;
|
||||
int timeout = 1000; // Timeout in milliseconds until default
|
||||
// messages may overwrite other messages.
|
||||
|
||||
QString message = msg;
|
||||
if (message.isEmpty()) {
|
||||
// Show the default text as fallback. An empty text indicates
|
||||
// a clearing of the information message.
|
||||
if (m_messageLabel->defaultText().isEmpty()) {
|
||||
return;
|
||||
}
|
||||
message = m_messageLabel->defaultText();
|
||||
type = Default;
|
||||
timeout = 0;
|
||||
}
|
||||
|
||||
if ((msg == m_messageLabel->text()) && (type == m_messageLabel->type())) {
|
||||
if ((message == m_messageLabel->text()) && (type == m_messageLabel->type())) {
|
||||
// the message is already shown
|
||||
return;
|
||||
}
|
||||
|
@ -139,7 +148,7 @@ void DolphinStatusBar::setMessage(const QString& msg,
|
|||
const QTime currentTime = QTime::currentTime();
|
||||
const bool skipMessage = (type == Default) &&
|
||||
m_messageTimeStamp.isValid() &&
|
||||
(m_messageTimeStamp.msecsTo(currentTime) < 1000);
|
||||
(m_messageTimeStamp.msecsTo(currentTime) < timeout);
|
||||
if (skipMessage) {
|
||||
// A non-default message is shown just for a very short time. Don't hide
|
||||
// the message by a default message, so that the user gets the chance to
|
||||
|
@ -147,7 +156,7 @@ void DolphinStatusBar::setMessage(const QString& msg,
|
|||
return;
|
||||
}
|
||||
|
||||
m_messageLabel->setMessage(msg, type);
|
||||
m_messageLabel->setMessage(message, type);
|
||||
if (type != Default) {
|
||||
m_messageTimeStamp = currentTime;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue