From 77dc67ec9218b9eb6dd8a88f8d81d15312ce3d3c Mon Sep 17 00:00:00 2001
From: Gerhard Killesreiter <killes_www_drop_org@227.no-reply.drupal.org>
Date: Fri, 7 Apr 2006 15:18:40 +0000
Subject: [PATCH] #56415, menu_set_location (menu_set_active) mangles
 $_GET/arg(), patch by JonBob

---
 includes/menu.inc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/includes/menu.inc b/includes/menu.inc
index 661f9db88477..b43042d01afc 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -328,6 +328,10 @@ function menu_set_location($location) {
   $temp_id = min(array_keys($_menu['items'])) - 1;
   $prev_id = 0;
 
+  // Don't allow this function to change the actual current path, just the
+  // position in the menu tree.
+  $location[count($location) - 1]['path'] = $_GET['q'];
+
   foreach (array_reverse($location) as $item) {
     if (isset($_menu['path index'][$item['path']])) {
       $mid = $_menu['path index'][$item['path']];
-- 
GitLab