https://bugs.kde.org/show_bug.cgi?id=527507
Sam <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #9 from Sam <[email protected]> --- I can reproduce this consistently on 6.8.1, and I think I've found the cause. STEPS TO REPRODUCE 1. Use two screens, each with its own panel containing an Icons-only Task Manager with "Show only tasks from the current screen" enabled. 2. Pin an app to the panel on screen A (optionally pin it on screen B's panel too). 3. Launch it from screen A's panel, so its window opens on screen A. 4. Move the window to screen B (drag it or use Meta+Shift+Arrow). Don't open or close any other window in the meantime. OBSERVED RESULT The pinned icon disappears from screen A's panel. If the app is also pinned on screen B's panel, it shows up there twice (launcher + window). Both fix themselves as soon as any window is opened or closed. EXPECTED RESULT The launcher stays on screen A's panel, and on screen B the window takes the launcher's place. CAUSE In 6.8, launcher hiding moved into TaskFilterProxyModel::acceptsRow(). That check correctly takes the screen filter into account, but launcher rows are only re-filtered when source rows are inserted/removed or when dataChanged carries AppId or LauncherUrlWithoutIcon (TaskFilterProxyModel::setSourceModel()). Moving a window only changes ScreenGeometry, so the window row is re-filtered but the launcher rows keep their old result: hidden on the screen the window left, still visible on the screen it arrived on. The virtual desktop and activity filters to have the same issue, but I haven't tested it. Current master adds a ScreenGeometry check in that lambda, but only when filterByCurrentVirtualDesktop is set (see 0cd7539079), so the filterByScreen case still seems to be affected. Also invalidating the filter in that lambda when ScreenGeometry (and VirtualDesktops, IsOnAllVirtualDesktops, Activities) change fixes it for me locally. I'll see if I can open an MR. -- You are receiving this mail because: You are watching all bug changes.
