gtklistbox: Factor the new header out into a separate variable

Makes the code a little clearer, but makes no functional changes.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
Philip Withnall 2019-10-04 18:25:16 +01:00
parent 94d9088034
commit 1c73edd9b0

View File

@ -2221,7 +2221,7 @@ gtk_list_box_update_header (GtkListBox *box,
GtkListBoxRow *row; GtkListBoxRow *row;
GSequenceIter *before_iter; GSequenceIter *before_iter;
GtkListBoxRow *before_row; GtkListBoxRow *before_row;
GtkWidget *old_header; GtkWidget *old_header, *new_header;
if (iter == NULL || g_sequence_iter_is_end (iter)) if (iter == NULL || g_sequence_iter_is_end (iter))
return; return;
@ -2247,18 +2247,20 @@ gtk_list_box_update_header (GtkListBox *box,
priv->update_header_func (row, priv->update_header_func (row,
before_row, before_row,
priv->update_header_func_target); priv->update_header_func_target);
if (old_header != ROW_PRIV (row)->header) new_header = ROW_PRIV (row)->header;
if (old_header != new_header)
{ {
if (old_header != NULL) if (old_header != NULL)
{ {
gtk_widget_unparent (old_header); gtk_widget_unparent (old_header);
g_hash_table_remove (priv->header_hash, old_header); g_hash_table_remove (priv->header_hash, old_header);
} }
if (ROW_PRIV (row)->header != NULL) if (new_header != NULL)
{ {
g_hash_table_insert (priv->header_hash, ROW_PRIV (row)->header, row); g_hash_table_insert (priv->header_hash, new_header, row);
gtk_widget_set_parent (ROW_PRIV (row)->header, GTK_WIDGET (box)); gtk_widget_unparent (new_header);
gtk_widget_show (ROW_PRIV (row)->header); gtk_widget_set_parent (new_header, GTK_WIDGET (box));
gtk_widget_show (new_header);
} }
gtk_widget_queue_resize (GTK_WIDGET (box)); gtk_widget_queue_resize (GTK_WIDGET (box));
} }