After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 168726 - double-clicking inside the dock slider makes applet unresponsive
double-clicking inside the dock slider makes applet unresponsive
Status: RESOLVED FIXED
Product: gnome-applets
Classification: Other
Component: mixer
git master
Other All
: Urgent major
: 2.10
Assigned To: gnome-applets Maintainers
gnome-applets Maintainers
: 168724 (view as bug list)
Depends on: 168791
Blocks:
 
 
Reported: 2005-02-28 04:38 UTC by Allison Karlitskaya (desrt)
Modified: 2005-03-29 09:19 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
hello. my name is patch. (814 bytes, patch)
2005-02-28 16:58 UTC, Allison Karlitskaya (desrt)
accepted-commit_after_freeze Details | Review
other patch (726 bytes, patch)
2005-03-01 09:39 UTC, Ronald Bultje
committed Details | Review

Description Allison Karlitskaya (desrt) 2005-02-28 04:38:56 UTC
Found an evil problem while attempting to reproduce Bug 168724

Add a volume control applet to your panel.

Click the icon once to pop out the slider.  Position the volume around the 50% mark.

Now double click on the top or the bottom half of the slider.  In both cases,
the slider pops back in.

In the event that you double clicked on the top half, the volume will gradually
increase (over the course of a second or two) until it is at 100%.  If you
double clicked the bottom half, it will go to 0.

You can try to fight it with the scrollwheel or by pulling the slider out again
and manually repositioning it, but it always keeps gradually going in the
direction you double clicked.  The only way to stop it is to remove the applet
from the panel.
Comment 1 Allison Karlitskaya (desrt) 2005-02-28 04:42:24 UTC
Due to the possibility of this being a GTK issue, I should mention: GTK version
here is 2.6.2.
Comment 2 Kjartan Maraas 2005-02-28 14:25:07 UTC
Confirmed here with current rawhide (FC4). How about we make the slider area
itself not do anything on double click? That way it would just be treated like
two single clicks with the normal effect of lowering or increasing the volume
depending on where the widget was clicked, and force the user to click outside
of the widget, or the applet itself to close the slider? I don't think I
expected the slider to close on double-click the first time myself at least...
Comment 3 Allison Karlitskaya (desrt) 2005-02-28 15:33:13 UTC
          case GDK_2BUTTON_PRESS:
            gnome_volume_applet_popdown_dock (applet);
            gnome_volume_applet_run_mixer (applet);

this code does not apply to the slider (just the icon) and i don't think there
is anywhere else in the code where double-clicking is special-cased. 
(commenting this out doesn't fix the problem).
Comment 4 Allison Karlitskaya (desrt) 2005-02-28 16:56:47 UTC
This is caused by gtk+ setting a step timer when you start scrolling and not
stopping the step timer when a gtk_range widget is unmapped, and also, by the
applet not actually unmapping the widget.

See bug 168791.

There are more direct approaches that could be taken to fix this, but I believe
this to be the right way.  It will require a small patch (attached) to the
applet itself to use hide_all/show_all instead of hide/show.
Comment 5 Allison Karlitskaya (desrt) 2005-02-28 16:58:19 UTC
Created attachment 38061 [details] [review]
hello.  my name is patch.

this patch only works if you also apply the gtk+ patch.
Comment 6 Ronald Bultje 2005-02-28 18:13:57 UTC
Hi Ryan, wow, weird bug. Ehm, as for the code you looked at, this is used for
the slider. You may consider it a hack, but I consider it incredibly useful:
I've set the slider dock as child of the actual applet container. Means I only
need to write the key/mouse binding code once, so saves a few lines of code.
However, the double-click code should only apply to clicking the icon, not
double clicking the slider. Kjartan is right there, this is a bug in the applet.
Your patch should still be applied, because it is right, but the behaviour also
needs to be fixed.

Feel free to dup 168724 to this one.
Comment 7 Ronald Bultje 2005-03-01 09:27:21 UTC
*** Bug 168724 has been marked as a duplicate of this bug. ***
Comment 8 Ronald Bultje 2005-03-01 09:39:32 UTC
Created attachment 38085 [details] [review]
other patch

This patch does what I outlined above: double clicks (or, basically, any
mouseclick) is not forwarded from child to mouse. This behaviour should only be
done for keyboard and scrolls anyway (because clicks are all handled inside the
respective widgets already). This patch fixes the bug as well and does not
require a gtk release. ;).

The patch from Ryan should still be applied, because it is right (I believe).
Comment 9 Ronald Bultje 2005-03-01 09:51:56 UTC
Comment on attachment 38061 [details] [review]
hello.  my name is patch.

Ryan, feel free to commit this patch and then close the bug as fixed.
Comment 10 Danielle Madeley 2005-03-01 11:48:53 UTC
Comment on attachment 38061 [details] [review]
hello.  my name is patch.

Arrg, this looks like it missed the tarball I built, uploaded and released.

Blocked by freeze, how important is this?
Comment 11 Luis Villa 2005-03-01 12:00:17 UTC
Given that the solution is 'remove applet from panel', I'd say fairy serious and
would give my r-t blessing, but a quick note to r-t and promises of first-born
children if there is a bug in the patch would be good.
Comment 12 Ronald Bultje 2005-03-01 12:11:54 UTC
Luis, Davyd, the patch is not directly release critical since the bug is no
longer there in Davyd's new tarball. The bug is no longer there. We can breathe
again. ;).

The patch should still go in because it is technically right. There is no direct
bug fixed by it. I'll leave it up to r-t to permit this or not.
Comment 13 Allison Karlitskaya (desrt) 2005-03-01 16:43:05 UTC
If the problem is fixed, I think this can wait.
Comment 14 Allison Karlitskaya (desrt) 2005-03-29 09:19:18 UTC
Stable has been branched.  Commited to HEAD.