Index: tolbase/lib/wtree/wtree.tcl
===================================================================
--- tolbase/lib/wtree/wtree.tcl	(revision a8dad5cf02b0a9d5be8769949fadf29a18cbdd60)
+++ tolbase/lib/wtree/wtree.tcl	(revision 48947f4e82a376525c3f8831c4d7722562faa4f9)
@@ -501,4 +501,21 @@
   }
  
+  method _filterNodesMatching { } {
+    if { [ llength $listFilterOff ] } {
+      $tree item configure [ list list $listFilterOff ] -visible 0
+      set listFilterOff [ list ]
+    }
+    if { [ llength $listFilterOn ] } {
+      $tree item configure [ list list $listFilterOn ] -visible 1
+      if { !$options(-table) } {
+        foreach nid $listFilterOn {
+          $tree item configure \
+              [ list list [ $tree item ancestors $nid ] ] -visible 1
+        }
+      }
+      set listFilterOn [ list ]
+    }
+  }
+
   method _filterNodeSet { nodes positiveWords negativeRegExp } {
     #puts "filterNodeSet '$nodes' '$positiveWords'"
@@ -512,4 +529,10 @@
       }
 
+      $self _filterNode $n $positiveWords $negativeRegExp
+      # desciendo a los hijos
+      $self _filterNodeSet [ $tree item children $n ] \
+          $positiveWords $negativeRegExp
+      
+      if { 0 } {
       if { [ $self _filterNode $n $positiveWords $negativeRegExp ] } {
         # si el resultado es visible desciendo y filtro a los hijos
@@ -517,4 +540,5 @@
             $positiveWords $negativeRegExp
       }
+      }
 
       # esto es para el filtrado automatico incremental
@@ -522,23 +546,9 @@
       if { !$breakFilter && !( $numItemsFiltered % 1000 ) } {
         # refresco la cola de eventos
-        if { [ llength $listFilterOn ] } {
-          $tree item configure [ list list $listFilterOn ] -visible 1
-          set listFilterOn [ list ]
-        }
-        if { [ llength $listFilterOff ] } {
-          $tree item configure [ list list $listFilterOff ] -visible 0
-          set listFilterOff [ list ]
-        }
+        $self _filterNodesMatching
         update
       }
     }
-    if { [ llength $listFilterOn ] } {
-      $tree item configure [ list list $listFilterOn ] -visible 1
-      set listFilterOn [ list ]
-    }
-    if { [ llength $listFilterOff ] } {
-      $tree item configure [ list list $listFilterOff ] -visible 0
-      set listFilterOff [ list ]
-    }
+    $self _filterNodesMatching
     return 1
   }
