? frontpage_dbl_icon.patch
Index: admin_menu.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.module,v
retrieving revision 1.43.2.6
diff -u -p -r1.43.2.6 admin_menu.module
--- admin_menu.module	20 Jul 2008 19:11:57 -0000	1.43.2.6
+++ admin_menu.module	22 Jul 2008 06:54:12 -0000
@@ -298,3 +298,23 @@ function theme_admin_menu_icon() {
   return '<img class="admin-menu-icon" src="'. (theme_get_setting('toggle_favicon') ? theme_get_setting('favicon') : base_path() .'misc/favicon.ico') .'" width="16" height="16" alt="" />';
 }
 
+/**
+ * Implementation of hook_form_-form-id_alter() for system_site_information_settings.
+ */
+function admin_menu_form_system_site_information_settings_alter(&$form, $form_state) {
+  $form['#submit'][] = 'admin_menu_system_site_information_settings_submit';
+}
+
+/**
+ * Extra submit handler for system_site_information_settings_submit
+ */
+function admin_menu_system_site_information_settings_submit($form, &$form_state) {
+  // Only need to take action if the site_frontpage has changed.
+  if ($form['site_frontpage']['#default_value'] != $form_state['values']['site_frontpage']) {
+    // Flag the admin menu to be rebuilt.
+    variable_set('admin_menu_rebuild_links', TRUE);
+
+    // Delete the old menu item from the database. Is there a better way to do this? Does this still work woth pathauto paths?
+    db_query('DELETE FROM {menu_links} WHERE `module` = "admin_menu" AND `menu_name` = "admin_menu" AND `link_path` = "%s"', $form['site_frontpage']['#default_value']);
+  }
+}
