mirror of
https://github.com/weechat/weechat.git
synced 2026-07-01 07:16:37 +02:00
relay, xfer: update hotlist only if items are actually removed when purging list on relay/xfer buffer
This commit is contained in:
@@ -174,6 +174,7 @@ relay_buffer_input_cb (const void *pointer, void *data,
|
||||
{
|
||||
struct t_relay_client *client, *ptr_client, *next_client;
|
||||
const char *ptr_remote_name, *ptr_remote_id;
|
||||
int refresh;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) pointer;
|
||||
@@ -200,15 +201,20 @@ relay_buffer_input_cb (const void *pointer, void *data,
|
||||
/* purge old clients */
|
||||
else if (weechat_strcmp (input_data, "p") == 0)
|
||||
{
|
||||
refresh = 0;
|
||||
ptr_client = relay_clients;
|
||||
while (ptr_client)
|
||||
{
|
||||
next_client = ptr_client->next_client;
|
||||
if (RELAY_STATUS_HAS_ENDED(ptr_client->status))
|
||||
{
|
||||
relay_client_free (ptr_client);
|
||||
refresh = 1;
|
||||
}
|
||||
ptr_client = next_client;
|
||||
}
|
||||
relay_buffer_refresh (WEECHAT_HOTLIST_MESSAGE);
|
||||
if (refresh)
|
||||
relay_buffer_refresh (WEECHAT_HOTLIST_MESSAGE);
|
||||
}
|
||||
/* quit relay buffer (close it) */
|
||||
else if (weechat_strcmp (input_data, "q") == 0)
|
||||
|
||||
@@ -261,6 +261,7 @@ xfer_buffer_input_cb (const void *pointer, void *data,
|
||||
const char *input_data)
|
||||
{
|
||||
struct t_xfer *xfer, *ptr_xfer, *next_xfer;
|
||||
int refresh;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) pointer;
|
||||
@@ -289,15 +290,20 @@ xfer_buffer_input_cb (const void *pointer, void *data,
|
||||
/* purge old xfer */
|
||||
else if (weechat_strcmp (input_data, "p") == 0)
|
||||
{
|
||||
refresh = 0;
|
||||
ptr_xfer = xfer_list;
|
||||
while (ptr_xfer)
|
||||
{
|
||||
next_xfer = ptr_xfer->next_xfer;
|
||||
if (XFER_HAS_ENDED(ptr_xfer->status))
|
||||
{
|
||||
xfer_free (ptr_xfer);
|
||||
refresh = 1;
|
||||
}
|
||||
ptr_xfer = next_xfer;
|
||||
}
|
||||
xfer_buffer_refresh (WEECHAT_HOTLIST_MESSAGE);
|
||||
if (refresh)
|
||||
xfer_buffer_refresh (WEECHAT_HOTLIST_MESSAGE);
|
||||
}
|
||||
/* quit xfer buffer (close it) */
|
||||
else if (weechat_strcmp (input_data, "q") == 0)
|
||||
|
||||
Reference in New Issue
Block a user