gengrid, genlist: Fallback into default item style if the required item
authorDaniel Juyung Seo <juyung.seo@samsung.com>
Wed, 8 Jan 2014 10:07:07 +0000 (19:07 +0900)
committerDaniel Juyung Seo <juyung.seo@samsung.com>
Wed, 8 Jan 2014 10:07:56 +0000 (19:07 +0900)
style does not exist.

src/lib/elm_gengrid.c
src/lib/elm_genlist.c

index 56ede5d9871cf8a79c323e279ecbd38e6f6e0650..98ba519cf5c0fc714f3df93a0773f45f5b66cb88 100644 (file)
@@ -757,8 +757,15 @@ _item_realize(Elm_Gen_Item *it)
    elm_widget_sub_object_add(WIDGET(it), VIEW(it));
    snprintf(style, sizeof(style), "item/%s",
             it->itc->item_style ? it->itc->item_style : "default");
-   elm_widget_theme_object_set(WIDGET(it), VIEW(it), "gengrid", style,
-                               elm_widget_style_get(WIDGET(it)));
+   if (!elm_widget_theme_object_set(WIDGET(it), VIEW(it), "gengrid", style,
+                                    elm_widget_style_get(WIDGET(it))))
+     {
+        ERR("%s is not a valid gengrid item style. "
+            "Automatically falls back into default style.",
+            it->itc->item_style);
+        elm_widget_theme_object_set
+           (WIDGET(it), VIEW(it), "gengrid", "item/default", "default");
+     }
    evas_object_stack_below(VIEW(it), sd->stack);
 
    if (edje_object_part_exists(VIEW(it), "elm.swallow.pad"))
index e433992b6cf411874ee4c101b8c090e6de5f4d31..f7d9788aa3d146e414214bb9ccbb610f1794ca81 100644 (file)
@@ -1555,9 +1555,17 @@ _item_realize(Elm_Gen_Item *it,
                    sd->mode == ELM_LIST_COMPRESS ? "_compress" :
                    "", it->itc->item_style ? : "default");
 
-        elm_widget_theme_object_set
-          (WIDGET(it), VIEW(it), "genlist", buf,
-          elm_widget_style_get(WIDGET(it)));
+        if (!elm_widget_theme_object_set(WIDGET(it), VIEW(it),
+                                         "genlist", buf,
+                                         elm_widget_style_get(WIDGET(it))))
+          {
+             ERR("%s is not a valid genlist item style. "
+                 "Automatically falls back into default style.",
+                 it->itc->item_style);
+             elm_widget_theme_object_set
+                (WIDGET(it), VIEW(it), "genlist", "item/default", "default");
+          }
+
 
         stacking_even = edje_object_data_get(VIEW(it), "stacking_even");
         if (!stacking_even) stacking_even = "above";
@@ -4789,11 +4797,20 @@ _decorate_item_realize(Elm_Gen_Item *it)
    strncat(buf, "/", sizeof(buf) - strlen(buf) - 1);
    strncat(buf, it->itc->decorate_item_style, sizeof(buf) - strlen(buf) - 1);
 
-   elm_widget_theme_object_set
-     (WIDGET(it), it->item->deco_it_view, "genlist", buf,
-     elm_widget_style_get(WIDGET(it)));
+   if (!elm_widget_theme_object_set
+       (WIDGET(it), it->item->deco_it_view, "genlist", buf,
+        elm_widget_style_get(WIDGET(it))))
+     {
+
+        ERR("%s is not a valid genlist item style. "
+            "Automatically falls back into default style.",
+            it->itc->decorate_item_style);
+        elm_widget_theme_object_set
+           (WIDGET(it), it->item->deco_it_view,
+            "genlist", "item/default", "default");
+     }
    edje_object_mirrored_set
-     (it->item->deco_it_view, elm_widget_mirrored_get(WIDGET(it)));
+      (it->item->deco_it_view, elm_widget_mirrored_get(WIDGET(it)));
 
    /* signal callback add */
    evas_object_event_callback_add