[nautilus-actions] Fix provider writability check



commit eee22e6d9ae921628d1a921d621c42412293cbb6
Author: Pierre Wieser <pwieser trychlos org>
Date:   Mon Dec 21 05:30:49 2009 +0100

    Fix provider writability check

 ChangeLog                                 |   11 +++++++++++
 nautilus-actions/nact/nact-main-menubar.c |    1 +
 nautilus-actions/nact/nact-window.c       |    7 +++++--
 nautilus-actions/runtime/na-io-provider.c |    2 +-
 4 files changed, 18 insertions(+), 3 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f273d41..8010b33 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2009-12-21 Pierre Wieser <pwieser trychlos org>
+
+	* nautilus-actions/nact/nact-main-menubar.c (on_update_sensitivities):
+	Add - commented for now - debug message.
+
+	* nautilus-actions/nact/nact-window.c
+	(nact_window_has_writable_providers): Only unref the object if not null.
+
+	* nautilus-actions/runtime/na-io-provider.c
+	(na_io_provider_get_writable_provider): Fix writability check.
+
 2009-12-20 Pierre Wieser <pwieser trychlos org>
 
 	Some cosmetic changes.
diff --git a/nautilus-actions/nact/nact-main-menubar.c b/nautilus-actions/nact/nact-main-menubar.c
index 1bdae1d..450a15b 100644
--- a/nautilus-actions/nact/nact-main-menubar.c
+++ b/nautilus-actions/nact/nact-main-menubar.c
@@ -618,6 +618,7 @@ on_update_sensitivities( NactMainWindow *window, gpointer user_data )
 
 	mis = ( MenubarIndicatorsStruct * ) g_object_get_data( G_OBJECT( window ), MENUBAR_PROP_INDICATORS );
 	has_writables = nact_window_has_writable_providers( NACT_WINDOW( window ));
+	/*g_debug( "%s: has_writables=%s", thisfn, has_writables ? "True":"False" );*/
 
 	g_object_get(
 			G_OBJECT( window ),
diff --git a/nautilus-actions/nact/nact-window.c b/nautilus-actions/nact/nact-window.c
index 0ba235f..9d7a28b 100644
--- a/nautilus-actions/nact/nact-window.c
+++ b/nautilus-actions/nact/nact-window.c
@@ -254,8 +254,11 @@ nact_window_has_writable_providers( NactWindow *window )
 
 		pivot = nact_window_get_pivot( window );
 		provider = na_io_provider_get_writable_provider( pivot );
-		has_writables = ( provider != NULL );
-		g_object_unref( provider );
+
+		if( provider ){
+			has_writables = TRUE;
+			g_object_unref( provider );
+		}
 	}
 
 	return( has_writables );
diff --git a/nautilus-actions/runtime/na-io-provider.c b/nautilus-actions/runtime/na-io-provider.c
index 380591b..5fc2a5a 100644
--- a/nautilus-actions/runtime/na-io-provider.c
+++ b/nautilus-actions/runtime/na-io-provider.c
@@ -129,7 +129,7 @@ na_io_provider_get_writable_provider( const NAPivot *pivot )
 	providers = na_pivot_get_providers( pivot, NA_IIO_PROVIDER_TYPE );
 
 	for( ip = providers ; ip && !provider ; ip = ip->next ){
-		if( !na_io_provider_is_willing_to_write( pivot, NA_IIO_PROVIDER( ip->data ))){
+		if( na_io_provider_is_willing_to_write( pivot, NA_IIO_PROVIDER( ip->data ))){
 			provider = NA_IIO_PROVIDER( ip->data );
 			g_object_ref( provider );
 		}



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