Re: [Banshee-List] [banshee: 2/7] [Banshee.ThickClient] Don't set PlayerEngine volume on widget creation.
- From: Gabriel Burt <gabriel burt gmail com>
- To: banshee-list gnome org
- Subject: Re: [Banshee-List] [banshee: 2/7] [Banshee.ThickClient] Don't set PlayerEngine volume on widget creation.
- Date: Sun, 14 Mar 2010 11:39:54 -0800
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]