listbox: Properly remove placeholders

https://bugzilla.gnome.org/show_bug.cgi?id=778617
This commit is contained in:
Timm Bäder 2017-04-07 19:02:35 +02:00
parent 9b05176eb2
commit b7fdc5b447

View File

@ -2451,6 +2451,16 @@ gtk_list_box_remove (GtkContainer *container,
was_visible = gtk_widget_get_visible (child);
if (child == priv->placeholder)
{
gtk_widget_unparent (child);
priv->placeholder = NULL;
if (was_visible && gtk_widget_get_visible (widget))
gtk_widget_queue_resize (widget);
return;
}
if (!GTK_IS_LIST_BOX_ROW (child))
{
row = g_hash_table_lookup (priv->header_hash, child);
@ -2532,7 +2542,7 @@ gtk_list_box_forall (GtkContainer *container,
GSequenceIter *iter;
GtkListBoxRow *row;
if (priv->placeholder != NULL && include_internals)
if (priv->placeholder != NULL)
callback (priv->placeholder, callback_target);
iter = g_sequence_get_begin_iter (priv->children);