evas: catch bad map early on.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 6 Jul 2012 14:03:38 +0000 (14:03 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 6 Jul 2012 14:03:38 +0000 (14:03 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@73416 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
NEWS
src/lib/canvas/evas_map.c

index 2618a14..8a3c414 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 2012-07-05  Cedric Bail
 
        * Strongly disable Evas pipe rendering.
+
+2012-07-05  Cedric Bail
+
+       * Don't let bad map sneek at render time and ban them as early as possible.
+
diff --git a/NEWS b/NEWS
index de23f5d..319e39e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -20,6 +20,7 @@ Improvements:
 Fixes:
    * Add missing files in the tarball.
    * Add svg rendering with Esvg
+   * Don't accept broken map.
 
 Removal:
    * Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
index f402db7..3bb3008 100644 (file)
@@ -453,7 +453,7 @@ evas_object_map_set(Evas_Object *obj, const Evas_Map *map)
    return;
    MAGIC_CHECK_END();
 
-   if (!map)
+   if (!map || map->count < 4)
      {
         if (obj->cur.map)
           {
@@ -1059,9 +1059,6 @@ evas_object_map_update(Evas_Object *obj,
         obj->spans = NULL;
      }
 
-   if (!((obj->cur.map) && (obj->cur.map->count > 3) && (obj->cur.usemap)))
-     return ;
-
    if (!obj->spans)
      obj->spans = calloc(1, sizeof (RGBA_Map) +
                          sizeof (RGBA_Map_Point) * (obj->cur.map->count - 1));