[nautilus-actions] Reset the imported desktop file object



commit c9537efb888e0273d25c2ae6ad18d72f4bb4b472
Author: Pierre Wieser <pwieser trychlos org>
Date:   Fri Sep 3 11:51:46 2010 +0200

    Reset the imported desktop file object

 ChangeLog                    |    3 +++
 src/io-desktop/nadp-reader.c |    7 +++++++
 2 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 4ddfb46..809757e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2010-09-02 Pierre Wieser <pwieser trychlos org>
 
+	* src/io-desktop/nadp-reader.c (nadp_reader_iimporter_import_from_uri):
+	Do not keep the imported desktop file.
+
 	* src/io-desktop/nadp-desktop-file.c (nadp_desktop_file_write):
 	Do not return TRUE if file has not been written due to dispose state.
 
diff --git a/src/io-desktop/nadp-reader.c b/src/io-desktop/nadp-reader.c
index 72e3679..80fe439 100644
--- a/src/io-desktop/nadp-reader.c
+++ b/src/io-desktop/nadp-reader.c
@@ -378,6 +378,13 @@ nadp_reader_iimporter_import_from_uri( const NAIImporter *instance, NAIImporterI
 			code = IMPORTER_CODE_OK;
 			g_return_val_if_fail( NA_IS_OBJECT_ITEM( parms->imported ), IMPORTER_CODE_NOT_WILLING_TO );
 
+			/* remove the weak reference on desktop file set by 'item_from_desktop_file'
+			 * as we must consider this #NAObjectItem as a new one
+			 */
+			na_object_set_provider_data( parms->imported, NULL );
+			g_object_weak_unref( G_OBJECT( parms->imported ), ( GWeakNotify ) desktop_weak_notify, ndf );
+			g_object_unref( ndf );
+
 			manage_parms.version = 1;
 			manage_parms.imported = parms->imported;
 			manage_parms.check_fn = parms->check_fn;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]