dm0- / window_merge

A Pidgin plugin that merges the Buddy List window with a conversation window
GNU General Public License v3.0
74 stars 10 forks source link

CTRL+C stealing #14

Open pztrn opened 11 years ago

pztrn commented 11 years ago

Buddy list steal CTRL+C combination, instead of placing selected text in clipboard a "Join chat" dialog popups.

dm0- commented 11 years ago

I have been unable to reproduce this, including on Pidgin 2.10.7. I have tried on Fedora (GNOME Shell) and Windows 7. It works for me when selecting text both in the input field and in the chat log. (I'm not sure where else you might be selecting text.)

On what platform are you seeing this behavior?

Are you using custom GTK bindings?

Do you see this behavior when all other plugins are disabled?

pztrn commented 11 years ago

I am using Arch Linux, I can reporoduce this with all plugins disabled. Looks like the step is to launch pidgin, close all tabs, unfocus, focus, open a tab - and there will be a "Join chat" dialog on CTRL+C (with selected text or not). Just reproduce it 2 times.

dm0- commented 11 years ago

Okay, thanks for the explanation. With your steps, I was able to reproduce this two or three times on Arch, but still failed to reproduce it a few dozen times. Unless I was doing something subtly different each time, this leads me to believe there is a race condition in the GTK event handling (probably from the band-aid 319a946).

Let me know if you are able to reproduce the issue consistently, otherwise I will try to figure out new ways to handle Pidgin's focus events.

For the record, the following is how I created my Arch environment, in case this turns out to have some influence on reproducing the problem. The ISO on their download page was booted with KVM using the live x86_64 option. I ran these commands to install everything.

pacman --noconfirm -Sy pidgin xf86-video-vesa xorg-server xorg-twm xorg-xinit xterm
pacman --noconfirm -Scc
pacman --noconfirm -S autoconf automake git libtool make pkg-config
pacman --noconfirm -Scc
exec startx

Then, from an xterm:

git clone https://github.com/dm0-/window_merge.git
cd window_merge
mkdir m4
autoreconf -fi
./configure
make install plugindir=$(pkg-config --variable=plugindir pidgin)
pidgin
pztrn commented 11 years ago

This issue doesn't depend on videodriver (intel on my laptop and nvidia on desktop, both have this issue). Right now I've tested following (and able to reproduce):

Actually, this is also useful on #15.

pztrn commented 11 years ago

Any progress on that?

pztrn commented 11 years ago

My thoughts: after resuming to pidgin roster pane intercepts focus, despite on cursor blinking in input field.