Fixed major issues
[ede] / explorer / src / ExplorerWindow.ec
index d22c0d2..eb690c3 100644 (file)
@@ -532,7 +532,7 @@ class ExplorerWindow : Window
    ToggleIconToolButton viewDetails  { toolBar, this, icon = viewDetails, toolTip = "Toggle Listing Details";
       bool NotifyClicked(Button button, int x, int y, Modifiers mods)
       {
-         view.details = true;
+         view.details = button.checked;
          view.treeBranches = false;
          view.Refresh();
          view.Activate();
@@ -1207,24 +1207,27 @@ class ExplorerWindow : Window
 
    void UpdateHistoryItem(FileSystemBoxSelection selection)
    {
-      HistoryItem item = history[historyIndex];
-
-      if(!item.holdRecordingSelection)
+      if(history.count > historyIndex)   // TODO: Review why this would happen...
       {
-         if(selection.node || (selection.nodes && selection.nodes.count))
+         HistoryItem item = history[historyIndex];
+
+         if(!item.holdRecordingSelection)
          {
-            item.selection.Free();
-            if(selection.nodes.count)
+            if(selection.node || (selection.nodes && selection.nodes.count))
             {
-               for(node : selection.nodes)
-                  item.selection.Add(CopyString(node.path));
+               item.selection.Free();
+               if(selection.nodes.count)
+               {
+                  for(node : selection.nodes)
+                     item.selection.Add(CopyString(node.path));
+               }
+               else if(selection.node)
+                  item.selection.Add(CopyString(selection.node.path));
             }
-            else if(selection.node)
-               item.selection.Add(CopyString(selection.node.path));
          }
+         else
+            item.holdRecordingSelection = false;
       }
-      else
-         item.holdRecordingSelection = false;
    }
 
    void SearchStart()
@@ -1387,6 +1390,7 @@ class ExplorerWindow : Window
       //userMode = true;
       addressBar.path = view.path;
       ReadyTree();
+      view.Refresh();
       return true;
    }