Quantcast

In ListItem_OnClick(): When clicking an expanded entry, back up in the list until that entry's parent is found instead simply looking for any header/subheader.

James D. Callahan III [04-10-10 - 09:16]
In ListItem_OnClick(): When clicking an expanded entry, back up in the list until that entry's parent is found instead simply looking for any header/subheader.
Filename
Frame.lua
diff --git a/Frame.lua b/Frame.lua
index f794863..f4d4cc0 100644
--- a/Frame.lua
+++ b/Frame.lua
@@ -2750,20 +2750,23 @@ do

 			traverseIndex = clickedIndex - 1

-			while entries[traverseIndex] and entries[traverseIndex].type ~= "header" and entries[traverseIndex].type ~= "subheader" do
+			while entries[traverseIndex] and entries[traverseIndex] ~= clicked_line.parent do
 				traverseIndex = traverseIndex - 1
 			end
 			entries[traverseIndex].is_expanded = false
-			traverseIndex = traverseIndex + 1

-			local children = clicked_line.parent.children
+			local children = entries[traverseIndex].children

 			-- Remove the expanded lines.
 			if children then
+				traverseIndex = traverseIndex + 1
+
 				while #children > 0 do
 					table.remove(children)
 					ReleaseTable(table.remove(ListFrame.entries, traverseIndex))
 				end
+			else
+				addon:Debug("Error: clicked_line's parent has no children.")
 			end
 		end
 		highlight:Hide()