--- gnome-panel-2.16.1/gnome-panel/panel-lockdown.h.orig	2009-08-25 12:44:56.000000000 +0200
+++ gnome-panel-2.16.1/gnome-panel/panel-lockdown.h	2009-08-25 12:45:12.000000000 +0200
@@ -38,6 +38,7 @@
 gboolean panel_lockdown_get_disable_lock_screen  (void);
 gboolean panel_lockdown_get_disable_log_out      (void);
 gboolean panel_lockdown_get_disable_force_quit   (void);
+gboolean panel_lockdown_get_disable_places_menu   (void);
 
 gboolean panel_lockdown_is_applet_disabled (const char *iid);
 
--- gnome-panel-2.16.1/gnome-panel/panel-lockdown.c.orig	2009-08-25 12:41:41.000000000 +0200
+++ gnome-panel-2.16.1/gnome-panel/panel-lockdown.c	2009-08-25 13:06:45.000000000 +0200
@@ -29,7 +29,7 @@
 #include <string.h>
 #include "panel-gconf.h"
 
-#define N_LISTENERS 6
+#define N_LISTENERS 7
 
 #define PANEL_GLOBAL_LOCKDOWN_DIR    "/apps/panel/global"
 #define DESKTOP_GNOME_LOCKDOWN_DIR   "/desktop/gnome/lockdown"
@@ -38,6 +38,7 @@
 #define DISABLE_LOCK_SCREEN_KEY      PANEL_GLOBAL_LOCKDOWN_DIR  "/disable_lock_screen"
 #define DISABLE_LOG_OUT_KEY          PANEL_GLOBAL_LOCKDOWN_DIR  "/disable_log_out"
 #define DISABLE_FORCE_QUIT_KEY       PANEL_GLOBAL_LOCKDOWN_DIR  "/disable_force_quit"
+#define DISABLE_PLACES_MENU_KEY      PANEL_GLOBAL_LOCKDOWN_DIR  "/disable_places_menu"
 #define DISABLED_APPLETS_KEY         PANEL_GLOBAL_LOCKDOWN_DIR  "/disabled_applets"
 
 typedef struct {
@@ -48,6 +49,7 @@
         guint   disable_lock_screen : 1;
         guint   disable_log_out : 1;
         guint   disable_force_quit : 1;
+        guint   disable_places_menu : 1;
 
         GSList *disabled_applets;
 
@@ -139,6 +141,20 @@
 }
 
 static void
+disable_places_menu_notify (GConfClient   *client,
+                            guint          cnxn_id,
+                            GConfEntry    *entry,
+                            PanelLockdown *lockdown)
+{
+        if (!entry->value || entry->value->type != GCONF_VALUE_BOOL)
+                return;
+
+        lockdown->disable_places_menu = gconf_value_get_bool (entry->value);
+
+        panel_lockdown_invoke_closures (lockdown);
+}
+
+static void
 disabled_applets_notify (GConfClient   *client,
                          guint          cnxn_id,
                          GConfEntry    *entry,
@@ -268,6 +284,13 @@
                                           (GConfClientNotifyFunc) disable_force_quit_notify,
                                           i++);
 
+        panel_lockdown.disable_places_menu =
+                panel_lockdown_load_bool (&panel_lockdown,
+                                          client,
+                                          DISABLE_PLACES_MENU_KEY,
+                                          (GConfClientNotifyFunc) disable_places_menu_notify,
+                                          i++);
+
         panel_lockdown.disabled_applets =
                 panel_lockdown_load_disabled_applets (&panel_lockdown,
                                                       client,
@@ -358,6 +381,14 @@
 }
 
 gboolean
+panel_lockdown_get_disable_places_menu (void)
+{
+        g_assert (panel_lockdown.initialized != FALSE);
+
+        return panel_lockdown.disable_places_menu;
+}
+
+gboolean
 panel_lockdown_is_applet_disabled (const char *iid)
 {
         GSList *l;
--- gnome-panel-2.16.1/gnome-panel/panel-menu-bar.c.orig	2009-08-25 12:57:32.000000000 +0200
+++ gnome-panel-2.16.1/gnome-panel/panel-menu-bar.c	2009-08-25 13:35:27.000000000 +0200
@@ -130,10 +130,11 @@
 			  "enter-notify-event",
 			  G_CALLBACK (panel_menu_bar_enter_applications),
 			  menubar);
-	g_signal_connect (menubar->priv->places_item,
-			  "enter-notify-event",
-			  G_CALLBACK (panel_menu_bar_enter_places),
-			  menubar);
+	if (!panel_lockdown_get_disable_places_menu())
+		g_signal_connect (menubar->priv->places_item,
+				  "enter-notify-event",
+				  G_CALLBACK (panel_menu_bar_enter_places),
+				  menubar);
 	g_signal_connect (menubar->priv->desktop_item,
 			  "enter-notify-event",
 			  G_CALLBACK (panel_menu_bar_enter_desktop),
@@ -145,10 +146,11 @@
 			  "activate",
 			  G_CALLBACK (panel_menu_bar_hide_tooltip),
 			  menubar);
-	g_signal_connect (menubar->priv->places_item,
-			  "activate",
-			  G_CALLBACK (panel_menu_bar_hide_tooltip),
-			  menubar);
+	if (!panel_lockdown_get_disable_places_menu())
+		g_signal_connect (menubar->priv->places_item,
+				  "activate",
+				  G_CALLBACK (panel_menu_bar_hide_tooltip),
+				  menubar);
 	g_signal_connect (menubar->priv->desktop_item,
 			  "activate",
 			  G_CALLBACK (panel_menu_bar_hide_tooltip),
@@ -191,9 +193,11 @@
 	gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
 			       menubar->priv->applications_item);
 
-	menubar->priv->places_item = panel_place_menu_item_new (FALSE);
-	gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
-			       menubar->priv->places_item);
+	if (!panel_lockdown_get_disable_places_menu()) {
+		menubar->priv->places_item = panel_place_menu_item_new (FALSE);
+		gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
+				       menubar->priv->places_item);
+	}
 
 	menubar->priv->desktop_item = panel_desktop_menu_item_new (FALSE, TRUE);
 	gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
@@ -579,10 +583,11 @@
 					   text_angle,
 					   text_xalign,
 					   text_yalign);
-	set_item_text_angle_and_alignment (menubar->priv->places_item,
-					   text_angle,
-					   text_xalign,
-					   text_yalign);
+	if (!panel_lockdown_get_disable_places_menu())
+		set_item_text_angle_and_alignment (menubar->priv->places_item,
+						   text_angle,
+						   text_xalign,
+						   text_yalign);
 	set_item_text_angle_and_alignment (menubar->priv->desktop_item,
 					   text_angle,
 					   text_xalign,
--- gnome-panel-2.16.1/gnome-panel/panel-global.schemas.in.orig	2005-06-06 22:18:18.000000000 +0200
+++ gnome-panel-2.16.1/gnome-panel/panel-global.schemas.in	2009-08-25 12:49:25.000000000 +0200
@@ -271,6 +271,19 @@
         </locale>
       </schema>
 
+      <schema>
+        <key>/schemas/apps/panel/global/disable_places_menu</key>
+        <applyto>/apps/panel/global/disable_places_menu</applyto>
+        <owner>panel</owner>
+        <type>bool</type>
+        <default>false</default>
+        <locale name="C">
+          <short>Disable Places Menu</short>
+          <long>If true, the panel will not show the places menu.
+          </long>
+        </locale>
+      </schema>
+
   </schemalist>
   
 </gconfschemafile>
