From 9772797c31ebed2417b42a9389caae1b16847e86 Mon Sep 17 00:00:00 2001 From: Michal Ratajsky Date: Mon, 4 Jan 2016 20:31:14 +0100 Subject: Improve error checking in many places --- backends/pulse/pulse-stream-control.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'backends/pulse/pulse-stream-control.c') diff --git a/backends/pulse/pulse-stream-control.c b/backends/pulse/pulse-stream-control.c index bc59c97..fe4304c 100644 --- a/backends/pulse/pulse-stream-control.c +++ b/backends/pulse/pulse-stream-control.c @@ -308,14 +308,19 @@ pulse_stream_control_get_channel_map (PulseStreamControl *control) } void -pulse_stream_control_set_app_info (PulseStreamControl *control, MateMixerAppInfo *info) +pulse_stream_control_set_app_info (PulseStreamControl *control, + MateMixerAppInfo *info, + gboolean take) { g_return_if_fail (PULSE_IS_STREAM_CONTROL (control)); - if G_UNLIKELY (control->priv->app_info) + if G_UNLIKELY (control->priv->app_info != NULL) _mate_mixer_app_info_free (control->priv->app_info); - control->priv->app_info = info; + if (take == TRUE) + control->priv->app_info = info; + else + control->priv->app_info = _mate_mixer_app_info_copy (info); } void @@ -324,11 +329,10 @@ pulse_stream_control_set_channel_map (PulseStreamControl *control, const pa_chan MateMixerStreamControlFlags flags; g_return_if_fail (PULSE_IS_STREAM_CONTROL (control)); - g_return_if_fail (map != NULL); flags = mate_mixer_stream_control_get_flags (MATE_MIXER_STREAM_CONTROL (control)); - if (pa_channel_map_valid (map)) { + if (map != NULL && pa_channel_map_valid (map)) { if (pa_channel_map_can_balance (map)) flags |= MATE_MIXER_STREAM_CONTROL_CAN_BALANCE; else -- cgit v1.2.1