--- a/mcabber/src/commands.c Sat Sep 09 13:10:27 2006 +0200
+++ b/mcabber/src/commands.c Mon Sep 11 19:14:59 2006 +0200
@@ -1871,7 +1871,9 @@
jb_room_unlock(buddy_getjid(bud));
}
-void room_whois(gpointer bud, char *arg)
+// room_whois(..)
+// If interactive is TRUE, chatmode can be enabled.
+void room_whois(gpointer bud, char *arg, guint interactive)
{
char **paramlst;
gchar *nick, *buffer;
@@ -1897,9 +1899,11 @@
nick = to_utf8(nick);
- // Enter chat mode
- scr_set_chatmode(TRUE);
- scr_ShowBuddyWindow();
+ if (interactive) {
+ // Enter chat mode
+ scr_set_chatmode(TRUE);
+ scr_ShowBuddyWindow();
+ }
jid = buddy_getjid(bud);
rstatus = buddy_getstatus(bud, nick);
@@ -2030,7 +2034,7 @@
room_topic(bud, arg);
} else if (!strcasecmp(subcmd, "whois")) {
if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)
- room_whois(bud, arg);
+ room_whois(bud, arg, TRUE);
} else {
scr_LogPrint(LPRINT_NORMAL, "Unrecognized parameter!");
}
--- a/mcabber/src/commands.h Sat Sep 09 13:10:27 2006 +0200
+++ b/mcabber/src/commands.h Mon Sep 11 19:14:59 2006 +0200
@@ -20,7 +20,7 @@
extern char *mcabber_version(void);
extern void mcabber_connect(void);
-void room_whois(gpointer bud, char *nick_locale);
+void room_whois(gpointer bud, char *nick_locale, guint interactive);
#endif /* __COMMANDS_H__ */
--- a/mcabber/src/jabglue.c Sat Sep 09 13:10:27 2006 +0200
+++ b/mcabber/src/jabglue.c Mon Sep 11 19:14:59 2006 +0200
@@ -1281,7 +1281,7 @@
if (new_member && settings_opt_get_int("muc_auto_whois")) {
// FIXME: This will fail for some UTF-8 nicknames.
gchar *joiner_nick = from_utf8(rname);
- room_whois(room_elt->data, joiner_nick);
+ room_whois(room_elt->data, joiner_nick, FALSE);
g_free(joiner_nick);
}
} else