1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-25 20:36:38 +02:00

relay: send messages "_buffer_localvar_*" and "_buffer_type_changed" with sync "buffers" (closes #191)

This commit is contained in:
Sébastien Helleu
2014-11-16 10:53:55 +01:00
parent 9e3fd56fd8
commit debfb57d0f
5 changed files with 63 additions and 59 deletions
@@ -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,6 +640,29 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal,
}
}
}
else if (strncmp (signal, "buffer_localvar_", 16) == 0)
{
ptr_buffer = (struct t_gui_buffer *)signal_data;
if (!ptr_buffer)
return WEECHAT_RC_OK;
/* 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);
if (msg)
{
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");
relay_weechat_msg_send (ptr_client, msg);
relay_weechat_msg_free (msg);
}
}
}
else if (strcmp (signal, "buffer_cleared") == 0)
{
ptr_buffer = (struct t_gui_buffer *)signal_data;
@@ -661,28 +685,6 @@ relay_weechat_protocol_signal_buffer_cb (void *data, const char *signal,
}
}
}
else if (strncmp (signal, "buffer_localvar_", 16) == 0)
{
ptr_buffer = (struct t_gui_buffer *)signal_data;
if (!ptr_buffer)
return WEECHAT_RC_OK;
/* send signal only if sync with flag "buffer" */
if (relay_weechat_protocol_is_sync (ptr_client, ptr_buffer,
RELAY_WEECHAT_PROTOCOL_SYNC_BUFFER))
{
msg = relay_weechat_msg_new (str_signal);
if (msg)
{
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");
relay_weechat_msg_send (ptr_client, msg);
relay_weechat_msg_free (msg);
}
}
}
else if (strcmp (signal, "buffer_line_added") == 0)
{
ptr_line = (struct t_gui_line *)signal_data;