safety for elm_object_item_widget_get().
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Mon, 2 Jul 2012 01:38:21 +0000 (01:38 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Mon, 2 Jul 2012 01:38:21 +0000 (01:38 +0000)
SVN revision: 73117

ChangeLog
src/lib/elm_main.c
src/lib/elm_widget.c
src/lib/elm_widget.h

index fc1fe77..08bba59 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        * Fix panel theme_hook handling for scaling
 
+2012-07-01 Gustavo Sverzut Barbieri (k-s)
+
+       * Add and use elm_widget_item_widget_get()
index 18da204..eb97694 100644 (file)
@@ -1337,7 +1337,7 @@ elm_coords_finger_size_adjust(int times_w,
 EAPI Evas_Object *
 elm_object_item_widget_get(const Elm_Object_Item *it)
 {
-   return WIDGET(it);
+   return elm_widget_item_widget_get(it);
 }
 
 EAPI void
index f2a3ea8..cae7440 100644 (file)
@@ -3787,6 +3787,22 @@ _elm_widget_item_del_cb_set(Elm_Widget_Item *item,
 /**
  * @internal
  *
+ * Retrieves owner widget of this item.
+ *
+ * @param item a valid #Elm_Widget_Item to get data from.
+ * @return owner widget of this item.
+ * @ingroup Widget
+ */
+EAPI Evas_Object *
+_elm_widget_item_widget_get(const Elm_Widget_Item *item)
+{
+   ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
+   return item->widget;
+}
+
+/**
+ * @internal
+ *
  * Set user-data in this item.
  *
  * User data may be used to identify this item or just store any
index 7bd1f2b..72b6ff6 100644 (file)
@@ -756,6 +756,7 @@ EAPI void             elm_widget_access_info_set(Evas_Object *obj, const char *t
 EAPI const char      *elm_widget_access_info_get(const Evas_Object *obj);
 EAPI Elm_Widget_Item *_elm_widget_item_new(Evas_Object *parent, size_t alloc_size);
 EAPI void             _elm_widget_item_free(Elm_Widget_Item *item);
+EAPI Evas_Object     *_elm_widget_item_widget_get(const Elm_Widget_Item *item);
 EAPI void             _elm_widget_item_del(Elm_Widget_Item *item);
 EAPI void             _elm_widget_item_pre_notify_del(Elm_Widget_Item *item);
 EAPI void             _elm_widget_item_del_cb_set(Elm_Widget_Item *item, Evas_Smart_Cb del_cb);
@@ -835,6 +836,13 @@ EAPI void             elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
   _elm_widget_item_del_cb_set((Elm_Widget_Item *)item, del_cb)
 
 /**
+ * Get item's owner widget
+ * @see _elm_widget_item_widget_get()
+ */
+#define elm_widget_item_widget_get(item) \
+  _elm_widget_item_widget_get((const Elm_Widget_Item *)item)
+
+/**
  * Set item's data
  * @see _elm_widget_item_data_set()
  */