Bug 553135 – eog crash: assertion failed. Gtk error:
2008-09-22 Matthias Clasen <mclasen@redhat.com>
Bug 553135 – eog crash: assertion failed. Gtk error:
shortcuts_remove_rows: code should not be reached
* gtk/gtkfilechooserdefault.c: Disconnect from GtkFileSystem
signals when we are destroyed, in order to avoid nasty surprises.
Patch by Claudio Saavedra
svn path=/trunk/; revision=21492
This commit is contained in:
parent
e27c3c1939
commit
235480bd9c
2 changed files with 23 additions and 0 deletions
|
|
@ -1,3 +1,12 @@
|
|||
2008-09-22 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
Bug 553135 – eog crash: assertion failed. Gtk error:
|
||||
shortcuts_remove_rows: code should not be reached
|
||||
|
||||
* gtk/gtkfilechooserdefault.c: Disconnect from GtkFileSystem
|
||||
signals when we are destroyed, in order to avoid nasty surprises.
|
||||
Patch by Claudio Saavedra
|
||||
|
||||
2008-09-22 Emmanuele Bassi <ebassi@linux.intel.com>
|
||||
|
||||
Bug 552789 – Show size column in the search and recently used
|
||||
|
|
|
|||
|
|
@ -455,6 +455,7 @@ static void recent_get_valid_child_iter (GtkFileChooserDefault *impl,
|
|||
GtkTreeIter *child_iter,
|
||||
GtkTreeIter *iter);
|
||||
static void set_file_system_backend (GtkFileChooserDefault *impl);
|
||||
static void unset_file_system_backend (GtkFileChooserDefault *impl);
|
||||
|
||||
|
||||
|
||||
|
|
@ -923,6 +924,8 @@ gtk_file_chooser_default_finalize (GObject *object)
|
|||
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object);
|
||||
GSList *l;
|
||||
|
||||
unset_file_system_backend (impl);
|
||||
|
||||
if (impl->shortcuts_pane_filter_model)
|
||||
g_object_unref (impl->shortcuts_pane_filter_model);
|
||||
|
||||
|
|
@ -5404,6 +5407,17 @@ set_file_system_backend (GtkFileChooserDefault *impl)
|
|||
profile_end ("end", NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
unset_file_system_backend (GtkFileChooserDefault *impl)
|
||||
{
|
||||
g_signal_handlers_disconnect_by_func (impl->file_system,
|
||||
G_CALLBACK (volumes_bookmarks_changed_cb), impl);
|
||||
|
||||
g_object_unref (impl->file_system);
|
||||
|
||||
impl->file_system = NULL;
|
||||
}
|
||||
|
||||
/* This function is basically a do_all function.
|
||||
*
|
||||
* It sets the visibility on all the widgets based on the current state, and
|
||||
|
|
|
|||
Loading…
Reference in a new issue