diff --git a/src/message-stack.cpp b/src/message-stack.cpp
index 23ff1435f715b38982fab10e7827e9b4f41a079b..05aec87fc8a1951c5108f49c228200f32715d700 100644 (file)
--- a/src/message-stack.cpp
+++ b/src/message-stack.cpp
/*
- * MessageStack - context for posting status messages
+ * MessageStack - manages stack of active status messages
*
* Authors:
* MenTaLguY <mental@rydia.net>
* Released under GNU GPL, read the file 'COPYING' for more information
*/
+#include <string.h>
#include <glib/gstrfuncs.h>
+#include <cstring>
+#include <string>
#include "message-stack.h"
namespace Inkscape {
case WARNING_MESSAGE: // a bit less important than error
return _push(type, 2000 + 40*strlen(message), message);
break;
+ case IMMEDIATE_MESSAGE: // same length as normal, higher priority
+ return _push(type, 1000 + 20*strlen(message), message);
+ break;
case NORMAL_MESSAGE: // something ephemeral
default:
return _push(type, 1000 + 20*strlen(message), message);
@@ -104,11 +110,11 @@ MessageId MessageStack::_push(MessageType type, guint lifetime, gchar const *mes
m->message = g_strdup(message);
if (lifetime) {
- m->timeout_id = g_timeout_add(lifetime, &MessageStack::_timeout, m);
+ m->timeout_id = g_timeout_add(lifetime, &MessageStack::_timeout, m);
} else {
m->timeout_id = 0;
}
-
+
m->next = _messages;
_messages = m;