Index: masquerade.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/masquerade/masquerade.module,v
retrieving revision 1.16.2.49
diff -u -p -r1.16.2.49 masquerade.module
--- masquerade.module	1 Nov 2010 02:09:01 -0000	1.16.2.49
+++ masquerade.module	27 Jan 2011 17:14:36 -0000
@@ -127,7 +127,7 @@ function masquerade_menu() {
 }
 
 /**
- * Implementation of hook_menu_link_alter().
+ * Implementation of hook_menu_alter().
  *
  * We need to add a token to the Masquerade paths to protect against CSRF
  * attacks. Since menu items in Drupal do not support dynamic elements these
@@ -135,9 +135,12 @@ function masquerade_menu() {
  * hook_translated_menu_link_alter. Set the 'alter'-option to TRUE to make sure
  * the links get passed through hook_translated_menu_link_alter.
  */
-function masquerade_menu_link_alter(&$item) {
-  if (($item['page callback'] == 'masquerade_switch_user_page') || ($item['page callback'] == 'masquerade_switch_back_page')) {
-    $item['options']['alter'] = TRUE;
+function masquerade_menu_alter(&$items) {
+  $items['masquerade/unswitch']['options']['alter'] = TRUE;
+  $items['masquerade/switch/%']['options']['alter'] = TRUE;
+  $default_test_user = _masquerade_user_load(variable_get('masquerade_test_user', ''));
+  if (isset($default_test_user->uid)) {
+    $items['masquerade/switch/' . $default_test_user->uid]['options']['alter'] = TRUE;
   }
 }
 
