From bd39c8fa854bfbc95038f68bf8a7bdd4cb0e8c2f Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Tue, 5 Oct 2010 21:48:54 +0200 Subject: [PATCH] Fix signal "buffer_switch" (was sent twice when switching buffer) (bug #31158) --- ChangeLog | 2 ++ src/gui/curses/gui-curses-window.c | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 25f12e403..da41acf48 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,8 @@ Version 0.3.4 (under dev!) highlight words in buffer * core: use similar behaviour for keys bound to local or global history (bug #30759) +* core: fix signal "buffer_switch" (was sent twice when switching buffer) + (bug #31158) * api: add priority for hooks (task #10550) * api: add new functions: hashtable_get_string, hook_info_hashtable, info_get_hashtable diff --git a/src/gui/curses/gui-curses-window.c b/src/gui/curses/gui-curses-window.c index 865d1c488..cbc0a5378 100644 --- a/src/gui/curses/gui-curses-window.c +++ b/src/gui/curses/gui-curses-window.c @@ -577,9 +577,12 @@ gui_window_switch_to_buffer (struct t_gui_window *window, } gui_input_move_to_buffer (old_buffer, window->buffer); - - hook_signal_send ("buffer_switch", - WEECHAT_HOOK_SIGNAL_POINTER, buffer); + + if (old_buffer != window->buffer) + { + hook_signal_send ("buffer_switch", + WEECHAT_HOOK_SIGNAL_POINTER, buffer); + } } /*