Bug 145147 - Crash on consecutive 'Show Desktop' when toggling Yakuake inbetween
Summary: Crash on consecutive 'Show Desktop' when toggling Yakuake inbetween
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 143501 145673 146907 147317 149048 149553 150936 153226 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-05-07 17:10 UTC by Eike Hein
Modified: 2007-12-18 11:45 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
kwin crash (2.44 KB, text/plain)
2007-05-07 17:10 UTC, Eike Hein
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eike Hein 2007-05-07 17:10:04 UTC
Version:            (using KDE KDE 3.5.6)
Installed from:    Compiled From Sources
OS:                Linux

This is technically a continuation of bug #117677, which contains a similar backtrace in comment #7 and the same steps in #12, somewhat drowned out by other noise.

Yakuake is a drop-down terminal emulator based around Konsole's kpart, i.e. it has a KGlobalAccel tied to sliding its window in and out from the top of the screen. When it's opened, it sets it state to 'NET::KeepAbove | NET::Sticky | NET::SkipTaskbar | NET::SkipPager'. By default, it retracts its window when it detects a loss of focus, but it can be made to stick around via its settings.

Trying to reproduce this crash relies on having Yakuake configured not to retract on focus changes.

1. Open the usual mix of various applications and their windows.
2. Launch Yakuake, and slide open its window by using its global shortcut.
3. Invoke 'Show Desktop', hiding all application windows except Yakuake's (because "Show Desktop" is, iirc, implemented by calling minimize on the list of windows not skipping the pager).
4. Use Yakuake's global shortcut to slide out the window.
5. Invoke 'Show Desktop' again. kwin immediately crashes.

Backtrace follows.
Comment 1 Eike Hein 2007-05-07 17:10:48 UTC
Created attachment 20508 [details]
kwin crash
Comment 2 Lubos Lunak 2007-05-09 16:47:12 UTC
SVN commit 662906 by lunakl:

Remove deleted clients also from the list for 'show desktop'.
BUG: 145147



 M  +1 -0      workspace.cpp  


--- branches/KDE/3.5/kdebase/kwin/workspace.cpp #662905:662906
@@ -572,6 +572,7 @@
         focus_chain[ i ].remove( c );
     global_focus_chain.remove( c );
     attention_chain.remove( c );
+    showing_desktop_clients.remove( c );
     if( c->isTopMenu())
         removeTopMenu( c );
     Group* group = findGroup( c->window());
Comment 3 Lubos Lunak 2007-05-21 15:42:38 UTC
*** Bug 145673 has been marked as a duplicate of this bug. ***
Comment 4 Lubos Lunak 2007-06-01 15:50:30 UTC
*** Bug 143501 has been marked as a duplicate of this bug. ***
Comment 5 Lubos Lunak 2007-06-18 23:28:23 UTC
*** Bug 146907 has been marked as a duplicate of this bug. ***
Comment 6 Lubos Lunak 2007-07-12 16:42:24 UTC
*** Bug 147317 has been marked as a duplicate of this bug. ***
Comment 7 Tommi Tervo 2007-08-21 13:51:09 UTC
*** Bug 149048 has been marked as a duplicate of this bug. ***
Comment 8 Tommi Tervo 2007-09-05 10:09:01 UTC
*** Bug 149553 has been marked as a duplicate of this bug. ***
Comment 9 Tommi Tervo 2007-10-17 16:28:28 UTC
*** Bug 150936 has been marked as a duplicate of this bug. ***
Comment 10 Lubos Lunak 2007-12-18 11:45:19 UTC
*** Bug 153226 has been marked as a duplicate of this bug. ***