2011-11-21 Padraig O'Briain <[email protected]> gnome-2-30-s11update S11U1_04
authorpadraig
Mon, 21 Nov 2011 08:38:38 +0000
branchgnome-2-30-s11update
changeset 22227 36967cd53ad7
parent 22226 f4f46c60d74b
child 22231 9543e3fa54c2
2011-11-21 Padraig O'Briain <[email protected]> CR 7035480 Attempt to remove callback before adding them in nautilus * patches/nautilus-07-lockdown.diff:
ChangeLog
patches/nautilus-07-lockdown.diff
--- a/ChangeLog	Mon Nov 21 03:37:41 2011 +0000
+++ b/ChangeLog	Mon Nov 21 08:38:38 2011 +0000
@@ -1,3 +1,9 @@
+2011-11-21  Padraig O'Briain  <[email protected]>
+
+	CR 7035480 Attempt to remove callback before adding them in nautilus
+
+	* patches/nautilus-07-lockdown.diff:
+
 2011-11-21  Yong Sun <[email protected]>
 
 	CR 7111983 the meta information in community message header are
--- a/patches/nautilus-07-lockdown.diff	Mon Nov 21 03:37:41 2011 +0000
+++ b/patches/nautilus-07-lockdown.diff	Mon Nov 21 08:38:38 2011 +0000
@@ -58,8 +58,8 @@
  }
 /opt/dtbld/bin/diff -uNr nautilus-2.30.1.original/libnautilus-private/nautilus-lockdown.c nautilus-2.30.1/libnautilus-private/nautilus-lockdown.c
 --- nautilus-2.30.1.original/libnautilus-private/nautilus-lockdown.c	1970-01-01 01:00:00.000000000 +0100
-+++ nautilus-2.30.1/libnautilus-private/nautilus-lockdown.c	2010-12-27 16:00:56.538090205 +0100
-@@ -0,0 +1,419 @@
++++ nautilus-2.30.1/libnautilus-private/nautilus-lockdown.c	2011-11-17 09:18:15.845923678 +0000
+@@ -0,0 +1,425 @@
 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
 +/*
 + * Copyright (C) 2004 Sun Microsystems, Inc.
@@ -106,6 +106,7 @@
 +        guint   initialized : 1;
 +        guint   disable_command_line : 1;
 +        guint   restrict_application_launching : 1;
++        guint   added_callbacks : 1;
 +	
 +        char**  allowed_applications;
 +
@@ -191,6 +192,7 @@
 +            nautilus_lockdown.disable_command_line = FALSE;
 +            nautilus_lockdown.restrict_application_launching = FALSE;
 +            nautilus_lockdown.initialized = TRUE;
++            nautilus_lockdown.added_callbacks = FALSE;
 +            return;
 +        }
 +
@@ -207,6 +209,7 @@
 +        nautilus_lockdown.allowed_applications =
 +                nautilus_lockdown_load_allowed_applications (
 +                                                        &nautilus_lockdown) ;
++        nautilus_lockdown.added_callbacks = TRUE;
 +        nautilus_lockdown.initialized = TRUE;
 +}
 +
@@ -216,18 +219,21 @@
 +    GSList *l = NULL ;
 +
 +        g_assert (nautilus_lockdown.initialized == TRUE);
-+        eel_preferences_remove_callback(
-+                                    NAUTILUS_PREFERENCES_DISABLE_COMMANDLINE,
-+                                    disable_command_line_notify, 
-+                                    &nautilus_lockdown) ;
-+        eel_preferences_remove_callback(
-+                                    NAUTILUS_PREFERENCES_RESTRICT_APP_LAUNCHING,
-+                                    restrict_application_launching_notify, 
-+                                    &nautilus_lockdown) ;
-+        eel_preferences_remove_callback(
-+                                    NAUTILUS_PREFERENCES_ALLOWED_APPLICATIONS,
-+                                    allowed_applications_notify, 
-+                                    &nautilus_lockdown) ;
++	if (nautilus_lockdown.added_callbacks)
++	{
++        	eel_preferences_remove_callback(
++					    NAUTILUS_PREFERENCES_DISABLE_COMMANDLINE,
++					    disable_command_line_notify, 
++					    &nautilus_lockdown) ;
++		eel_preferences_remove_callback(
++					    NAUTILUS_PREFERENCES_RESTRICT_APP_LAUNCHING,
++					    restrict_application_launching_notify, 
++					    &nautilus_lockdown) ;
++		eel_preferences_remove_callback(
++					    NAUTILUS_PREFERENCES_ALLOWED_APPLICATIONS,
++					    allowed_applications_notify, 
++					    &nautilus_lockdown) ;
++	}
 +        g_strfreev(nautilus_lockdown.allowed_applications) ;
 +        for (l = nautilus_lockdown.closures; l; l = l->next) {
 +                g_closure_unref (l->data);