Re: [Banshee-List] [banshee: 2/7] [Banshee.ThickClient] Don't set PlayerEngine volume on widget creation.



Hi Christopher,

I think this patch might be erroneous.  Right before 1.5.5 I committed
a patch that fixed this, by fixing the pending_volume logic in
B.GSt/PlayerEngine.cs - so that even though the ConnectedVolumeButton
tried to set the volume before Gst was initialized, it wouldn't call
the bp_ method until it's initialized.  Given that, I'm not sure why
this patch is needed.

Gabriel

On Sat, Mar 13, 2010 at 10:21 PM, Christopher James Halse Rogers
<chrishr src gnome org> wrote:
> commit 6d44ba5cb4bace184749484c71f43dc86932cf4e
> Author: Christopher James Halse Rogers <chrishr src gnome org>
> Date:   Sun Mar 14 14:34:27 2010 +1100
>
>    [Banshee.ThickClient] Don't set PlayerEngine volume on widget creation.
>
>    The ConnectedVolumeButton () ctor sets the VolumeButton.Volume property from gconf.
>    This sets the GTK slider value, which triggers ValueChanged, which triggers OnVolumeChanged,
>    which triggers ConnectedVolumeButton to try to set PlayerEngine.Volume.
>
>    The PlayerEngine is not guaranteed to be fully initialised by this point, so set
>    emit_lock to true before setting VolumeButton.Volume
>
>    This fixes the problem worked-around by commit 3159f8900f88b0044b3c8006f3004d0e6f041fab
>
>  .../Banshee.Gui.Widgets/ConnectedVolumeButton.cs   |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> ---
> diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedVolumeButton.cs b/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedVolumeButton.cs
> index e027928..f654244 100644
> --- a/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedVolumeButton.cs
> +++ b/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedVolumeButton.cs
> @@ -37,9 +37,11 @@ namespace Banshee.Gui.Widgets
>     {
>         private bool emit_lock = false;
>
> -        public ConnectedVolumeButton () : base ()
> +        public ConnectedVolumeButton () : base()
>         {
> +            emit_lock = true;
>             Volume = PlayerEngineService.VolumeSchema.Get ();
> +            emit_lock = false;
>             ServiceManager.PlayerEngine.ConnectEvent (OnPlayerEvent, PlayerEvent.Volume);
>         }
>
> _______________________________________________
> commits-list mailing list (read only)
> http://mail.gnome.org/mailman/listinfo/commits-list
>
> Want to limit the commits to a few modules? Go to above URL, log in to edit your options and select the modules ('topics') you want.
>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]