[model] Do not attempt to free empty column names
authorEmmanuele Bassi <ebassi@linux.intel.com>
Wed, 2 Sep 2009 14:26:33 +0000 (15:26 +0100)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Wed, 2 Sep 2009 14:30:45 +0000 (15:30 +0100)
The column names are optional - ClutterModel will use the GType name
if there is no user-specified column name. Hence, the ::finalize vfunc
should not try to free an empty column names vector.

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1790

clutter/clutter-model.c

index 3fb9d95..ab04673 100644 (file)
@@ -222,13 +222,16 @@ clutter_model_finalize (GObject *object)
 
   g_free (priv->column_types);
 
-  /* the column_names vector might have holes in it, so we need to
-   * use the columns number to clear up everything
-   */
-  for (i = 0; i < priv->n_columns; i++)
-    g_free (priv->column_names[i]);
+  if (priv->column_names != NULL)
+    {
+      /* the column_names vector might have holes in it, so we need
+       * to use the columns number to clear up everything
+       */
+      for (i = 0; i < priv->n_columns; i++)
+        g_free (priv->column_names[i]);
 
-  g_free (priv->column_names);
+      g_free (priv->column_names);
+    }
 
   G_OBJECT_CLASS (clutter_model_parent_class)->finalize (object);
 }