[nautilus/gnome-3-14] window-menus: unref extension created action
- From: Carlos Soriano Sánchez <csoriano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/gnome-3-14] window-menus: unref extension created action
- Date: Tue, 6 Oct 2015 00:32:55 +0000 (UTC)
commit a0cbf72827b87a28fba47988957001a8b4fbddf5
Author: Carlos Soriano <csoriano gnome org>
Date: Tue Oct 6 02:27:42 2015 +0200
window-menus: unref extension created action
This looks not very harmful. But definitely is.
Thing is, when using nautilus_action_from_menu_item it keeps
a reference to the NautilusMenuItem from the extension.
So that menu item will never be freed.
Now, let's imagine nautilus-open-terminal have a ref to the file
that the item points to, and only unref it when the item is destroyed.
Now, sum that when a file is not unrefed completely from nautilus
when unmounting the file, so it's mark as gone and cannot be used again.
Now try to use it in this state. Nautilus crashes.
This fix few crashes reported downstream on distros that uses
this extension.
src/nautilus-window-menus.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/src/nautilus-window-menus.c b/src/nautilus-window-menus.c
index 999d163..32aba4a 100644
--- a/src/nautilus-window-menus.c
+++ b/src/nautilus-window-menus.c
@@ -685,6 +685,8 @@ add_extension_menu_items (NautilusWindow *window,
nautilus_menu_item_list_free (children);
g_free (subdir);
}
+
+ g_object_unref (action);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]