Bug 220582 - Desktop Grid plug-in crashes when moving pinned window [QHash<KWin::EffectWindow*, KWin::WindowMotionManager::WindowMotion>::findNode, QHash<KWin::EffectWindow*, KWin::WindowMotionManager::WindowMotion>::contains, KWin::WindowMotionManager::manage]
Summary: Desktop Grid plug-in crashes when moving pinned window [QHash<KWin::EffectWin...
Status: VERIFIED BACKTRACE
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: VHI crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-29 20:31 UTC by Marcus Harrison
Modified: 2022-11-05 22:21 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Remembering the previous report. (6.67 KB, text/plain)
2022-11-05 22:21 UTC, Kevin Lemay
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Harrison 2009-12-29 20:31:37 UTC
Application: kwin (4.3.85 (KDE 4.3.85 (KDE 4.4 Beta2)))
KDE Platform Version: 4.3.85 (KDE 4.3.85 (KDE 4.4 Beta2))
Qt Version: 4.6.0
Operating System: Linux 2.6.31-17-generic i686
Distribution: Ubuntu 9.10

-- Information about the crash:
To reproduce:
Make sure the Desktop Grid plug-in is using the Present Windows effect as well;
Activate the Desktop Grid;
Right-click a window to make it span all desktops;
Then take that same window and try to move it across to another desktop.

I've not tested it extensively to see under what other configurations this might happen with.

The crash can be reproduced everytime.

 -- Backtrace:
Application: KWin (kwin), signal: Segmentation fault
[KCrash Handler]
#6  QHash<KWin::EffectWindow*, KWin::WindowMotionManager::WindowMotion>::findNode (this=0x8, akey=@0xbf97c274, ahp=0x0) at /usr/include/qt4/QtCore/qhash.h:877
#7  0x00184d2c in QHash<KWin::EffectWindow*, KWin::WindowMotionManager::WindowMotion>::contains (this=0x4, w=0x9f29c90) at /usr/include/qt4/QtCore/qhash.h:867
#8  KWin::WindowMotionManager::manage (this=0x4, w=0x9f29c90) at ../../../kwin/lib/kwineffects.cpp:1152
#9  0x0143a43f in KWin::DesktopGridEffect::windowInputMouseEvent (this=0x9a51678, e=0xbf97c438) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:588
#10 0x002f8990 in KWin::EffectsHandlerImpl::checkInputWindowEvent (this=0x99e3ad0, e=0xbf97c99c) at ../../kwin/effects.cpp:817
#11 0x00296138 in KWin::Workspace::workspaceEvent (this=0x99e8508, e=0xbf97c99c) at ../../kwin/events.cpp:258
#12 0x00270842 in KWin::Application::x11EventFilter (this=0xbf97cd48, e=0xbf97c99c) at ../../kwin/main.cpp:361
#13 0x05e672d0 in qt_x11EventFilter (ev=0xbf97c99c) at kernel/qapplication_x11.cpp:399
#14 0x05e76ae0 in QApplication::x11ProcessEvent (this=0xbf97cd48, event=0xbf97c99c) at kernel/qapplication_x11.cpp:3231
#15 0x05ea704a in x11EventSourceDispatch (s=0x98b7070, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#16 0x011c0e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#17 0x011c4730 in ?? () from /lib/libglib-2.0.so.0
#18 0x011c4863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#19 0x09583bd5 in QEventDispatcherGlib::processEvents (this=0x98b3d10, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#20 0x05ea6b75 in QGuiEventDispatcherGlib::processEvents (this=0x98b3d10, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#21 0x095564c9 in QEventLoop::processEvents (this=0xbf97cc94, flags=) at kernel/qeventloop.cpp:149
#22 0x0955691a in QEventLoop::exec (this=0xbf97cc94, flags=...) at kernel/qeventloop.cpp:201
#23 0x0955ab0f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#24 0x05de9237 in QApplication::exec () at kernel/qapplication.cpp:3570
#25 0x00272410 in kdemain (argc=1, argv=0xbf97cf54) at ../../kwin/main.cpp:526
#26 0x080485cb in main (argc=1, argv=0xbf97cf54) at kwin_dummy.cpp:3

Reported using DrKonqi
Comment 1 Christoph Feck 2009-12-31 20:15:33 UTC
Related to bug 220789.
Comment 2 Martin Flöser 2010-01-01 12:04:32 UTC
SVN commit 1068482 by graesslin:

Correctly manage windows on all desktops when using present windows in desktop grid.
That is remove the window from all desktops on drag begin and attach the window to the mouse cursor. On release add them back to all desktop.
That way it's possible to move pinned windows to other screens and it fixes a crash.
BUG: 220582

 M  +37 -6     desktopgrid.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1068482
Comment 3 Kevin Lemay 2022-11-05 22:21:16 UTC
Created attachment 153504 [details]
Remembering the previous report.