Summary: | 100% CPU and RAM usage after pressing Page-Up | ||
---|---|---|---|
Product: | [Plasma] krunner | Reporter: | Laurent Bonnaud <L.Bonnaud> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | alexander.lohnau, natalie_clarius, nate, sitter |
Priority: | NOR | Keywords: | efficiency-and-performance |
Version First Reported In: | 6.4.5 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/milou/-/commit/048e2f1442fc1a119708f97664021dd5bf284c47 | Version Fixed In: | 6.5.0 |
Sentry Crash Report: |
Description
Laurent Bonnaud
2025-09-22 14:41:03 UTC
__move_category_up in milou seems to be the offending function A possibly relevant merge request was started @ https://invent.kde.org/plasma/milou/-/merge_requests/94 Git commit cac8ff46a4f67480ea532399ea5dd26aac7d9d8f by Harald Sitter. Committed on 07/10/2025 at 10:22. Pushed by sitter into branch 'master'. resultsview: refactor move_category so it doesn't deadlock - shared impl for both move directions - have a finite loop condition - break the loop when finding the first entry of a category (slightly complicated because the break condition is divergent, I've opted to handle this inside the move function. another alternative would have been to pass in an extra conditions function, but that seems just as complicated and makes for less readable code) the secret to this function working for both scenarios actually lies in the caller. the caller suplies a list of indexes and those are either ascending or descending sorted. effectively allowing us to iterate always in one direction in the move function. M +35 -29 lib/ResultsView.qml https://invent.kde.org/plasma/milou/-/commit/cac8ff46a4f67480ea532399ea5dd26aac7d9d8f Git commit 048e2f1442fc1a119708f97664021dd5bf284c47 by Harald Sitter. Committed on 07/10/2025 at 10:27. Pushed by sitter into branch 'Plasma/6.5'. resultsview: refactor move_category so it doesn't deadlock - shared impl for both move directions - have a finite loop condition - break the loop when finding the first entry of a category (slightly complicated because the break condition is divergent, I've opted to handle this inside the move function. another alternative would have been to pass in an extra conditions function, but that seems just as complicated and makes for less readable code) the secret to this function working for both scenarios actually lies in the caller. the caller suplies a list of indexes and those are either ascending or descending sorted. effectively allowing us to iterate always in one direction in the move function. (cherry picked from commit cac8ff46a4f67480ea532399ea5dd26aac7d9d8f) Co-authored-by: Harald Sitter <sitter@kde.org> M +35 -29 lib/ResultsView.qml https://invent.kde.org/plasma/milou/-/commit/048e2f1442fc1a119708f97664021dd5bf284c47 Thank you for the quick fix! |