I can't get it to crash. Was a crash dump created?
Here are slightly improved versions of both scripts:
Up:
[code]@script jscript
function goUpDeep(sourcetab, command) {
var oldPath = sourcetab.path;
if (oldPath.test_parent) {
command.RunCommand("Go UP BACK");
sourcetab.Update();
command.SetSourceTab(sourcetab);
if (!DOpus.FSUtil.ComparePath(oldPath, sourcetab.path)) { // Ensure we really changed folder.
var enumItems = DOpus.FSUtil.ReadDir(sourcetab.path);
if (!enumItems.complete) {
var item = enumItems.Next();
if (item != null && item.is_dir && enumItems.complete) {
DOpus.Delay(50);
goUpDeep(sourcetab, command);
}
}
}
}
}
function OnClick(clickData) {
goUpDeep(clickData.func.sourcetab, clickData.func.command);
}[/code]
Down:
[code]@script jscript
function goDownDeep(sourcetab, command) {
var oldPath = sourcetab.path;
command.RunCommand("Go FROMSEL");
sourcetab.Update();
command.SetSourceTab(sourcetab);
if (!DOpus.FSUtil.ComparePath(oldPath, sourcetab.path)) { // Ensure we really changed folder.
var enumItems = DOpus.FSUtil.ReadDir(sourcetab.path);
if (!enumItems.complete) {
var item = enumItems.Next();
if (item != null && item.is_dir && enumItems.complete) {
DOpus.Delay(50);
command.ClearFiles();
command.AddFile(item);
goDownDeep(sourcetab, command);
}
}
}
}
function OnClick(clickData) {
goDownDeep(clickData.func.sourcetab, clickData.func.command);
}[/code]