broulik created this revision. broulik added reviewers: Plasma, hein. Restricted Application added a project: Plasma. Restricted Application added a subscriber: plasma-devel. broulik requested review of this revision.
REVISION SUMMARY Qt's Drag attached property doesn't like it at all when it gets deleted during drag. Even though we try very hard to keep the popup open, when you have multiple notification applets, their dialogs don't know each other but access a shared data engine. This means that, since there can only we one hovered dialog at a time, another notification applet might still dismiss the notification and have our dialog close. By using a singleton NotificationHelper we 1.) decouple the Drag from the item and 2.) share the "is dragging" state between applets. BUG: 388684 FIXED-IN: 5.12.0 TEST PLAN DragHelper taken from Kicker and adjusted - Added two notification applets, took a screenshot, dragged the screenshot of a notification, waited a bit, notification stayed open. Previously it would still close and then crash - left click to open thumbnail still works - Right click for context menu still works - We get a nice drag pixmap now, the original code with using the QPixmapItem as drag source never worked apparently REPOSITORY R120 Plasma Workspace REVISION DETAIL https://phabricator.kde.org/D9754 AFFECTED FILES applets/notifications/package/contents/ui/ThumbnailStrip.qml applets/notifications/plugin/CMakeLists.txt applets/notifications/plugin/draghelper.cpp applets/notifications/plugin/draghelper.h applets/notifications/plugin/notificationshelperplugin.cpp To: broulik, #plasma, hein Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart