Summary: | Dangerous behaviour of process table when filtering processes and selecting | ||
---|---|---|---|
Product: | [Unmaintained] ksysguard | Reporter: | Xtracto <xtracto> |
Component: | general | Assignee: | KSysGuard Developers <ksysguard-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | me |
Priority: | HI | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Xtracto
2006-10-16 18:02:53 UTC
Strange, since bug 122158 was fixed since KDE 3.5.2. Could you please check if you're using the latest kdebase packages? Scratch my last comment. Bug 122158 fixes only a part of the problem. Ouch, this sucks! SVN commit 608934 by johnflux: Mostly fix the selection of processes. It's impossible to fix 100% because of stupid stupid race conditions that I cannot avoid without rewriting the search box. This is inherently fixed (i,e. fixed by design) in kde4. Closing bug. It's as good as it's going to get. Thank you Xtracto for a clear bug report with exact instructions to repeat :-) BUG:135760 M +3 -3 ProcessList.cc --- branches/KDE/3.5/kdebase/ksysguard/gui/SensorDisplayLib/ProcessList.cc #608933:608934 @@ -680,7 +680,7 @@ // iterate through all items of the listview for ( ; it.current(); ++it ) { - if (it.current()->isSelected()) + if (it.current()->isSelected() && it.current()->isVisible()) selectedPIds.append(it.current()->text(1).toInt()); if (treeViewEnabled && !it.current()->isOpen()) closedSubTrees.append(it.current()->text(1).toInt()); @@ -910,7 +910,7 @@ { selectedPIds.clear(); - QListViewItemIterator it(this); + QListViewItemIterator it(this, QListViewItemIterator::Visible); // iterate through all items of the listview for ( ; it.current(); ++it ) @@ -925,7 +925,7 @@ void ProcessList::selectAllChilds(int pid, bool select) { - QListViewItemIterator it(this); + QListViewItemIterator it(this, QListViewItemIterator::Visible ); // iterate through all items of the listview for ( ; it.current(); ++it ) |