make ELM_CHECK_WIDTYPE & co macros useful. would you believe this macro came from...
authordiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 12 Sep 2011 02:06:27 +0000 (02:06 +0000)
committerdiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 12 Sep 2011 02:06:27 +0000 (02:06 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@63334 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_transit.c
src/lib/elm_widget.c
src/lib/elm_widget.h

index 216a28d..5557e0a 100644 (file)
@@ -2212,7 +2212,7 @@ _transit_effect_image_animation_op(Elm_Transit_Effect *effect, Elm_Transit *tran
 
    EINA_LIST_FOREACH(transit->objs, elist, obj)
      {
-        if (elm_widget_type_check(obj, type))
+        if (elm_widget_type_check(obj, type, __func__))
           elm_icon_file_set(obj,
                             eina_list_nth(image_animation->images, count), NULL);
      }
index 6f38278..4d96c6b 100644 (file)
@@ -2447,7 +2447,8 @@ elm_widget_is_check(const Evas_Object *obj)
 
 EAPI Eina_Bool
 elm_widget_type_check(const Evas_Object *obj,
-                      const char        *type)
+                      const char        *type,
+                      const char        *func)
 {
    const char *provided, *expected = "(unknown)";
    static int abort_on_warn = -1;
@@ -2460,7 +2461,7 @@ elm_widget_type_check(const Evas_Object *obj,
         if ((!provided) || (!provided[0]))
           provided = "(unknown)";
      }
-   ERR("Passing Object: %p, of type: '%s' when expecting type: '%s'", obj, provided, expected);
+   ERR("Passing Object: %p in function: %s, of type: '%s' when expecting type: '%s'", obj, func, provided, expected);
    if (abort_on_warn == -1)
      {
         if (getenv("ELM_ERROR_ABORT")) abort_on_warn = 1;
index c8c8d40..c41e2de 100644 (file)
@@ -401,7 +401,7 @@ EAPI Eina_Bool        elm_widget_theme_object_set(Evas_Object *obj, Evas_Object
 EAPI void             elm_widget_type_register(const char **ptr);
 EAPI void             elm_widget_type_unregister(const char **ptr);
 EAPI Eina_Bool        elm_widget_is_check(const Evas_Object *obj);
-EAPI Eina_Bool        elm_widget_type_check(const Evas_Object *obj, const char *type);
+EAPI Eina_Bool        elm_widget_type_check(const Evas_Object *obj, const char *type, const char *func);
 EAPI Eina_List       *elm_widget_stringlist_get(const char *str);
 EAPI void             elm_widget_stringlist_free(Eina_List *list);
 EAPI void             elm_widget_focus_hide_handle(Evas_Object *obj);
@@ -676,7 +676,7 @@ EAPI void             elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
    if (!elm_widget_is_check(obj)) return
 
 #define ELM_CHECK_WIDTYPE(obj, widtype) \
-   if (!elm_widget_type_check((obj), (widtype))) return
+   if (!elm_widget_type_check((obj), (widtype), __func__)) return
 
 #define ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, ...)                \
    ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \
@@ -684,7 +684,7 @@ EAPI void             elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
 
 #define ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_GOTO(it, label)                \
    ELM_WIDGET_ITEM_CHECK_OR_GOTO((Elm_Widget_Item *)it, label);         \
-   if (!elm_widget_type_check((it->base.widget), (widtype))) goto label;
+   if (!elm_widget_type_check((it->base.widget), (widtype), __func__)) goto label;
 
 #define ELM_WIDGET_STANDARD_SETUP(wdat, wdtype, par, evas, ob, ret) \
    do { \