GNOME Bugzilla – Bug 640913
cut-paste behavior doesn't work
Last modified: 2011-10-11 05:24:51 UTC
I'm having the following so called 'trivial' problem: ctrl-x / shift-delete / mouse menu basically removes all columns in the selection, but is unable to paste the contents back. Neither does the undo functionality work on the just 'deleted' data. I can reproduce it with: - entering a value in a cell [enter] - arrow up - ctrl - x (cell is empty) - ctrl - v (nothing happens) - ctrl - z (nothing happens) Copy-paste does work.
First sentence: columns should be 'cells'.
ctrl+x should not erase the cell, it should just change the cursor. I can't reproduce.
Stefan, do you run any of those clipboard mangling programs such as klipper?
Also which exact version are you using?
I suspect you are seeing a combination of interference cause by one of those "clipboard managers" and a missing undo I have just filed as separate bug # 640922. In this case the clipboard manager would claim the clipboard which causes Gnumeric to execute the deletion part of the cut command, causing the "3" to disappear. I don't know why ctrl-v doesn't do anything in this scenario.
No, as far as I know XFCE4.8 doesn't implement clipboard managers. I just noticed that my laptop (which I recently upgraded XFCE4.8 and installed gnumeric) also has the ctrl-x issue. 1.10.12, but I was running 1.10.10 before on my PC which also had issues. (I am positive that ctrl-x did work for me before.)
They mention here: http://bugzilla.xfce.org/show_bug.cgi?id=6521 that clipman could be the cause. xfce-settings-helper is running for me, but no clue how it is/can be related.
If you are running Xfce4-clipman-plugin this would definitely explain the behaviour you are seeing: clipman and any other so-called clipboard manager claims the clipboard content from any other application. So after "cutting" in Gnuemric, clipman requests from Gnumeric to provide the clipboard content. According to the clipboard protocol this means that you have pasted the content elsewhere (which you haven't). As a consequence the content is deleted in Gnumeric. Now there is still the undo issue (see bug #640922). PLus there is the issue that ctrl-v doesn't work. I suspectthis is simply a consequence of clipman not providing the clipboard content back to Gnumeric. Please disable clipman in your installation and try again.
You may want to play with the "Prefer PRIMARY over CLIPBOARD" setting in GNumeric's preferences. THis could have an effect here.
The option that you mention is actually inverted. So I disabled it. When the clipboard is full, it still has odd behavior. ctrl-x removes (empty cell), but what is pasted is something older and not relevant to gnumeric. As far as I know I don't even have the clipboard plugin running...
Everything you describe tells me that you have some sort of clipboard manager messing up clipboard handling. Some more questions: 1) open Gnumeric and a text editor. Cut something in Gnumeric. Try to paste it into the text editor. Success? 2) open Gnumeric and a text editor. Cut something in Gnumeric. Close Gnumeric. Try to paste it into the text editor. Success? then try 1) and 2) this with the other setting of "Prefer CLIPBOARD over PRIMARY". Are you using a specific distribution (Ubuntu, Debian, Fedora,...)? Which version of that distribution?
All of the above situations in one and two with and without Prefer CLIPBOARD: fail. Nothing is copied. Using Gentoo, two different systems. What is equal seems to be XFCE 4.8
I would also love to see the output of running ps x oargs on your system.
What happens with the tests I suggest in comment 11 if you copy rather than cut?
oargs? PID TTY STAT TIME COMMAND 1760 tty1 S 0:00 -bash 1764 tty1 S+ 0:00 xinit /etc/xdg/xfce4/xinitrc -- /etc/X11/xinit/xserverrc 1770 tty1 S 0:00 sh /etc/xdg/xfce4/xinitrc 1781 tty1 S 0:00 dbus-launch --sh-syntax --exit-with-session 1782 ? Ss 0:03 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session 1786 ? S 0:00 /usr/lib/xfce4/xfconf/xfconfd 1791 ? Ss 0:00 ssh-agent -s 1801 tty1 Sl 0:06 xfce4-session 1805 tty1 S 0:30 xfwm4 --display :0.0 --sm-client-id 2f2e1ecd5-4e46-42e1-b7e5-54dd97dc79f5 1807 tty1 S 0:00 xfsettingsd 1808 tty1 Sl 0:06 xfce4-panel --sm-client-id 2eb400e8d-12c7-40dc-bc57-a9b0cdd8f219 1809 tty1 Sl 0:08 xfdesktop --display :0.0 --sm-client-id 2af7b63fc-ae46-47d2-81c6-2f5c22df57ec 1811 tty1 S 0:01 xfce4-settings-helper --display :0.0 --sm-client-id 27625f192-dda1-4895-9641-aad114064183 1814 tty1 S 1:54 /usr/libexec/xfce4/panel-plugins/xfce4-battery-plugin 4 14680096 battmon Battery Monitor Show and monitor the battery status 1816 tty1 S 0:00 /usr/lib/xfce4/panel/wrapper /usr/lib/xfce4/panel/plugins/libsystray.so 7 14680097 systray Notification Area Area where notification icons 1818 tty1 Sl 21:10 ./skype 1833 tty1 S 1:24 pidgin 2699 tty1 S 0:01 /usr/bin/xterm 2701 pts/0 Ss 0:00 bash 2708 pts/0 S+ 0:00 ssh srv1.dogodigi.net 4222 tty1 Sl 1:27 /usr/lib/chromium-browser/chrome --extra-plugin-dir=/usr/lib/nsbrowser/plugins 4225 tty1 S 0:06 /usr/lib/chromium-browser/chrome --extra-plugin-dir=/usr/lib/nsbrowser/plugins 4227 tty1 S 0:00 /usr/lib/chromium-browser/chrome --type=zygote 4242 tty1 Sl 0:08 /usr/lib/chromium-browser/chrome --type=renderer --lang=en-US --force-fieldtest=ConnCountImpact/conn_count_6/ConnnectBackupJobs/ConnectBac 4248 tty1 Sl 0:00 /usr/lib/chromium-browser/chrome --type=extension --lang=en-US --force-fieldtest=ConnCountImpact/conn_count_6/ConnnectBackupJobs/ConnectBa 4263 tty1 Sl 0:04 /usr/lib/chromium-browser/chrome --type=extension --lang=en-US --force-fieldtest=ConnCountImpact/conn_count_6/ConnnectBackupJobs/ConnectBa 4268 tty1 Sl 0:01 /usr/lib/chromium-browser/chrome --type=extension --lang=en-US --force-fieldtest=CacheSize/CacheSizeGroup_1/ConnCountImpact/conn_count_6/C 4281 tty1 Sl 0:00 /usr/lib/chromium-browser/chrome --type=extension --lang=en-US --force-fieldtest=CacheSize/CacheSizeGroup_1/ConnCountImpact/conn_count_6/C 4587 tty1 S 0:01 mousepad 4624 tty1 Sl 0:04 /usr/lib/chromium-browser/chrome --type=renderer --lang=en-US --force-fieldtest=CacheSize/CacheSizeGroup_1/ConnCountImpact/conn_count_6/Co 4637 tty1 Sl 0:10 /usr/lib/chromium-browser/chrome --type=renderer --lang=en-US --force-fieldtest=CacheSize/CacheSizeGroup_1/ConnCountImpact/conn_count_6/Co 4808 tty1 S 0:00 /usr/bin/xterm 4810 pts/1 Ss 0:00 bash 4814 pts/1 S+ 0:00 ssh brws.in 4877 tty1 S 0:00 /usr/bin/xterm 4879 pts/2 Ss 0:00 bash 4890 tty1 S 0:00 /usr/bin/xterm 4892 pts/3 Ss 0:00 bash 4896 pts/3 S+ 0:01 gnumeric 4900 pts/2 R+ 0:00 ps x
Copy works. Gets the 'nice' blinking border. (both cases)
The only significant thing I get now, is that Discard doesn't close the app with the selection (that was copied). Instead it does close the gui but throws: (gnumeric:4896): GLib-CRITICAL **: g_main_loop_quit: assertion `loop != NULL' failed
Normally test (2) should not result in a successful paste. Closing Gnumeric means that the text editor can't get the clipboard content from Gnumeric anymore. Another piece of evidence that somebody tries to manage the clipboard. Of course the GLib Critical means that Gnumeric didn't really go away correctly, so ...?
I can also consistently reproduce the ctrl-c (takes a long time to close) problem. So where to go next?
Ok, I am absolutely sure it is related to xfce4-settings-helper, when not started my keyboard layout is messed up. But operating by mouse I am able to cut and paste.
Please file this as a bug against xfce4-settings-helper. I am closing this report as "NOTGNOME" which really means "Not Gnumeric" here. Note that the missing undo is indeed a Gnumeric bug #640922 and will be fixed in due course.
*** Bug 661418 has been marked as a duplicate of this bug. ***