GNOME Bugzilla – Bug 742513
Many operations (cut, copy, paste) stop working if rename prompt is not properly exited.
Last modified: 2015-01-08 11:50:30 UTC
Version: 3.10.1 (from Ubuntu Trusty Updates repository, package version 3.10.1-0ubuntu9.4) Distro: Ubuntu 14.04 Trusty Tahr A bug has been opened in Launchpad (https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1322925) last year, but had no upstream bugs linked. Recent bug #739238 seems to be a symptom of this bug. Steps to reproduce (as hinted by comment #29 from Launchpad bug https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/988251): 1. Start Nautilus, go to any folder with write permissions. 2. Select a file and press F2 or select from menu "Edit>Rename...". 3. With the rename prompt still active, without unselecting file, open new tab by Ctrl+T or menu "File>New Tab". 4. Select a file and copy by pressing Ctrl+C or menu "Edit>Copy". 5. Paste by pressing Ctrl+V or menu "Edit>Paste" Expected result: Copied file is pasted. What happens: Nothing happens. Details: A. After step 5, returning to the original tab will restore ability to copy, paste etc. B. At step 4 or 5, from gdb, it is shown that the associated callbacks (action_cut_files_callback, action_copy_files_callback, action_paste_files_callback) are never called. C-i. After step 2, activating location bar by Ctrl+L or menu "Go>Enter Location...", or C-ii. after step 3, attempting to rename a file on new tab outputs the following stderr: """ (nautilus:22490): Gtk-WARNING **: Inserting action group 'ClipboardActions' into UI manager which already has a group with this name """ D. If original tab is closed before step 4, the following stderr appears after step 5 (pasting): """ (nautilus:22490): Gtk-CRITICAL **: gtk_widget_get_clipboard: assertion 'gtk_widget_has_screen (widget)' failed (nautilus:22490): Gtk-CRITICAL **: gtk_clipboard_request_text: assertion 'clipboard != NULL' failed """ E. A freshly opened new window does not exhibit the bug, unless the above steps are repeated.
Problem is due to clipboard items not being merged out properly. nautilus-clipboard.c:target_destroy_callback() did not fire, even though nautilus-list-view.c:editable_focus_out_cb() was called, which sets view->details->editable_widget = NULL; For some reason, the editable widget is not destroyed until callback for either "editing-canceled" or "edited" completes. It seems icon view mode is not affected by this bug.
In icon (canvas) view, 'focus-in-event' and 'focus-out-event' are properly fired when focus of text entry is lost upon switching to other tabs. In list view, there is no sign of the two being emitted (associated callback is not called).
I believe this was fixed in 3.14 with the patch committed for bug 732513 - https://git.gnome.org/browse/nautilus/commit/?id=8032628adc9c8286050716d609c574dc7273dfcb Could you check by applying that patch?
Yes, the patch fixed the bug. Thank you!
Thanks for testing! Does that also fix the other bug 739238 mentioned here? *** This bug has been marked as a duplicate of bug 732513 ***