diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/relay/weechat/relay-weechat-protocol.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/relay/weechat/relay-weechat-protocol.c b/src/plugins/relay/weechat/relay-weechat-protocol.c index 3ea85bf03..ab93bc47a 100644 --- a/src/plugins/relay/weechat/relay-weechat-protocol.c +++ b/src/plugins/relay/weechat/relay-weechat-protocol.c @@ -502,8 +502,9 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal, if (!ptr_buffer) return WEECHAT_RC_OK; - /* send signal only if sync with flag "buffer" */ + /* send signal only if sync with flag "buffers" or "buffer" */ if (relay_weechat_protocol_is_sync (ptr_client, ptr_buffer, + RELAY_WEECHAT_PROTOCOL_SYNC_BUFFERS | RELAY_WEECHAT_PROTOCOL_SYNC_BUFFER)) { msg = relay_weechat_msg_new (str_signal); @@ -639,14 +640,15 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal, } } } - else if (strcmp (signal, "buffer_cleared") == 0) + else if (strncmp (signal, "buffer_localvar_", 16) == 0) { ptr_buffer = (struct t_gui_buffer *)signal_data; - if (!ptr_buffer || relay_weechat_is_relay_buffer (ptr_buffer)) + if (!ptr_buffer) return WEECHAT_RC_OK; - /* send signal only if sync with flag "buffer" */ + /* send signal only if sync with flag "buffers" or "buffer" */ if (relay_weechat_protocol_is_sync (ptr_client, ptr_buffer, + RELAY_WEECHAT_PROTOCOL_SYNC_BUFFERS | RELAY_WEECHAT_PROTOCOL_SYNC_BUFFER)) { msg = relay_weechat_msg_new (str_signal); @@ -655,16 +657,16 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal, snprintf (cmd_hdata, sizeof (cmd_hdata), "buffer:0x%lx", (long unsigned int)ptr_buffer); relay_weechat_msg_add_hdata (msg, cmd_hdata, - "number,full_name"); + "number,full_name,local_variables"); relay_weechat_msg_send (ptr_client, msg); relay_weechat_msg_free (msg); } } } - else if (strncmp (signal, "buffer_localvar_", 16) == 0) + else if (strcmp (signal, "buffer_cleared") == 0) { ptr_buffer = (struct t_gui_buffer *)signal_data; - if (!ptr_buffer) + if (!ptr_buffer || relay_weechat_is_relay_buffer (ptr_buffer)) return WEECHAT_RC_OK; /* send signal only if sync with flag "buffer" */ @@ -677,7 +679,7 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal, snprintf (cmd_hdata, sizeof (cmd_hdata), "buffer:0x%lx", (long unsigned int)ptr_buffer); relay_weechat_msg_add_hdata (msg, cmd_hdata, - "number,full_name,local_variables"); + "number,full_name"); relay_weechat_msg_send (ptr_client, msg); relay_weechat_msg_free (msg); } |