[nautilus/gnome-3-28] file-view: prevent ref unreffed pending selection objects
- From: Ernestas Kulik <ernestask src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/gnome-3-28] file-view: prevent ref unreffed pending selection objects
- Date: Mon, 19 Mar 2018 15:56:24 +0000 (UTC)
commit b6691821b86460bf9d4caa6391666ae506a743c5
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date: Tue Mar 13 18:57:18 2018 +0100
file-view: prevent ref unreffed pending selection objects
Do the selection unref after that we've copied it, as the very same
objects might be in two different lists and thus being invalidated
after the first unref.
Fixes #295
src/nautilus-files-view.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 55d0aeb4e..e2e3ddd44 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -3032,6 +3032,7 @@ nautilus_files_view_set_selection (NautilusView *nautilus_files_view,
{
NautilusFilesView *view;
NautilusFilesViewPrivate *priv;
+ GList *pending_selection;
view = NAUTILUS_FILES_VIEW (nautilus_files_view);
priv = nautilus_files_view_get_instance_private (view);
@@ -3049,9 +3050,11 @@ nautilus_files_view_set_selection (NautilusView *nautilus_files_view,
/* If we are still loading, set the list of pending URIs instead.
* done_loading() will eventually select the pending URIs and reveal them.
*/
+ pending_selection = g_list_copy_deep (selection,
+ (GCopyFunc) g_object_ref, NULL);
g_list_free_full (priv->pending_selection, g_object_unref);
- priv->pending_selection =
- g_list_copy_deep (selection, (GCopyFunc) g_object_ref, NULL);
+
+ priv->pending_selection = pending_selection;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]