Summary: | plasma-desktop crashes when dragging windows from task manager to pager | ||
---|---|---|---|
Product: | [Unmaintained] plasma4 | Reporter: | Jens Rutschmann <Jens.Rutschmann> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | hein |
Priority: | NOR | Keywords: | drkonqi |
Version: | 4.11.0 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kde-workspace/af6653c766981ca81bac499de284abcdc2c7f08f | Version Fixed In: | 4.11.1 |
Sentry Crash Report: |
Description
Jens Rutschmann
2013-08-19 18:22:27 UTC
Thanks for the backtrace. Drag-to-pager was reimplemented for 4.11.1 now and isn't crashing for me, so hopefully this is fixed, whatever it was ... Hi Eike, could you give me a pointer to the patch / git revision? I'd be glad to test it - if it can be applied on top of 4.11.0 Thanks, Jens It should be fairly easy to apply, however you need to patch both kde-runtime and kde-workspace (the reason the feature didn't make 4.11.0 was that there was a missing feature in an underlying library that I had to get through review first). Here are the relevant revisions in the two repositories: http://quickgit.kde.org/?p=kde-runtime.git&a=commit&h=7b69cd2f6c28a088c886a51549005b8edcbb91f1 http://quickgit.kde.org/?p=kde-workspace.git&a=commit&h=e7b8ac8397721f7870ccb2158275afe4a463878f If you get a chance to test it before 4.11.1 is tagged that would be much appreciated! Unfortunately I'm still getting the same crash. Could be a PEBKAC but I've seen from the build log that the Gentoo package manager applied the patches cleanly. I then first tried a re-login, then a reboot without any change. Do I need to create a new panel first? Let me describe the behavior a bit better: When I drag the window to the pager all is fine, no crash so far - can't drop it there though. Now I keep the window icon dragged over a desktop symbol and wait there a few seconds. Then the system switches to this desktop (window icon is still being dragged). I can move it around on the pager and quick start icons in the panel without problem, but as soon as I drag it over the task manager area the crash occurs. Let me know if you need further info. Thanks for testing - I haven't had a chance to try your new steps to reproduce yet, but I'll reopen this for now. Git commit af6653c766981ca81bac499de284abcdc2c7f08f by Eike Hein. Committed on 26/08/2013 at 21:57. Pushed by hein into branch 'KDE/4.11'. Factor drag instanciation out into a C++ helper. This moves the drag source out of the task delegate, making sure it survives the delegate in scenarios where it might be destroyed prior to dropping (e.g. due to a virtual desktop switch), avoiding a crash. I'd like to move this back into QML in Plasma 2 if we can add a programmatic way to initiate a drag to DragArea, or work through some of the event hand- ling issues involved with having a single drag area below the repeater (though this would mean pretty ugly spaghetti code regardless), or QML gains the ability to reparent objects including transferring object ownership (unlikely ...). Related: bug 322283 This also reduces the number of sub-items the task delegate instanciates and specifically the number of mouse event- handling items per task from two to one, simplifying the scene mouse event filtering that's going on, which appears to address a second rare crash (or at least it has become unreproducable here), although further investigation to prove this conclusively would be nice. M +1 -0 plasma/desktop/applets/tasks/CMakeLists.txt M +4 -4 plasma/desktop/applets/tasks/package/contents/ui/MouseHandler.qml M +58 -49 plasma/desktop/applets/tasks/package/contents/ui/Task.qml M +11 -0 plasma/desktop/applets/tasks/package/contents/ui/main.qml A +61 -0 plasma/desktop/applets/tasks/support/draghelper.cpp [License: GPL (v2+)] A +45 -0 plasma/desktop/applets/tasks/support/draghelper.h [License: GPL (v2+)] M +2 -0 plasma/desktop/applets/tasks/tasks.cpp http://commits.kde.org/kde-workspace/af6653c766981ca81bac499de284abcdc2c7f08f |