From 0e91f0c2086bd5c4b38fa3cf62c204fa3eb096f8 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Thu, 26 Jan 2006 13:57:27 +0000 Subject: [PATCH] Fixed bug with /upgrade when servers buffer (with one buffer for all servers) is moved to buffer # > 1 --- ChangeLog | 1 + src/common/session.c | 4 ++++ src/common/session.h | 3 ++- src/common/weechat.c | 2 +- weechat/ChangeLog | 1 + weechat/src/common/session.c | 4 ++++ weechat/src/common/session.h | 3 ++- weechat/src/common/weechat.c | 2 +- 8 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3d60490c6..31e3882ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ ChangeLog - 2006-01-26 Version 0.1.8 (under dev!): + * fixed bug with /upgrade and servers buffer * fixed bug with "get_dcc_info" plugin interface function * added new scroll keys for a few lines up/down (default: meta-pgup/pgdn) (patch from Pistos) diff --git a/src/common/session.c b/src/common/session.c index 8a9e53969..5406b3b65 100644 --- a/src/common/session.c +++ b/src/common/session.c @@ -387,6 +387,7 @@ session_save_buffers (FILE *file) rc = rc && (session_write_str (file, SESSION_BUFF_SERVER, SERVER(ptr_buffer) ? SERVER(ptr_buffer)->name : NULL)); rc = rc && (session_write_str (file, SESSION_BUFF_CHANNEL, CHANNEL(ptr_buffer) ? CHANNEL(ptr_buffer)->name : NULL)); rc = rc && (session_write_int (file, SESSION_BUFF_DCC, ptr_buffer->dcc)); + rc = rc && (session_write_int (file, SESSION_BUFF_ALL_SERVERS, ptr_buffer->all_servers)); rc = rc && (session_write_id (file, SESSION_BUFF_END)); if (!rc) @@ -1413,6 +1414,9 @@ session_load_buffer (FILE *file) { case SESSION_BUFF_END: return 1; + case SESSION_BUFF_ALL_SERVERS: + rc = rc && (session_read_int (file, &(session_current_buffer->all_servers))); + break; default: weechat_log_printf (_("session: warning: ignoring value from " "buffer (object id: %d)\n")); diff --git a/src/common/session.h b/src/common/session.h index 639579c04..6b2c4ecf8 100644 --- a/src/common/session.h +++ b/src/common/session.h @@ -153,7 +153,8 @@ enum t_session_buffer SESSION_BUFF_END = 0, SESSION_BUFF_SERVER, SESSION_BUFF_CHANNEL, - SESSION_BUFF_DCC + SESSION_BUFF_DCC, + SESSION_BUFF_ALL_SERVERS }; enum t_session_line diff --git a/src/common/weechat.c b/src/common/weechat.c index 0afed0183..4342fa3b6 100644 --- a/src/common/weechat.c +++ b/src/common/weechat.c @@ -1042,10 +1042,10 @@ main (int argc, char *argv[]) weechat_config_read (); /* read configuration */ utf8_init (); /* init UTF-8 in WeeChat */ gui_init (); /* init WeeChat interface */ - weechat_welcome_message (); /* display WeeChat welcome message */ fifo_create (); /* FIFO pipe for remote control */ if (weechat_session) session_load (weechat_session); /* load previous session if asked */ + weechat_welcome_message (); /* display WeeChat welcome message */ #ifdef PLUGINS plugin_init (auto_load_plugins); /* init plugin interface(s) */ #endif diff --git a/weechat/ChangeLog b/weechat/ChangeLog index 3d60490c6..31e3882ae 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -5,6 +5,7 @@ ChangeLog - 2006-01-26 Version 0.1.8 (under dev!): + * fixed bug with /upgrade and servers buffer * fixed bug with "get_dcc_info" plugin interface function * added new scroll keys for a few lines up/down (default: meta-pgup/pgdn) (patch from Pistos) diff --git a/weechat/src/common/session.c b/weechat/src/common/session.c index 8a9e53969..5406b3b65 100644 --- a/weechat/src/common/session.c +++ b/weechat/src/common/session.c @@ -387,6 +387,7 @@ session_save_buffers (FILE *file) rc = rc && (session_write_str (file, SESSION_BUFF_SERVER, SERVER(ptr_buffer) ? SERVER(ptr_buffer)->name : NULL)); rc = rc && (session_write_str (file, SESSION_BUFF_CHANNEL, CHANNEL(ptr_buffer) ? CHANNEL(ptr_buffer)->name : NULL)); rc = rc && (session_write_int (file, SESSION_BUFF_DCC, ptr_buffer->dcc)); + rc = rc && (session_write_int (file, SESSION_BUFF_ALL_SERVERS, ptr_buffer->all_servers)); rc = rc && (session_write_id (file, SESSION_BUFF_END)); if (!rc) @@ -1413,6 +1414,9 @@ session_load_buffer (FILE *file) { case SESSION_BUFF_END: return 1; + case SESSION_BUFF_ALL_SERVERS: + rc = rc && (session_read_int (file, &(session_current_buffer->all_servers))); + break; default: weechat_log_printf (_("session: warning: ignoring value from " "buffer (object id: %d)\n")); diff --git a/weechat/src/common/session.h b/weechat/src/common/session.h index 639579c04..6b2c4ecf8 100644 --- a/weechat/src/common/session.h +++ b/weechat/src/common/session.h @@ -153,7 +153,8 @@ enum t_session_buffer SESSION_BUFF_END = 0, SESSION_BUFF_SERVER, SESSION_BUFF_CHANNEL, - SESSION_BUFF_DCC + SESSION_BUFF_DCC, + SESSION_BUFF_ALL_SERVERS }; enum t_session_line diff --git a/weechat/src/common/weechat.c b/weechat/src/common/weechat.c index 0afed0183..4342fa3b6 100644 --- a/weechat/src/common/weechat.c +++ b/weechat/src/common/weechat.c @@ -1042,10 +1042,10 @@ main (int argc, char *argv[]) weechat_config_read (); /* read configuration */ utf8_init (); /* init UTF-8 in WeeChat */ gui_init (); /* init WeeChat interface */ - weechat_welcome_message (); /* display WeeChat welcome message */ fifo_create (); /* FIFO pipe for remote control */ if (weechat_session) session_load (weechat_session); /* load previous session if asked */ + weechat_welcome_message (); /* display WeeChat welcome message */ #ifdef PLUGINS plugin_init (auto_load_plugins); /* init plugin interface(s) */ #endif