From: Tim-Philipp Müller Date: Fri, 9 Sep 2011 12:07:57 +0000 (+0100) Subject: colorbalance: add some guards to interface methods X-Git-Tag: 1.19.3~511^2~6555^2~498 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f38f86182dfcac86d7920d880e2631e024d8b2c;p=platform%2Fupstream%2Fgstreamer.git colorbalance: add some guards to interface methods https://bugzilla.gnome.org/show_bug.cgi?id=658584 --- diff --git a/gst-libs/gst/interfaces/colorbalance.c b/gst-libs/gst/interfaces/colorbalance.c index 60268ac..0bf52a9 100644 --- a/gst-libs/gst/interfaces/colorbalance.c +++ b/gst-libs/gst/interfaces/colorbalance.c @@ -124,7 +124,11 @@ gst_color_balance_class_init (GstColorBalanceClass * klass) const GList * gst_color_balance_list_channels (GstColorBalance * balance) { - GstColorBalanceClass *klass = GST_COLOR_BALANCE_GET_CLASS (balance); + GstColorBalanceClass *klass; + + g_return_val_if_fail (GST_IS_COLOR_BALANCE (balance), NULL); + + klass = GST_COLOR_BALANCE_GET_CLASS (balance); if (klass->list_channels) { return klass->list_channels (balance); @@ -175,7 +179,11 @@ gint gst_color_balance_get_value (GstColorBalance * balance, GstColorBalanceChannel * channel) { - GstColorBalanceClass *klass = GST_COLOR_BALANCE_GET_CLASS (balance); + GstColorBalanceClass *klass; + + g_return_val_if_fail (GST_IS_COLOR_BALANCE (balance), 0); + + klass = GST_COLOR_BALANCE_GET_CLASS (balance); if (klass->get_value) { return klass->get_value (balance, channel); @@ -197,7 +205,12 @@ gst_color_balance_get_value (GstColorBalance * balance, GstColorBalanceType gst_color_balance_get_balance_type (GstColorBalance * balance) { - GstColorBalanceClass *klass = GST_COLOR_BALANCE_GET_CLASS (balance); + GstColorBalanceClass *klass; + + g_return_val_if_fail (GST_IS_COLOR_BALANCE (balance), + GST_COLOR_BALANCE_SOFTWARE); + + klass = GST_COLOR_BALANCE_GET_CLASS (balance); return klass->balance_type; } @@ -217,6 +230,9 @@ void gst_color_balance_value_changed (GstColorBalance * balance, GstColorBalanceChannel * channel, gint value) { + + g_return_if_fail (GST_IS_COLOR_BALANCE (balance)); + g_signal_emit (G_OBJECT (balance), gst_color_balance_signals[VALUE_CHANGED], 0, channel, value);