From dacbd48e37d9a040d2655478fbf4c4e1986dcc1e Mon Sep 17 00:00:00 2001 From: wj32 Date: Fri, 5 Dec 2008 10:06:16 +0000 Subject: [PATCH] Doesn't update threads/handles unless viewing them git-svn-id: svn://svn.code.sf.net/p/processhacker/code@224 21ef857c-d57f-4fe0-8362-d861dc6d29cd --- trunk/CHANGELOG.txt | 2 +- .../Forms/HackerWindow.Designer.cs | 1 + trunk/ProcessHacker/Forms/HackerWindow.cs | 28 +++++++++++++++++-- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/trunk/CHANGELOG.txt b/trunk/CHANGELOG.txt index 49d1bf170..fe4c8e6e3 100644 --- a/trunk/CHANGELOG.txt +++ b/trunk/CHANGELOG.txt @@ -2,8 +2,8 @@ Process Hacker 1.2.3.5 * Added handle viewing/closing support - * Added handle finder * Fixed random crashes + * Doesn't update threads/handles unless viewing them 1.2.3.0 * Fixed incorrect messages about "new services" (actually fixed this time) diff --git a/trunk/ProcessHacker/Forms/HackerWindow.Designer.cs b/trunk/ProcessHacker/Forms/HackerWindow.Designer.cs index e12eba6b4..9183ea39f 100644 --- a/trunk/ProcessHacker/Forms/HackerWindow.Designer.cs +++ b/trunk/ProcessHacker/Forms/HackerWindow.Designer.cs @@ -1119,6 +1119,7 @@ this.tabControl.SelectedIndex = 0; this.tabControl.Size = new System.Drawing.Size(438, 350); this.tabControl.TabIndex = 5; + this.tabControl.SelectedIndexChanged += new System.EventHandler(this.tabControl_SelectedIndexChanged); // // tabProcess // diff --git a/trunk/ProcessHacker/Forms/HackerWindow.cs b/trunk/ProcessHacker/Forms/HackerWindow.cs index aeea67cd6..688e050e7 100644 --- a/trunk/ProcessHacker/Forms/HackerWindow.cs +++ b/trunk/ProcessHacker/Forms/HackerWindow.cs @@ -3055,12 +3055,16 @@ namespace ProcessHacker threadP = new ThreadProvider(processSelectedPID); listThreads.Provider = threadP; threadP.Interval = Properties.Settings.Default.RefreshInterval; - threadP.Enabled = true; + + if (tabControl.SelectedTab == tabThreads) + threadP.Enabled = true; handleP = new HandleProvider(processSelectedPID); listHandles.Provider = handleP; handleP.Interval = Properties.Settings.Default.RefreshInterval; - handleP.Enabled = true; + + if (tabControl.SelectedTab == tabHandles) + handleP.Enabled = true; if (Properties.Settings.Default.UseToolhelpModules) UpdateModuleInfoToolhelp(); @@ -3268,5 +3272,25 @@ namespace ProcessHacker t.Priority = ThreadPriority.Lowest; t.Start(); } + + private void tabControl_SelectedIndexChanged(object sender, EventArgs e) + { + if (threadP != null) + threadP.Enabled = false; + + if (handleP != null) + handleP.Enabled = false; + + if (tabControl.SelectedTab == tabThreads) + { + if (threadP != null) + threadP.Enabled = true; + } + else if (tabControl.SelectedTab == tabHandles) + { + if (handleP != null) + handleP.Enabled = true; + } + } } }