Bug 306275 - Cannot switch to any window from the Desktop
Summary: Cannot switch to any window from the Desktop
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: tabbox (show other bugs)
Version: 4.9.1
Platform: Compiled Sources Linux
: NOR major
Target Milestone: 4.9.2
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-05 04:45 UTC by Andrea Scarpino
Modified: 2012-09-05 18:59 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.9.2
Sentry Crash Report:


Attachments
show desktop settings (103.34 KB, image/png)
2012-09-05 04:46 UTC, Andrea Scarpino
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Scarpino 2012-09-05 04:45:19 UTC
After upgrading from 4.9.0 to 4.9.1, with these settings (attachment 1 [details]), if I focus on the desktop using Alt+Tab, the next Alt+Tab shows only the Show Desktop entry while I've a couple of windows opened on the screen.

Reproducible: Always

Steps to Reproduce:
1. Check "Include Show Desktop icon" in the Task Switcher settings
2. Open Kwrite
3. Open Konsole
4. Press Alt+Tab and focus to the Desktop
5.  Press Alt+Tab and try to move to KWrite
Actual Results:  
Only the Show Desktop entry is displayed

Expected Results:  
You can navigate between windows

KDE 4.9.1 with KDEBUG#306260 freeze patch
Comment 1 Andrea Scarpino 2012-09-05 04:46:03 UTC
Created attachment 73664 [details]
show desktop settings
Comment 2 Martin Flöser 2012-09-05 15:20:50 UTC
this might be a regression caused by the patch.
Comment 3 Andrea Scarpino 2012-09-05 17:53:08 UTC
The new version of the patch in the bug#306260 fix this.
Comment 4 Martin Flöser 2012-09-05 17:59:39 UTC
the fix is not yet committed - so I better reopen :-)
Comment 5 Martin Flöser 2012-09-05 18:59:25 UTC
Git commit 8452e6c3f01a65953705087e0d7ada87e2cc6997 by Martin Gräßlin.
Committed on 05/09/2012 at 20:55.
Pushed by graesslin into branch 'KDE/4.9'.

Ensure that the start Client to build up the ClientModel is in the Focus Chain

If the start Client is not part of the focus chain the call to
nextClientFocusChain() cannot return the Client again. So the loop break
condition is never reached and as the focus chain is not empty the call
always returns a not null Client which means KWin is caught in an endless
loop.

This change checks that the starting Client is in the focus chain and if
not the first Client of the focus chain is used.
Related: bug 306260
FIXED-IN: 4.9.2

M  +1    -1    kwin/tabbox/clientmodel.cpp
M  +8    -0    kwin/tabbox/tabbox.cpp
M  +1    -0    kwin/tabbox/tabbox.h
M  +14   -0    kwin/tabbox/tabboxhandler.h
M  +17   -0    kwin/tabbox/tests/mock_tabboxhandler.cpp
M  +1    -0    kwin/tabbox/tests/mock_tabboxhandler.h
M  +20   -0    kwin/tabbox/tests/test_tabbox_clientmodel.cpp
M  +7    -0    kwin/tabbox/tests/test_tabbox_clientmodel.h

http://commits.kde.org/kde-workspace/8452e6c3f01a65953705087e0d7ada87e2cc6997