thread list is more responsive

git-svn-id: svn://svn.code.sf.net/p/processhacker/code@1594 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
wj32
2009-07-13 02:48:44 +00:00
parent c09b497ffc
commit 73bcbf1bfb
3 changed files with 16 additions and 23 deletions
+1
View File
@@ -4,6 +4,7 @@ Process Hacker
* NEW/IMPROVED:
* Better process window exit status display
* Better handle granted access display
* Thread list is more responsive
1.3.9.0
* NEW/IMPROVED:
+2 -22
View File
@@ -125,8 +125,6 @@ namespace ProcessHacker.Components
private void listThreads_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.Cursor = Cursors.WaitCursor;
if (listThreads.SelectedItems.Count == 1)
{
try
@@ -134,7 +132,6 @@ namespace ProcessHacker.Components
int tid = int.Parse(listThreads.SelectedItems[0].Name);
var thread = Windows.GetProcessThreads(_pid)[tid];
ProcessThread processThread = null;
string fileName;
try
{
@@ -143,23 +140,8 @@ namespace ProcessHacker.Components
catch
{ }
if (!_provider.Symbols.Busy)
{
try
{
_provider.Symbols.GetSymbolFromAddress(_provider.Dictionary[tid].StartAddressI.ToUInt64(), out fileName);
fileModule.Text = fileName;
fileModule.Enabled = true;
}
catch
{
fileModule.Enabled = false;
}
}
else
{
fileModule.Enabled = false;
}
fileModule.Text = _provider.Dictionary[tid].FileName;
fileModule.Enabled = !string.IsNullOrEmpty(fileModule.Text);
if (processThread != null)
{
@@ -210,8 +192,6 @@ namespace ProcessHacker.Components
if (this.SelectedIndexChanged != null)
this.SelectedIndexChanged(sender, e);
this.Cursor = Cursors.Default;
}
private void ThreadList_KeyDown(object sender, KeyEventArgs e)
@@ -51,6 +51,7 @@ namespace ProcessHacker
public string Priority;
public IntPtr StartAddressI;
public string StartAddress;
public string FileName;
public SymbolResolveLevel StartAddressLevel;
public KWaitReason WaitReason;
public bool IsGuiThread;
@@ -65,6 +66,7 @@ namespace ProcessHacker
{
public int Tid;
public string Symbol;
public string FileName;
public SymbolResolveLevel ResolveLevel;
}
@@ -97,6 +99,7 @@ namespace ProcessHacker
if (message.Symbol != null)
{
this.Dictionary[message.Tid].StartAddress = message.Symbol;
this.Dictionary[message.Tid].FileName = message.FileName;
this.Dictionary[message.Tid].StartAddressLevel = message.ResolveLevel;
this.Dictionary[message.Tid].JustResolved = true;
}
@@ -276,7 +279,16 @@ namespace ProcessHacker
try
{
result.Symbol = _symbols.GetSymbolFromAddress(startAddress, out result.ResolveLevel);
SymbolFlags flags;
string fileName;
result.Symbol = _symbols.GetSymbolFromAddress(
startAddress,
out result.ResolveLevel,
out flags,
out fileName
);
result.FileName = fileName;
_messageQueue.Enqueue(result);
}
catch