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. BUG: 306260 BUG: 306275 FIXED-IN: 4.9.2
Showing
- kwin/tabbox/clientmodel.cpp 1 addition, 1 deletionkwin/tabbox/clientmodel.cpp
- kwin/tabbox/tabbox.cpp 8 additions, 0 deletionskwin/tabbox/tabbox.cpp
- kwin/tabbox/tabbox.h 1 addition, 0 deletionskwin/tabbox/tabbox.h
- kwin/tabbox/tabboxhandler.h 14 additions, 0 deletionskwin/tabbox/tabboxhandler.h
- kwin/tabbox/tests/mock_tabboxhandler.cpp 17 additions, 0 deletionskwin/tabbox/tests/mock_tabboxhandler.cpp
- kwin/tabbox/tests/mock_tabboxhandler.h 1 addition, 0 deletionskwin/tabbox/tests/mock_tabboxhandler.h
- kwin/tabbox/tests/test_tabbox_clientmodel.cpp 20 additions, 0 deletionskwin/tabbox/tests/test_tabbox_clientmodel.cpp
- kwin/tabbox/tests/test_tabbox_clientmodel.h 7 additions, 0 deletionskwin/tabbox/tests/test_tabbox_clientmodel.h
Loading
Please register or sign in to comment