aboutsummaryrefslogtreecommitdiff
path: root/src/mixer_control.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mixer_control.c')
-rw-r--r--src/mixer_control.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mixer_control.c b/src/mixer_control.c
index 7def51cb..7a8ba48e 100644
--- a/src/mixer_control.c
+++ b/src/mixer_control.c
@@ -140,9 +140,13 @@ mixer_get_volume(struct mixer *mixer, GError **error_r)
g_mutex_lock(mixer->mutex);
if (mixer->open) {
- volume = mixer->plugin->get_volume(mixer, error_r);
- if (volume < 0)
+ GError *error = NULL;
+
+ volume = mixer->plugin->get_volume(mixer, &error);
+ if (volume < 0 && error != NULL) {
+ g_propagate_error(error_r, error);
mixer_failed(mixer);
+ }
} else
volume = -1;