Avoid a critical in the file chooser

Hiding the location entry was causing criticals, because
the completion was updated after the widget has already
been disposed.
https://bugzilla.gnome.org/show_bug.cgi?id=720330
This commit is contained in:
Matthias Clasen 2014-05-21 22:50:48 -04:00
parent b90802f7e4
commit 898f0fa0b9

View File

@ -125,18 +125,22 @@ gtk_file_chooser_entry_dispatch_properties_changed (GObject *object,
G_OBJECT_CLASS (_gtk_file_chooser_entry_parent_class)->dispatch_properties_changed (object, n_pspecs, pspecs);
/* What we are after: The text in front of the cursor was modified.
* Unfortunately, there's no other way to catch this. */
for (i = 0; i < n_pspecs; i++)
/* Don't do this during or after disposal */
if (gtk_widget_get_parent (GTK_WIDGET (object)) != NULL)
{
if (pspecs[i]->name == I_("cursor-position") ||
pspecs[i]->name == I_("selection-bound") ||
pspecs[i]->name == I_("text"))
/* What we are after: The text in front of the cursor was modified.
* Unfortunately, there's no other way to catch this.
*/
for (i = 0; i < n_pspecs; i++)
{
set_complete_on_load (chooser_entry, FALSE);
refresh_current_folder_and_file_part (chooser_entry);
break;
if (pspecs[i]->name == I_("cursor-position") ||
pspecs[i]->name == I_("selection-bound") ||
pspecs[i]->name == I_("text"))
{
set_complete_on_load (chooser_entry, FALSE);
refresh_current_folder_and_file_part (chooser_entry);
break;
}
}
}
}