### Eclipse Workspace Patch 1.0
#P ctools
Index: page_manager/plugins/tasks/page.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ctools/page_manager/plugins/tasks/page.inc,v
retrieving revision 1.17.2.4
diff -u -r1.17.2.4 page.inc
--- page_manager/plugins/tasks/page.inc	30 Aug 2010 22:07:52 -0000	1.17.2.4
+++ page_manager/plugins/tasks/page.inc	1 Sep 2010 08:06:49 -0000
@@ -95,6 +95,15 @@
 function page_manager_page_save_subtask($subtask) {
   $page = &$subtask['subtask'];
 
+  // See if path has changed
+  $old_path = $subtask['admin path'];
+  if (!empty($old_path) && $page->path != $old_path) {
+    // Update menu link if one exists for this page. The menu_rebuild() should
+    // automatically update router_path. In fact, menu_rebuild() builds links
+    // solely with link_path.
+    db_query("UPDATE {menu_links} SET link_path = '%s', updated = 1 WHERE router_path = '%s' AND customized = 1", $page->path, $old_path);
+  }
+
   // Ensure $page->arguments contains only real arguments:
   $arguments = page_manager_page_get_named_arguments($page->path);
   $args = array();
@@ -457,6 +466,10 @@
     }
   }
   db_query("DELETE FROM {page_manager_pages} WHERE name = '%s'", $page->name);
+
+  // Remove menu links
+  db_query("DELETE FROM {menu_links} WHERE router_path = '%s' AND customized = 1", $page->path);
+
   // Make sure that the cache is reset so that the menu rebuild does not
   // rebuild this page again.
   ctools_include('export');
