Fix hiding unsupported channel modes in topicbar
This commit is contained in:
parent
02275dff51
commit
2f847428aa
@ -925,8 +925,17 @@ mg_populate (session *sess)
|
|||||||
/* restore all the channel mode buttons */
|
/* restore all the channel mode buttons */
|
||||||
ignore_chanmode = TRUE;
|
ignore_chanmode = TRUE;
|
||||||
for (i = 0; i < NUM_FLAG_WIDS - 1; i++)
|
for (i = 0; i < NUM_FLAG_WIDS - 1; i++)
|
||||||
|
{
|
||||||
|
/* Hide if mode not supported */
|
||||||
|
if (sess->server && strchr (sess->server->chanmodes, chan_flags[i]) == NULL)
|
||||||
|
gtk_widget_hide (sess->gui->flag_wid[i]);
|
||||||
|
else
|
||||||
|
gtk_widget_show (sess->gui->flag_wid[i]);
|
||||||
|
|
||||||
|
/* Update state */
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gui->flag_wid[i]),
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gui->flag_wid[i]),
|
||||||
res->flag_wid_state[i]);
|
res->flag_wid_state[i]);
|
||||||
|
}
|
||||||
ignore_chanmode = FALSE;
|
ignore_chanmode = FALSE;
|
||||||
|
|
||||||
if (gui->lagometer)
|
if (gui->lagometer)
|
||||||
@ -3428,20 +3437,10 @@ fe_update_mode_buttons (session *sess, char mode, char sign)
|
|||||||
{
|
{
|
||||||
if (!sess->gui->is_tab || sess == current_tab)
|
if (!sess->gui->is_tab || sess == current_tab)
|
||||||
{
|
{
|
||||||
/* Mode not supported */
|
ignore_chanmode = TRUE;
|
||||||
if (sess->server && strchr (sess->server->chanmodes, mode) == NULL)
|
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (sess->gui->flag_wid[i])) != state)
|
||||||
{
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sess->gui->flag_wid[i]), state);
|
||||||
gtk_widget_hide (sess->gui->flag_wid[i]);
|
ignore_chanmode = FALSE;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gtk_widget_show (sess->gui->flag_wid[i]);
|
|
||||||
ignore_chanmode = TRUE;
|
|
||||||
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (sess->gui->flag_wid[i])) != state)
|
|
||||||
gtk_toggle_button_set_active (
|
|
||||||
GTK_TOGGLE_BUTTON (sess->gui->flag_wid[i]), state);
|
|
||||||
ignore_chanmode = FALSE;
|
|
||||||
}
|
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
sess->res->flag_wid_state[i] = state;
|
sess->res->flag_wid_state[i] = state;
|
||||||
|
Loading…
Reference in New Issue
Block a user