Bug 363936 - Dolphin hangs after "ignoring" a DndPopupMenu and closing the window
Summary: Dolphin hangs after "ignoring" a DndPopupMenu and closing the window
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.27.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-04 11:20 UTC by Elvis Angelaccio
Modified: 2016-10-28 09:57 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.28


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Elvis Angelaccio 2016-06-04 11:20:52 UTC
Not sure if this is a bug in Dolphin or KIO::DropJob, but these are the steps to reproduce:

Reproducible: Always

Steps to Reproduce:
1. Drag and drop an item (file or folder) on another item
2. The popup menu with "Copy Here", "Move Here", etc. appears
3. Ignore this menu and click on the dolphin view to make it disappear
4. Close the Dolphin window

Actual Results:  
Dolphin process is still running

Expected Results:  
Dolphin process should exit
Comment 1 Elvis Angelaccio 2016-10-26 09:30:27 UTC
Moving kio, the problem is in the DropJob not emitting the result signal.
Comment 2 Elvis Angelaccio 2016-10-28 09:57:47 UTC
Git commit 508720091088bb605fb153b3b547fd2cc7a130f4 by Elvis Angelaccio.
Committed on 28/10/2016 at 09:51.
Pushed by elvisangelaccio into branch 'master'.

Properly finish DropJobs when triggered is not emitted

Since QMenu doesn't have a 'canceled' signal that is emitted when the
menu is "rejected" (e.g. user clicks outside the menu),
we need to manually track whether an action has been triggered.
This way we can ensure to always emit the 'result' signal and
avoid hangs in applications.

https://bugreports.qt.io/browse/QTBUG-56761 tracks the status of a
possible 'canceled' signal in QMenu, which would supersed this commit.

REVIEW: 129262
FIXED-IN: 5.28

M  +26   -2    src/widgets/dropjob.cpp

http://commits.kde.org/kio/508720091088bb605fb153b3b547fd2cc7a130f4