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

Nate Graham <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/plasma-workspace/-/commi |ma/plasma-workspace/-/commi
                   |t/4a513cce1d320e368c665e54f |t/c2c8595237013330930a17206
                   |a9aaf5307d11254             |3ece532ad782f74

--- Comment #27 from Nate Graham <[email protected]> ---
Git commit c2c8595237013330930a172063ece532ad782f74 by Nate Graham, on behalf
of David Edmundson.
Committed on 30/09/2026 at 18:17.
Pushed by ngraham into branch 'Plasma/6.8'.

Fix the window mapping again

The idea of the current code is we have:
 - a launcher model
 - a startup model
 - a window model

we then:
 - concatenate these models
 - then filter them
 - then group them
 - then filter some out again in TasksModel

This last part is a bit sketchy. There is a goal that is if a launcher
exists for a window that is showing we should hide the launcher.

It's an unusual pattern for a filter model, when entry B gets inserted,
entry A should get removed.

The current code detects when a launcher is added, then emits
dataChanged in the filter model. Emitting dataChanged in another model
is very weird, we end up recursively getting back into dataChanged
handling from within a call handling dataChanged and the mapping gets
mangled.

Instead lets keep filtering in the filter model and avoid this incorrect
dataChanged to trigger a re-evaluation. We do it directly when the
source changes.


(cherry picked from commit c43e74c6d2879fea28717ac06a1e7dea72abf46b)

Co-authored-by: David Edmundson <[email protected]>

M  +58   -0    libtaskmanager/taskfilterproxymodel.cpp
M  +14   -0    libtaskmanager/taskfilterproxymodel.h
M  +5    -92   libtaskmanager/tasksmodel.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/c2c8595237013330930a172063ece532ad782f74

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

Reply via email to