--- a/mcabber/mcabber/xmpp.c Tue May 14 22:19:33 2019 +0200
+++ b/mcabber/mcabber/xmpp.c Sat May 18 20:41:52 2019 +0200
@@ -1385,9 +1385,6 @@
LmMessageNode *muc_packet, *caps;
LmMessageSubType mstype = lm_message_get_sub_type(m);
- // Check for MUC presence packet
- muc_packet = lm_message_node_find_xmlns(m->node, NS_MUC_USER);
-
from = lm_message_get_from(m);
if (!from) {
scr_LogPrint(LPRINT_LOGNORM, "Unexpected presence packet!");
@@ -1400,8 +1397,6 @@
return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
}
- rname = jid_get_resource_name(from);
-
if (settings_opt_get_int("ignore_self_presence")) {
const char *self_fjid = lm_connection_get_jid(connection);
if (self_fjid && !strcasecmp(self_fjid, from)) {
@@ -1464,6 +1459,9 @@
// Timestamp?
timestamp = lm_message_node_get_timestamp(m->node);
+ // Check for MUC presence packet
+ muc_packet = lm_message_node_find_xmlns(m->node, NS_MUC_USER);
+ rname = jid_get_resource_name(from);
if (muc_packet) {
// This is a MUC presence message
@@ -1596,8 +1594,7 @@
const char *msg = lm_message_node_get_child_value(m->node, "status");
if (mstype == LM_MESSAGE_SUB_TYPE_ERROR) {
- display_server_error(lm_message_node_get_child(m->node, "error"),
- lm_message_get_from(m));
+ display_server_error(lm_message_node_get_child(m->node, "error"), from);
return LM_HANDLER_RESULT_REMOVE_MESSAGE;
}