mirror of
https://github.com/irssi/irssi.git
synced 2026-08-17 07:32:04 +02:00
Added reference counting to server record. At least now we don't accidentally
use a destroyed server record when some /command disconnects the server (shouldn't happen really) or when irc_send_cmd() fails sending data to server and disconnects the server (I don't know if this ever happens, but if it does, it very well could have caused crashes) git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2243 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
ebd09ede51
commit
6774b4b30f
7 changed files with 64 additions and 17 deletions
|
|
@ -313,6 +313,7 @@ void command_runsub(const char *cmd, const char *data,
|
|||
subcmd = g_strconcat("command ", newcmd, NULL);
|
||||
|
||||
g_strdown(subcmd);
|
||||
if (server != NULL) server_ref(server);
|
||||
if (!signal_emit(subcmd, 3, args, server, item)) {
|
||||
defcmd = g_strdup_printf("default command %s", cmd);
|
||||
if (!signal_emit(defcmd, 3, data, server, item)) {
|
||||
|
|
@ -321,6 +322,7 @@ void command_runsub(const char *cmd, const char *data,
|
|||
}
|
||||
g_free(defcmd);
|
||||
}
|
||||
if (server != NULL) server_unref(server);
|
||||
|
||||
g_free(subcmd);
|
||||
g_free(orig);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue