2011-11-21 Padraig O'Briain <
[email protected]>
CR 7035480 Attempt to remove callback before adding them in nautilus
* 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);