https://bugs.kde.org/show_bug.cgi?id=473174

cwo <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
            Version|                            |6.5.4
  Fixed/Implemented|                            |
                 In|                            |
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/plasma-workspace/-/commi
                   |                            |t/8f40ffbd2baa8a0992b29864c
                   |                            |4e3272ed0144b4b

--- Comment #9 from cwo <[email protected]> ---
Git commit 8f40ffbd2baa8a0992b29864c4e3272ed0144b4b by Christoph Wolk.
Committed on 22/11/2025 at 08:47.
Pushed by cwo into branch 'master'.

applets/kicker: don't emit queryFinished if still querying

The kicker backend passes the RunnerManager's queryFinished signal
forward, if there are no querying runners remaining. Both kicker's
frontend and kickoff use this to display "No matches". This doesn't
work, because RunnerManager emits this signal when the query is
finished for any reason, including when it is aborted. This is
particularly troublesome in kickoff, as it aggregates the results
on the krunner side, and only uses one query itself. So the following
happens:

- the user types the first letter, the number of querying models is set
  to 1, and the query is started
- the user types the second letter, the number of querying models is set
  to 1, and the query is started
- the first query is aborted (as it's replaced be the new one), and the
  RunnerManager sends the queryFinished signal to the kicker backend
- the kicker backend receives the signal, reduces the number of querying
  models by 1 (now 0), and signals kickoff that the query is finished
- the frontend displays "No matches" with a query still running
- the actual results come in and replace the placeholder

Similar things can happen in Kicker, but it's less common there, as it
has multiple querying models and so will often have actual results ready
when the internal tracker of running queries inappropriately hits zero.

Instead, we adapt how we track the running queries to Krunner's
semantics, and add the number of newly started queries to the number of
querying models, rather than setting it to that value. This accounts for
the signals that the to-be-aborted queries send, and solves the
issue in both kickoff and kicker.
FIXED-IN: 6.5.4

M  +1    -1    applets/kicker/runnermodel.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/8f40ffbd2baa8a0992b29864c4e3272ed0144b4b

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to