use new FPU singleton pattern in libs/ardour
[ardour.git] / libs / gtkmm2ext / prolooks_helpers.c
index 511c15eee3ec5edc865998bd4e9925a8cc56ea31..9709db7c5aead047d9466990fec8cd76a7659621 100644 (file)
@@ -6,6 +6,11 @@
     License: LGPLv2+ 
 */
 
+#ifdef COMPILER_MSVC
+#include <algorithm>
+using std::min; using std::max;
+#endif
+
 #include "gtkmm2ext/prolooks-helpers.h"
 
 static gpointer cairo_color_parent_class = NULL;
@@ -184,9 +189,11 @@ static gpointer cairo_value_color_peek_pointer (const GValue* value) {
 
 
 static gchar* cairo_value_color_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+       (void) n_collect_values;
+       (void) collect_flags;
        if (collect_values[0].v_pointer) {
                CairoColor* object;
-               object = collect_values[0].v_pointer;
+               object = (CairoColor*)collect_values[0].v_pointer;
                if (object->parent_instance.g_class == NULL) {
                        return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
                } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
@@ -202,16 +209,17 @@ static gchar* cairo_value_color_collect_value (GValue* value, guint n_collect_va
 
 static gchar* cairo_value_color_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
        CairoColor** object_p;
-       object_p = collect_values[0].v_pointer;
+       (void) n_collect_values;
+       object_p = (CairoColor**)collect_values[0].v_pointer;
        if (!object_p) {
-               return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+               return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME ((GValue*)value));
        }
        if (!value->data[0].v_pointer) {
                *object_p = NULL;
        } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
-               *object_p = value->data[0].v_pointer;
+               *object_p = (CairoColor*)value->data[0].v_pointer;
        } else {
-               *object_p = cairo_color_ref (value->data[0].v_pointer);
+               *object_p = (CairoColor*)cairo_color_ref (value->data[0].v_pointer);
        }
        return NULL;
 }
@@ -220,14 +228,14 @@ static gchar* cairo_value_color_lcopy_value (const GValue* value, guint n_collec
 GParamSpec* cairo_param_spec_color (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
        CairoParamSpecColor* spec;
        g_return_val_if_fail (g_type_is_a (object_type, CAIRO_TYPE_COLOR), NULL);
-       spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+       spec = (CairoParamSpecColor*)g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
        G_PARAM_SPEC (spec)->value_type = object_type;
        return G_PARAM_SPEC (spec);
 }
 
 
 gpointer cairo_value_get_color (const GValue* value) {
-       g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CAIRO_TYPE_COLOR), NULL);
+       g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE ((GValue*)value, CAIRO_TYPE_COLOR), NULL);
        return value->data[0].v_pointer;
 }
 
@@ -235,7 +243,7 @@ gpointer cairo_value_get_color (const GValue* value) {
 void cairo_value_set_color (GValue* value, gpointer v_object) {
        CairoColor* old;
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CAIRO_TYPE_COLOR));
-       old = value->data[0].v_pointer;
+       old = (CairoColor*)value->data[0].v_pointer;
        if (v_object) {
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, CAIRO_TYPE_COLOR));
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
@@ -253,7 +261,7 @@ void cairo_value_set_color (GValue* value, gpointer v_object) {
 void cairo_value_take_color (GValue* value, gpointer v_object) {
        CairoColor* old;
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CAIRO_TYPE_COLOR));
-       old = value->data[0].v_pointer;
+       old = (CairoColor*)value->data[0].v_pointer;
        if (v_object) {
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, CAIRO_TYPE_COLOR));
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
@@ -290,9 +298,9 @@ GType cairo_color_get_type (void) {
        if (g_once_init_enter (&cairo_color_type_id__volatile)) {
                static const GTypeValueTable g_define_type_value_table = { cairo_value_color_init, cairo_value_color_free_value, cairo_value_color_copy_value, cairo_value_color_peek_pointer, "p", cairo_value_color_collect_value, "p", cairo_value_color_lcopy_value };
                static const GTypeInfo g_define_type_info = { sizeof (CairoColorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) cairo_color_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CairoColor), 0, (GInstanceInitFunc) cairo_color_instance_init, &g_define_type_value_table };
-               static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+               static const GTypeFundamentalInfo g_define_type_fundamental_info = { (GTypeFundamentalFlags)(G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
                GType cairo_color_type_id;
-               cairo_color_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CairoColor", &g_define_type_info, &g_define_type_fundamental_info, 0);
+               cairo_color_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CairoColor", &g_define_type_info, &g_define_type_fundamental_info, (GTypeFlags)0);
                g_once_init_leave (&cairo_color_type_id__volatile, cairo_color_type_id);
        }
        return cairo_color_type_id__volatile;
@@ -301,7 +309,7 @@ GType cairo_color_get_type (void) {
 
 gpointer cairo_color_ref (gpointer instance) {
        CairoColor* self;
-       self = instance;
+       self = (CairoColor*)instance;
        g_atomic_int_inc (&self->ref_count);
        return instance;
 }
@@ -309,7 +317,7 @@ gpointer cairo_color_ref (gpointer instance) {
 
 void cairo_color_unref (gpointer instance) {
        CairoColor* self;
-       self = instance;
+       self = (CairoColor*)instance;
        if (g_atomic_int_dec_and_test (&self->ref_count)) {
                CAIRO_COLOR_GET_CLASS (self)->finalize (self);
                g_type_free_instance ((GTypeInstance *) self);
@@ -534,12 +542,8 @@ CairoColor* prolooks_hsl_to_cairo_color (ProlooksHSL* self) {
        CairoColor* result = NULL;
        gint i = 0;
        double* _tmp0_;
-       gint _hue_shift_size_;
-       gint hue_shift_length1;
        double* hue_shift;
        double* _tmp1_;
-       gint _color_shift_size_;
-       gint color_shift_length1;
        double* color_shift;
        double m1 = 0.0;
        double m2 = 0.0;
@@ -547,8 +551,8 @@ CairoColor* prolooks_hsl_to_cairo_color (ProlooksHSL* self) {
        gint _tmp2_ = 0;
        CairoColor* color;
        g_return_val_if_fail (self != NULL, NULL);
-       hue_shift = (_tmp0_ = g_new0 (double, 3), hue_shift_length1 = 3, _hue_shift_size_ = hue_shift_length1, _tmp0_);
-       color_shift = (_tmp1_ = g_new0 (double, 3), color_shift_length1 = 3, _color_shift_size_ = color_shift_length1, _tmp1_);
+       hue_shift = (_tmp0_ = g_new0 (double, 3), _tmp0_);
+       color_shift = (_tmp1_ = g_new0 (double, 3), _tmp1_);
        if (self->priv->_lightness <= 0.5) {
                m2 = self->priv->_lightness * (1 + self->priv->_saturation);
        } else {
@@ -771,9 +775,11 @@ static gpointer prolooks_value_hsl_peek_pointer (const GValue* value) {
 
 
 static gchar* prolooks_value_hsl_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+       (void) n_collect_values;
+       (void) collect_flags;
        if (collect_values[0].v_pointer) {
                ProlooksHSL* object;
-               object = collect_values[0].v_pointer;
+               object = (ProlooksHSL*)collect_values[0].v_pointer;
                if (object->parent_instance.g_class == NULL) {
                        return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
                } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
@@ -789,16 +795,17 @@ static gchar* prolooks_value_hsl_collect_value (GValue* value, guint n_collect_v
 
 static gchar* prolooks_value_hsl_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
        ProlooksHSL** object_p;
-       object_p = collect_values[0].v_pointer;
+       (void) n_collect_values;
+       object_p = (ProlooksHSL**)collect_values[0].v_pointer;
        if (!object_p) {
-               return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+               return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME ((GValue*)value));
        }
        if (!value->data[0].v_pointer) {
                *object_p = NULL;
        } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
-               *object_p = value->data[0].v_pointer;
+               *object_p = (ProlooksHSL*)value->data[0].v_pointer;
        } else {
-               *object_p = prolooks_hsl_ref (value->data[0].v_pointer);
+               *object_p = (ProlooksHSL*)prolooks_hsl_ref (value->data[0].v_pointer);
        }
        return NULL;
 }
@@ -807,14 +814,14 @@ static gchar* prolooks_value_hsl_lcopy_value (const GValue* value, guint n_colle
 GParamSpec* prolooks_param_spec_hsl (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
        ProlooksParamSpecHSL* spec;
        g_return_val_if_fail (g_type_is_a (object_type, PROLOOKS_TYPE_HSL), NULL);
-       spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+       spec = (ProlooksParamSpecHSL*)g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
        G_PARAM_SPEC (spec)->value_type = object_type;
        return G_PARAM_SPEC (spec);
 }
 
 
 gpointer prolooks_value_get_hsl (const GValue* value) {
-       g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PROLOOKS_TYPE_HSL), NULL);
+       g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE ((GValue*)value, PROLOOKS_TYPE_HSL), NULL);
        return value->data[0].v_pointer;
 }
 
@@ -822,7 +829,7 @@ gpointer prolooks_value_get_hsl (const GValue* value) {
 void prolooks_value_set_hsl (GValue* value, gpointer v_object) {
        ProlooksHSL* old;
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PROLOOKS_TYPE_HSL));
-       old = value->data[0].v_pointer;
+       old = (ProlooksHSL*)value->data[0].v_pointer;
        if (v_object) {
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PROLOOKS_TYPE_HSL));
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
@@ -840,7 +847,7 @@ void prolooks_value_set_hsl (GValue* value, gpointer v_object) {
 void prolooks_value_take_hsl (GValue* value, gpointer v_object) {
        ProlooksHSL* old;
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PROLOOKS_TYPE_HSL));
-       old = value->data[0].v_pointer;
+       old = (ProlooksHSL*)value->data[0].v_pointer;
        if (v_object) {
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PROLOOKS_TYPE_HSL));
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
@@ -877,9 +884,9 @@ GType prolooks_hsl_get_type (void) {
        if (g_once_init_enter (&prolooks_hsl_type_id__volatile)) {
                static const GTypeValueTable g_define_type_value_table = { prolooks_value_hsl_init, prolooks_value_hsl_free_value, prolooks_value_hsl_copy_value, prolooks_value_hsl_peek_pointer, "p", prolooks_value_hsl_collect_value, "p", prolooks_value_hsl_lcopy_value };
                static const GTypeInfo g_define_type_info = { sizeof (ProlooksHSLClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prolooks_hsl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProlooksHSL), 0, (GInstanceInitFunc) prolooks_hsl_instance_init, &g_define_type_value_table };
-               static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+               static const GTypeFundamentalInfo g_define_type_fundamental_info = { (GTypeFundamentalFlags)(G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
                GType prolooks_hsl_type_id;
-               prolooks_hsl_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ProlooksHSL", &g_define_type_info, &g_define_type_fundamental_info, 0);
+               prolooks_hsl_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ProlooksHSL", &g_define_type_info, &g_define_type_fundamental_info, (GTypeFlags)0);
                g_once_init_leave (&prolooks_hsl_type_id__volatile, prolooks_hsl_type_id);
        }
        return prolooks_hsl_type_id__volatile;
@@ -888,7 +895,7 @@ GType prolooks_hsl_get_type (void) {
 
 gpointer prolooks_hsl_ref (gpointer instance) {
        ProlooksHSL* self;
-       self = instance;
+       self = (ProlooksHSL*)instance;
        g_atomic_int_inc (&self->ref_count);
        return instance;
 }
@@ -896,7 +903,7 @@ gpointer prolooks_hsl_ref (gpointer instance) {
 
 void prolooks_hsl_unref (gpointer instance) {
        ProlooksHSL* self;
-       self = instance;
+       self = (ProlooksHSL*)instance;
        if (g_atomic_int_dec_and_test (&self->ref_count)) {
                PROLOOKS_HSL_GET_CLASS (self)->finalize (self);
                g_type_free_instance ((GTypeInstance *) self);
@@ -944,7 +951,6 @@ CairoColor* prolooks_hsv_to_cairo_color (ProlooksHSV* self) {
        double r;
        double g;
        double b;
-       double v;
        gint hi = 0;
        double f = 0.0;
        double p = 0.0;
@@ -955,7 +961,6 @@ CairoColor* prolooks_hsv_to_cairo_color (ProlooksHSV* self) {
        r = 0.0;
        g = 0.0;
        b = 0.0;
-       v = self->priv->_value;
        hi = (gint) prolooks_modula (floor (self->priv->_hue / 60.0), (double) 6);
        f = (self->priv->_hue / 60.0) - floor (self->priv->_hue / 60.0);
        p = self->priv->_value * (1.0 - self->priv->_saturation);
@@ -1179,9 +1184,11 @@ static gpointer prolooks_value_hsv_peek_pointer (const GValue* value) {
 
 
 static gchar* prolooks_value_hsv_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+       (void) collect_flags;
+       (void) n_collect_values;
        if (collect_values[0].v_pointer) {
                ProlooksHSV* object;
-               object = collect_values[0].v_pointer;
+               object = (ProlooksHSV*)collect_values[0].v_pointer;
                if (object->parent_instance.g_class == NULL) {
                        return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
                } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
@@ -1197,16 +1204,17 @@ static gchar* prolooks_value_hsv_collect_value (GValue* value, guint n_collect_v
 
 static gchar* prolooks_value_hsv_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
        ProlooksHSV** object_p;
-       object_p = collect_values[0].v_pointer;
+       (void) n_collect_values;
+       object_p = (ProlooksHSV**)collect_values[0].v_pointer;
        if (!object_p) {
-               return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+               return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME ((GValue*)value));
        }
        if (!value->data[0].v_pointer) {
                *object_p = NULL;
        } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
-               *object_p = value->data[0].v_pointer;
+               *object_p = (ProlooksHSV*)value->data[0].v_pointer;
        } else {
-               *object_p = prolooks_hsv_ref (value->data[0].v_pointer);
+               *object_p = (ProlooksHSV*)prolooks_hsv_ref (value->data[0].v_pointer);
        }
        return NULL;
 }
@@ -1215,14 +1223,14 @@ static gchar* prolooks_value_hsv_lcopy_value (const GValue* value, guint n_colle
 GParamSpec* prolooks_param_spec_hsv (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
        ProlooksParamSpecHSV* spec;
        g_return_val_if_fail (g_type_is_a (object_type, PROLOOKS_TYPE_HSV), NULL);
-       spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+       spec = (ProlooksParamSpecHSV*)g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
        G_PARAM_SPEC (spec)->value_type = object_type;
        return G_PARAM_SPEC (spec);
 }
 
 
 gpointer prolooks_value_get_hsv (const GValue* value) {
-       g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PROLOOKS_TYPE_HSV), NULL);
+       g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE ((GValue*) value, PROLOOKS_TYPE_HSV), NULL);
        return value->data[0].v_pointer;
 }
 
@@ -1230,7 +1238,7 @@ gpointer prolooks_value_get_hsv (const GValue* value) {
 void prolooks_value_set_hsv (GValue* value, gpointer v_object) {
        ProlooksHSV* old;
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PROLOOKS_TYPE_HSV));
-       old = value->data[0].v_pointer;
+       old = (ProlooksHSV*)value->data[0].v_pointer;
        if (v_object) {
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PROLOOKS_TYPE_HSV));
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
@@ -1248,7 +1256,7 @@ void prolooks_value_set_hsv (GValue* value, gpointer v_object) {
 void prolooks_value_take_hsv (GValue* value, gpointer v_object) {
        ProlooksHSV* old;
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PROLOOKS_TYPE_HSV));
-       old = value->data[0].v_pointer;
+       old = (ProlooksHSV*)value->data[0].v_pointer;
        if (v_object) {
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PROLOOKS_TYPE_HSV));
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
@@ -1283,9 +1291,9 @@ GType prolooks_hsv_get_type (void) {
        if (g_once_init_enter (&prolooks_hsv_type_id__volatile)) {
                static const GTypeValueTable g_define_type_value_table = { prolooks_value_hsv_init, prolooks_value_hsv_free_value, prolooks_value_hsv_copy_value, prolooks_value_hsv_peek_pointer, "p", prolooks_value_hsv_collect_value, "p", prolooks_value_hsv_lcopy_value };
                static const GTypeInfo g_define_type_info = { sizeof (ProlooksHSVClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prolooks_hsv_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProlooksHSV), 0, (GInstanceInitFunc) prolooks_hsv_instance_init, &g_define_type_value_table };
-               static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+               static const GTypeFundamentalInfo g_define_type_fundamental_info = { (GTypeFundamentalFlags)(G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
                GType prolooks_hsv_type_id;
-               prolooks_hsv_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ProlooksHSV", &g_define_type_info, &g_define_type_fundamental_info, 0);
+               prolooks_hsv_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ProlooksHSV", &g_define_type_info, &g_define_type_fundamental_info, (GTypeFlags)0);
                g_once_init_leave (&prolooks_hsv_type_id__volatile, prolooks_hsv_type_id);
        }
        return prolooks_hsv_type_id__volatile;
@@ -1294,7 +1302,7 @@ GType prolooks_hsv_get_type (void) {
 
 gpointer prolooks_hsv_ref (gpointer instance) {
        ProlooksHSV* self;
-       self = instance;
+       self = (ProlooksHSV*)instance;
        g_atomic_int_inc (&self->ref_count);
        return instance;
 }
@@ -1302,7 +1310,7 @@ gpointer prolooks_hsv_ref (gpointer instance) {
 
 void prolooks_hsv_unref (gpointer instance) {
        ProlooksHSV* self;
-       self = instance;
+       self = (ProlooksHSV*)instance;
        if (g_atomic_int_dec_and_test (&self->ref_count)) {
                PROLOOKS_HSV_GET_CLASS (self)->finalize (self);
                g_type_free_instance ((GTypeInstance *) self);
@@ -1330,15 +1338,13 @@ void prolooks_shade_color (const GdkColor* orig, double shade_ratio, GdkColor* r
 GdkPixbuf* prolooks_cairo_image_surface_to_pixbuf (cairo_surface_t* surface) {
        GdkPixbuf* result = NULL;
        guchar* _tmp0_;
-       gint _knob_data_size_;
-       gint knob_data_length1;
        guchar* knob_data;
        g_return_val_if_fail (surface != NULL, NULL);
        if (cairo_image_surface_get_format (surface) != CAIRO_FORMAT_ARGB32) {
                result = NULL;
                return result;
        }
-       knob_data = (_tmp0_ = cairo_image_surface_get_data (surface), knob_data_length1 = -1, _knob_data_size_ = knob_data_length1, _tmp0_);
+       knob_data = (_tmp0_ = cairo_image_surface_get_data (surface), _tmp0_);
        {
                gint i;
                i = 0;