--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/round-high-priority.diff Wed May 15 13:07:05 2013 +0300
@@ -0,0 +1,25 @@
+# HG changeset patch
+# Parent dd8ae0abfc684ea26962f2d41000bd562b420ae6
+diff -r dd8ae0abfc68 -r c07093e16ae9 mcabber/mcabber/xmpp.c
+--- a/mcabber/mcabber/xmpp.c Sun Apr 28 11:43:00 2013 +0200
++++ b/mcabber/mcabber/xmpp.c Wed May 15 12:57:01 2013 +0300
+@@ -1490,8 +1490,17 @@
+ }
+
+ p = lm_message_node_get_child_value(m->node, "priority");
+- if (p && *p) bpprio = (gchar)atoi(p);
+- else bpprio = 0;
++ if (p && *p) {
++ int rawprio = atoi(p);
++ if (rawprio > 128)
++ bpprio = 128;
++ else if (rawprio < -127)
++ bpprio = -127;
++ else
++ bpprio = rawprio;
++ } else {
++ bpprio = 0;
++ }
+
+ ust = available;
+