VolumeMenu: read output and input if PulseAudio is already ready when constructing

Previously we would only read the default sink and default source when
the connection to PulseAudio succeded. This worked because all VolumeMenu
users where initialized synchronously during shell load.
With the recent session mode changes though, the lock screen menu is
created on demand, and when it loads PA is already connected, so
it doesn't update the sliders.

https://bugzilla.gnome.org/show_bug.cgi?id=683156
This commit is contained in:
Giovanni Campagna 2012-09-04 17:55:26 +02:00
parent 92d8d65543
commit 3f5edf7c3e

View File

@ -62,6 +62,11 @@ const VolumeMenu = new Lang.Class({
this._inputSlider.connect('drag-end', Lang.bind(this, this._notifyVolumeChange)); this._inputSlider.connect('drag-end', Lang.bind(this, this._notifyVolumeChange));
this.addMenuItem(this._inputTitle); this.addMenuItem(this._inputTitle);
this.addMenuItem(this._inputSlider); this.addMenuItem(this._inputSlider);
if (this._control.get_state() == Gvc.MixerControlState.READY) {
this._readOutput();
this._readInput();
}
}, },
scroll: function(direction) { scroll: function(direction) {