base-types: Don't free zero point and rect
authorEmmanuele Bassi <ebassi@linux.intel.com>
Sat, 9 Jun 2012 09:38:09 +0000 (10:38 +0100)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Sun, 10 Jun 2012 16:54:22 +0000 (17:54 +0100)
Calling clutter_point_free(clutter_point_zero()) or calling
clutter_rect_free(clutter_rect_zero()) should be safe, exactly like it's
safe to call those functions with a NULL argument.

clutter/clutter-base-types.c

index ac5bc73..32ed407 100644 (file)
@@ -466,7 +466,7 @@ clutter_point_copy (const ClutterPoint *point)
 void
 clutter_point_free (ClutterPoint *point)
 {
-  if (point != NULL)
+  if (point != NULL && point != &_clutter_point_zero)
     g_slice_free (ClutterPoint, point);
 }
 
@@ -840,7 +840,7 @@ clutter_rect_copy (const ClutterRect *rect)
 void
 clutter_rect_free (ClutterRect *rect)
 {
-  if (rect != NULL)
+  if (rect != NULL && rect != &_clutter_rect_zero)
     g_slice_free (ClutterRect, rect);
 }