diff --git a/CHANGELOG.md b/CHANGELOG.md index 8aef976d9..51c04a9c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - irc: do not strip trailing spaces from incoming IRC messages - irc: fix crash on /list buffer when a filter is set ([#2197](https://github.com/weechat/weechat/issues/2197)) - relay/api: fix empty nicklist in remote buffers after connection or reconnection +- core: always send the signal "buffer_switch", even when the buffer is opening ([#2198](https://github.com/weechat/weechat/issues/2198)) - lua: fix compilation on Fedora with Lua < 5.2.0 ([#2173](https://github.com/weechat/weechat/issues/2173), [#2174](https://github.com/weechat/weechat/issues/2174)) - core: fix build on Android ([#2180](https://github.com/weechat/weechat/issues/2180)) diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c index 7720353a5..18c54a895 100644 --- a/src/gui/gui-buffer.c +++ b/src/gui/gui-buffer.c @@ -184,7 +184,8 @@ gui_buffer_search_notify (const char *notify) } /* - * Sends a buffer signal (only if the buffer is completely opened. + * Sends a buffer signal, only if the buffer is completely opened or if + * the signal is "buffer_switch". */ int @@ -192,8 +193,10 @@ gui_buffer_send_signal (struct t_gui_buffer *buffer, const char *signal, const char *type_data, void *signal_data) { - return (buffer->opening) ? - WEECHAT_RC_OK : hook_signal_send (signal, type_data, signal_data); + if (buffer->opening && (string_strcmp (signal, "buffer_switch") != 0)) + return WEECHAT_RC_OK; + + return hook_signal_send (signal, type_data, signal_data); } /*