d75e7a6d60
Client holds a SharedPointer to the TabBoxClient and only provides access to a WeakPointer which is passed to TabBox. ClientModel is adjusted to hold a list of WeakPointers instead of the direct pointers. This fixes the following reproducable crash: 1. Configure both primary and secondary TabBox with different layouts 2. Use primary TabBox 3. Close a window, best the one which used to be active 4. Use secondary TabBox -> Crash The reason is that the ClientModel still contains the pointer to the deleted TabBoxClient in step 3 and while creating the layout access to the TabBoxClient is needed to get the Client's icon. By using the weak pointer it can be ensured that we don't try to dereference the deleted pointer and prevent the crash. CCBUG: 290482 CCBUG: 285747 CCBUG: 237345 REVIEW: 105000 |
||
---|---|---|
.. | ||
qml | ||
clientmodel.cpp | ||
clientmodel.h | ||
CMakeLists.txt | ||
declarative.cpp | ||
declarative.h | ||
desktopmodel.cpp | ||
desktopmodel.h | ||
kwinwindowswitcher.desktop | ||
tabbox.cpp | ||
tabbox.h | ||
tabboxconfig.cpp | ||
tabboxconfig.h | ||
tabboxhandler.cpp | ||
tabboxhandler.h |