Debugger: Never automatically resize the columns of the ImageFunctions table.
This table will have thousands of items in every branch, most with extremely long names, so resizing all its columns to the preferred size takes an unbelievable number of app_server round-trips to measure text. For modules with any significant usage of C++, there are going to be functions with names so long that it will make the table quite unwiedly to work with, anyway, when columns are automatically resized. This fixes half of the whole-application hang that happens when changing between functions in the call stack.
This commit is contained in:
parent
0a48878fba
commit
29335bd389
@ -707,9 +707,6 @@ ImageFunctionsView::SetImageDebugInfo(ImageDebugInfo* imageDebugInfo)
|
||||
fFunctionsTable->SetNodeExpanded(path, true, false);
|
||||
}
|
||||
|
||||
if (fImageDebugInfo != NULL)
|
||||
fFunctionsTable->ResizeAllColumnsToPreferred();
|
||||
|
||||
TRACE_GUI("ImageFunctionsView::SetImageDebugInfo(%p) done\n",
|
||||
imageDebugInfo);
|
||||
}
|
||||
@ -725,7 +722,6 @@ ImageFunctionsView::SetFunction(FunctionInstance* function)
|
||||
fFunctionsTable->SetNodeExpanded(path, true, true);
|
||||
fFunctionsTable->SelectNode(path, false);
|
||||
fFunctionsTable->ScrollToNode(path);
|
||||
fFunctionsTable->ResizeAllColumnsToPreferred();
|
||||
} else
|
||||
fFunctionsTable->DeselectAllNodes();
|
||||
}
|
||||
@ -827,7 +823,7 @@ ImageFunctionsView::_Init()
|
||||
fFunctionsTable->SetSortingEnabled(false);
|
||||
|
||||
float addressWidth = be_plain_font->StringWidth("0x00000000")
|
||||
+ be_control_look->DefaultLabelSpacing() * 2 + 5;
|
||||
+ be_control_look->DefaultLabelSpacing() * 3;
|
||||
|
||||
// columns
|
||||
fFunctionsTable->AddColumn(fHighlightingColumn
|
||||
@ -862,8 +858,6 @@ ImageFunctionsView::_ExpandFilteredNodes()
|
||||
fFunctionsTable->SetNodeExpanded(path, true, true);
|
||||
}
|
||||
}
|
||||
|
||||
fFunctionsTable->ResizeAllColumnsToPreferred();
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user