Summary: | KWin crashes when alt-tabbing after plasma crash | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Franz Trischberger <franz.trischberger> |
Component: | tabbox | Assignee: | Martin Flöser <mgraesslin> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kwin-bugs-null, matthew |
Priority: | NOR | Flags: | mgraesslin:
ReviewRequest+
|
Version: | 4.9.0 | ||
Target Milestone: | 4.9.1 | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
URL: | https://git.reviewboard.kde.org/r/105935/ | ||
Latest Commit: | http://commits.kde.org/kde-workspace/ee12ed430639afbfce3e5e6904b850abbf31f3f1 | Version Fixed In: | 4.9.1 |
Sentry Crash Report: |
Description
Franz Trischberger
2012-08-05 14:53:17 UTC
I'd say it happens because the tabbox is not build [1] and we also don't enter "empty tabbox" mode [1] clientmodel.cpp:190 TabBoxClient* c = tabBox->nextClientFocusChain(start).data(); is null @Martin Proposal: in case the focus chain returns 0, we could just fall through to the stacking order? Semi-related observations: a) it does not seem possible to effectively select StackingOrder (it's not the GUI, the config is updated) b) i don't understand this: TabBoxClient* c = tabBox->nextClientFocusChain(start).data(); gets called for sure, but Client* TabBox::nextClientFocusChain(Client* c) const seems not (i added debug out there) in the empty(?) focus chain case (otherwise yes) Git commit ee12ed430639afbfce3e5e6904b850abbf31f3f1 by Martin Gräßlin. Committed on 08/08/2012 at 22:28. Pushed by graesslin into branch 'KDE/4.9'. Verify QVariant is valid before casting to Client* If the ClientModel does not contain any Clients, which can happen if there is no desktop window, accessing the data of a ModelIndex returns an invalid QVariant. Because of that it needs to be ensured that the QVariant is valid before trying to cast it to a Client Pointer. FIXED-IN: 4.9.1 REVIEW: 105935 M +5 -1 kwin/tabbox/tabboxhandler.cpp M +18 -0 kwin/tabbox/tests/CMakeLists.txt A +55 -0 kwin/tabbox/tests/test_tabbox_handler.cpp [License: GPL (v2)] http://commits.kde.org/kde-workspace/ee12ed430639afbfce3e5e6904b850abbf31f3f1 *** Bug 308294 has been marked as a duplicate of this bug. *** |