summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/relay/weechat/relay-weechat-protocol.c18
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);
}