In order to provoke the kio message "The file or folder %1 does not exist." I tried to get dolphin delete a non-existing file and I found the following reproducible behavior. 1) Shift+Del on a file 2) Click behind the showing Delete Confirmation dialog to move the focus to the dolphin window 3) Shift+Del again on the same file (a subtle slowness is noticeable) 4) Shift+Del again on the same file => There are now three confirmation dialogs and dolphin hangs completely. Click on "Trash" or "Cancel" button has no effect. Even the Plasma Panel was blocked and the Ctrl+Esc shortcut to show System Monitor did not work. I helped myself with a pkill dolphin on a TTY. Plasma 5.9.4 / Frameworks 5.34.0
Hi Gregor, I can reproduce the freeze... (In reply to Gregor Mi from comment #0) > In order to provoke the kio message "The file or folder %1 does not exist." > I tried to get dolphin delete a non-existing file and I found the following > reproducible behavior. > > 1) Shift+Del on a file > 2) Click behind the showing Delete Confirmation dialog to move the focus to > the dolphin window This should not happen. The dialog is modal *and* starts a nested event loop with exec(). Something must be really wrong here.
Imho this is a Qt bug. It should not be possible to trigger a QAction via shortcut if that action belongs to a window blocked by a modal dialog. Even if that dialog is not using a nested event loop.
I cannot reproduce this behavior using Dolphin 17.12.3, because a second dialog does not pop up when pressing Shift+Del again. Am I doing something wrong or has this dialog since been adjusted?
(In reply to Julian Schraner from comment #3) > I cannot reproduce this behavior using Dolphin 17.12.3, because a second > dialog does not pop up when pressing Shift+Del again. Am I doing something > wrong or has this dialog since been adjusted? I also cannot reproduce the behavior anymore. Step 2) was to give the focus to the Dolphin main window despite the modal dialog. This is seemingly fixed by now. I close this ticket as UPSTREAM since it was probably a Qt bug.
Yes, I fixed the underlying problem in Qt. Thanks for closing this ticket!
Cool :-)