Opened 11 years ago

Closed 8 years ago

#6459 closed defect (fixed)

Mouse wheel events dropped and passed through to window manager

Reported by: ftfred Owned by: deryni
Milestone: Component: pidgin (gtk)
Version: 2.4.3 Keywords: wheel mouse scroll drop events


As the title says, when you scroll quickly in the Buddy List window, sometimes some of the wheel events are allowed to drop un-handled to the background behind the app window. This results in a rapid scroll through X workspaces and associated redraw costs from all of those apps. This bug has been present for quite a while (multiple versions) and is still present in 2.4.3. I can easily reproduce this if required and could take a video to prove it if desired, but if you just give your mouse wheel a quick high speed scroll (as you would always and regularly do to get from the top of your huge buddy list to the bottom quickly for example) you should see it occurring. My dev opinion of this without having read your code at all is that these events should be caught and ignored if they can't be handled in a timely fashion. Allowing events for pidgin to go to a different app is very bad behaviour IMO. I hope it's a bug (accidental) and not a design feature (on purpose) :-)

Platform :
nvidia driver
debian unstable
uname -a : Linux rwdlsd 2.6.24-1-686 #1 SMP Thu Mar 27 17:45:04 UTC 2008 i686 GNU/Linux

Additionally and unrelated I share the minor niggle that others have been warring over :

input box size.

I also have a large screen and have pidgin maxed on one desktop. It looks bad like that and as others have stated difficult to aim your mouse at in a hurry. All you need to do is put a configurable minimum lines in the prefs to fix that for me... I kinda like the auto scroll, but I didn't like it at first, it grew on me. The small entry is unlikely to grow on me though as I've been using it for a while now and still would prefer it bigger.

As a further aside, although the majority of people complaining about that change are total wankers, and I had a great laugh reading through some of it before I got bored, they do have a fair number of valid points in many cases. I don't personally agree with some of their issues, but the principles are sound. For the record I also dumb a lot of code chunks and large quotes through the client, enough to hit the message size limits of the aim/msn protocols fairly regularly, though I didn't get the first cut with the limited scrolling "feature" so the change didn't affect me.

Why is this in a bug report about scrolling? To get the point across quietly and clearly without the distraction of the flame war in the other page. Also because I wouldn't have bothered mentioning it at all except for the scroll bug which didn't get resolved over multiple releases. I'm not enough of a tosser to post a bug report/comment about the input box thing by itself.

Thanks for an otherwise good basic chat client.

Thanks for fixing the "cut restores the line before" bug too, that was annoying :-)


Attachments (1)

xev.out (2.1 KB) - added by ftfred 11 years ago.
xev output from under buddy list window, did the same under chat and got zero output

Download all attachments as: .zip

Change History (14)

comment:1 Changed 11 years ago by deryni

  • pending changed from 0 to 1

The input area *does* have a minimum size preference in pidgin now, you just need to go look for it. You don't need to click in the input area to start typing a message, hitting the history area and starting to type will work as well, as does hitting the history area and hitting the menu key (at least on Windows here at work), as does hitting the history area and hitting shift-insert (again here at least). Hitting ctrl-v directly does not unfortunately work, but hitting any other key first allows it to.

What window manager are you using? Does this bug happen if you try a different window manager?

comment:2 Changed 11 years ago by ftfred

  • pending changed from 1 to 0

Oh, I am terribly sorry, well, at least I said my piece about all that non-sense anyway I guess ;-)

I'm using the xfce version as specified above : xfce4_4.4.2_all.deb

Before that I was using windowmaker, I tried all of the window managers a few months back and xfce was the ONLY one that behaves properly with xrandr... So I'm stuck with it despite being somewhat heavy weight compared to windowmaker. The bug occurred in both window managers if that helps.

Thanks for the resize tip, sorry to have been that twit that failed to check ;-) At least the wheel bug is real (or I think it is lol)


comment:3 Changed 11 years ago by deryni

  • pending changed from 0 to 1

The chances of you having tried "all" the window managers is (at best) slim-to-none, since there are approximately a billion of them, but I do believe you tried all the common mainstream ones (and possibly a couple less-well-known ones seeing as how you were using windowmaker).

Also, my apologies for not noticing the xfce4 line in your original comment, I must have skipped over it as "irrelevant X stuff".

If you place a window beneath your buddy list does that window get the event or is it always the root window that gets the event?

comment:4 Changed 11 years ago by ftfred

  • pending changed from 1 to 0

Hey, I even tried random paneling stuff like ion3, of course not all, but about 10 or 15 in total, all the reasonably featured stuff. Wmaker does everything I need except xrandr and has served me well for about 7 years or so. Unfortunately it's not maintained :-(

Your experiment was a good one : straight through the xterm and into the root window. I guess this means it could be a WM issue, BUT, this does NOT occur with any other apps... so... I'm still blaming the mighty pidgin for now.

I hope that helps, let me know if there is anything else you need. Obviously it's not a show stopper (regardless of which app is at fault) but it can be annoying...



comment:5 Changed 11 years ago by deryni

I apologize for incorrectly assuming that your depth of wm-sampling was small, I guess I'm just used to the people who talk about having "tried all the window managers... you know like Gnome, KDE, fluxbox, and icewm". =)

comment:6 Changed 11 years ago by ftfred

Hey, no worries man, your assumption is natural, I bet you get BS bug reports all the time ;-)

I should point out that I wasn't trying them for pidgin friendliness, just xrandr behaviour. I was surprised that KDE (or the wm under it that i forget the name of) and the default for gnome (which I forget aswell (not sawfish which i tried too)) didn't work correctly. XCFE was the only one that worked and the font aspect it still broken, but I couldn't figure out if that was the xserver, nvidia driver, wm, or some font server causing the issue so I eventually gave up and settled for good enough.

I currently have about 50 xterms and 100 FF tabs open so I'm not keen to close X and try stuff out at the moment. Next time the machine is down for some reason I'll try to remember to boot up some other WM and test it for you.

Any thoughts on what could be causing it? My mate tells me pidgin code is pretty clean but I'm a bit short on time to be digging into it myself.

Let me know if there is any test I can do. How about a build of 2.4.3 with heavy debugging so I can tail something and make it happen? up to you, just let me know what you need.

PS, this is my second OS bug report ever! Amazing that everything has been more or less good for me since the beginning. The last bug report was a java package dependency in deb unstable.

OS is awesome :-)

comment:7 Changed 11 years ago by deryni

  • Owner set to deryni
  • pending changed from 0 to 1

Unfortunately I don't have any good idea about what might be going on here. My understanding of X event handling is just good enough to get me into trouble whenever I try to dig into it too deeply.

I'm assuming this isn't as simple as scroll events that would cause the buddy list view to scroll beyond the top/bottom of the buddy list entries are getting grabbed by the wm, is that correct?

It might be worth trying putting the 'xev' window under pidgin where you are scrolling (so that if pidgin weren't there the xev window would be focused) and seeing if xev prints anything out (it should be quite a bit more sensitive than xterm to any events it happens to get). Though I doubt this will show anything of interest. (Make sure to run xev from a terminal, it spits output to the terminal it is run from.)

Changed 11 years ago by ftfred

xev output from under buddy list window, did the same under chat and got zero output

comment:8 Changed 11 years ago by ftfred

  • pending changed from 1 to 0

Another good move/idea.

I put it under the buddy window and scrolling produced these :

Expose event, serial 27, synthetic NO, window 0x7400001,

(442,196), width 7, height 166, count 0

I put it under the chat and it produced nothing.

The other lines in the file I attached (without zipping woops) are from when it switched workspaces on me. I tried to get it to do that from the chat window and failed. I tried it under an xterm too and got no output either. So it buddy IS dropping events, but I have no idea how :-) good luck!

comment:9 Changed 11 years ago by ftfred

BTW, I also managed to get it to misbehave without it reaching the end of the scroll bar by just rolling backward and forward on the wheel quickly.

comment:10 Changed 11 years ago by ftfred

I'd just like to add that I've just (foolishly) installed ubuntu which has 2.4.1 and the exact same behaviour is present. I'm guessing the source of the behaviour hasn't been found. I can still do some testing with 2.4.1 now if required, but at least you know not to be looking at changes between 2.4.1 and 2.4.3 I guess. Good luck.


comment:11 Changed 10 years ago by QuLogic

  • Status changed from new to pending

I do not see any output from xev with 2.5.8. Is this still an issue?

comment:12 Changed 10 years ago by ftfred

  • Status changed from pending to new

Unfortunately I just sent my main box home from England to New Zealand on a 747. I am sitting in London typing this from an EEE with a dirty broken version of Xandros on it. I won't be near a full time PC to test this for about 3 months, maybe more :-( I'm very sorry about that, but there isn't much that I can do about it.

comment:13 Changed 8 years ago by ftfred

  • Resolution set to fixed
  • Status changed from new to closed

No longer an issue in 2.10.0, other issues now :-)

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!