[nautilus-actions] Fix na_exporter_get_providers infinite loop, na_iduplicable_instance_dispose



commit 5c202ffc70083587266fb070b35d4fbc0a2d6e2e
Author: Pierre Wieser <pwieser trychlos org>
Date:   Thu Feb 18 19:43:57 2010 +0100

    Fix na_exporter_get_providers infinite loop, na_iduplicable_instance_dispose

 ChangeLog                 |    6 ++++++
 src/core/na-exporter.c    |    1 +
 src/core/na-iduplicable.c |    4 +++-
 3 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 450b77b..13f066d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-02-18 Pierre Wieser <pwieser trychlos org>
 
+	* src/core/na-exporter.c (na_exporter_get_formats):
+	Fix infinite loop.
+
+	* src/core/na-iduplicable.c (na_iduplicable_dispose):
+	Test for effective connexion before trying to disconnect.
+
 	* src/core/na-data-element.c (na_data_element_set):
 	Fix value->type inverted assertion.
 
diff --git a/src/core/na-exporter.c b/src/core/na-exporter.c
index c05269a..0bd59ea 100644
--- a/src/core/na-exporter.c
+++ b/src/core/na-exporter.c
@@ -70,6 +70,7 @@ na_exporter_get_formats( const NAPivot *pivot )
 
 				format = na_export_format_new( str, NA_IEXPORTER( imod->data ));
 				formats = g_list_prepend( formats, format );
+				str++;
 			}
 		}
 
diff --git a/src/core/na-iduplicable.c b/src/core/na-iduplicable.c
index 42ce9ef..c791394 100644
--- a/src/core/na-iduplicable.c
+++ b/src/core/na-iduplicable.c
@@ -192,7 +192,9 @@ na_iduplicable_dispose( const NAIDuplicable *object )
 
 		str = get_duplicable_str( object );
 
-		g_signal_handler_disconnect(( gpointer ) object, str->status_changed_handler_id );
+		if( g_signal_handler_is_connected(( gpointer ) object, str->status_changed_handler_id )){
+			g_signal_handler_disconnect(( gpointer ) object, str->status_changed_handler_id );
+		}
 
 		g_free( str );
 	}



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