summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/taxonomy/taxonomy.module9
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index a0fa34ac6..3be800183 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -913,11 +913,12 @@ function taxonomy_get_tree($vid, $parent = 0, $depth = -1, $max_depth = NULL) {
if ($children[$vid][$parent]) {
foreach ($children[$vid][$parent] as $child) {
if ($max_depth > $depth) {
- $terms[$vid][$child]->depth = $depth;
+ $term = drupal_clone($terms[$vid][$child]);
+ $term->depth = $depth;
// The "parent" attribute is not useful, as it would show one parent only.
- unset($terms[$vid][$child]->parent);
- $terms[$vid][$child]->parents = $parents[$vid][$child];
- $tree[] = $terms[$vid][$child];
+ unset($term->parent);
+ $term->parents = $parents[$vid][$child];
+ $tree[] = $term;
if ($children[$vid][$child]) {
$tree = array_merge($tree, taxonomy_get_tree($vid, $child, $depth, $max_depth));