jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a4c392989400e428cc043bf0f2b44a2465095606

commit a4c392989400e428cc043bf0f2b44a2465095606
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Wed Aug 2 19:41:47 2017 +0900

    layout: Implement cursor part APIs with efl_part
    
    This makes layout parts implement Efl.Ui.Cursor.
    This also adds the missing bool returns from that interface.
    
    This removes 7 APIs from Elm.Layout.
    
    Ref T5315
---
 src/lib/elementary/efl_ui_cursor.eo            |  19 +++-
 src/lib/elementary/elm_layout.c                | 117 +++++++++++++++++++++----
 src/lib/elementary/elm_layout.eo               |  69 ---------------
 src/lib/elementary/elm_layout_internal_part.eo |   6 +-
 src/lib/elementary/elm_layout_legacy.h         |  91 +++++++++++++++++++
 src/lib/elementary/elm_part_helper.h           |   2 +-
 src/lib/elementary/els_cursor.c                |  28 ++++--
 7 files changed, 235 insertions(+), 97 deletions(-)

diff --git a/src/lib/elementary/efl_ui_cursor.eo 
b/src/lib/elementary/efl_ui_cursor.eo
index 9bb73c0a02..ddbffc6d17 100644
--- a/src/lib/elementary/efl_ui_cursor.eo
+++ b/src/lib/elementary/efl_ui_cursor.eo
@@ -38,8 +38,11 @@ interface Efl.Ui.Cursor ()
               If $cursor is $null this function will reset the cursor
               to the default one.
             ]]
+            return: bool; [[$true if successful.]]
+         }
+         get {
+            [[Returns the current cursor name.]]
          }
-         get { [[Returns the current cursor name.]] }
          values {
             cursor: string @nullable; [[The cursor name, defined either
                                         by the display system or the theme.]]
@@ -52,6 +55,13 @@ interface Efl.Ui.Cursor ()
            The cursor should be set with @.cursor.set first before
            setting its style with this property.
          ]]
+         set {
+            [[Sets a style for the current cursor. Call after @.cursor.set.]]
+            return: bool; [[$true if successful.]]
+         }
+         get {
+            [[Returns the current cursor style name.]]
+         }
          values {
             style: string; [[A specific style to use, eg. default,
                              transparent, ....]]
@@ -63,6 +73,13 @@ interface Efl.Ui.Cursor ()
            If $false, the cursor may only come from the render engine,
            i.e. from the display manager.
          ]]
+         set {
+            [[Enables or disables theme cursors.]]
+            return: bool; [[$true if successful.]]
+         }
+         get {
+            [[Returns the current state of theme cursors search.]]
+         }
          values {
             allow: bool(true); [[Whether to use theme cursors.]]
          }
diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c
index 66922ce911..0d7f5eeb28 100644
--- a/src/lib/elementary/elm_layout.c
+++ b/src/lib/elementary/elm_layout.c
@@ -24,6 +24,7 @@
 
 Eo *_elm_layout_pack_proxy_get(Elm_Layout *obj, Edje_Part_Type type, const 
char *part);
 static void _efl_model_properties_changed_cb(void *, const Efl_Event *);
+static Eina_Bool _elm_layout_part_cursor_unset(Elm_Layout_Smart_Data *sd, 
const char *part_name);
 
 static const char SIG_THEME_CHANGED[] = "theme,changed";
 const char SIG_LAYOUT_FOCUSED[] = "focused";
@@ -1729,14 +1730,17 @@ _elm_layout_thaw(Eo *obj, Elm_Layout_Smart_Data *_pd 
EINA_UNUSED)
    return 0;
 }
 
-EOLIAN static Eina_Bool
-_elm_layout_part_cursor_set(Eo *obj, Elm_Layout_Smart_Data *sd, const char 
*part_name, const char *cursor)
+static Eina_Bool
+_elm_layout_part_cursor_set(Elm_Layout_Smart_Data *sd, const char *part_name, 
const char *cursor)
 {
+   Evas_Object *part_obj;
+   Elm_Layout_Sub_Object_Cursor *pc;
+   Eo *obj = sd->obj;
+
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
    EINA_SAFETY_ON_NULL_RETURN_VAL(part_name, EINA_FALSE);
 
-   Evas_Object *part_obj;
-   Elm_Layout_Sub_Object_Cursor *pc;
+   if (!cursor) return _elm_layout_part_cursor_unset(sd, part_name);
 
    part_obj = (Evas_Object *)edje_object_part_object_get
        (wd->resize_obj, part_name);
@@ -1782,8 +1786,8 @@ _elm_layout_part_cursor_set(Eo *obj, 
Elm_Layout_Smart_Data *sd, const char *part
    return EINA_TRUE;
 }
 
-EOLIAN static const char*
-_elm_layout_part_cursor_get(const Eo *obj EINA_UNUSED, Elm_Layout_Smart_Data 
*sd, const char *part_name)
+static const char *
+_elm_layout_part_cursor_get(Elm_Layout_Smart_Data *sd, const char *part_name)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(part_name, NULL);
 
@@ -1794,8 +1798,8 @@ _elm_layout_part_cursor_get(const Eo *obj EINA_UNUSED, 
Elm_Layout_Smart_Data *sd
    return elm_object_cursor_get(pc->obj);
 }
 
-EOLIAN static Eina_Bool
-_elm_layout_part_cursor_unset(Eo *obj EINA_UNUSED, Elm_Layout_Smart_Data *sd, 
const char *part_name)
+static Eina_Bool
+_elm_layout_part_cursor_unset(Elm_Layout_Smart_Data *sd, const char *part_name)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(part_name, EINA_FALSE);
 
@@ -1816,8 +1820,8 @@ _elm_layout_part_cursor_unset(Eo *obj EINA_UNUSED, 
Elm_Layout_Smart_Data *sd, co
    return EINA_FALSE;
 }
 
-EOLIAN static Eina_Bool
-_elm_layout_part_cursor_style_set(Eo *obj EINA_UNUSED, Elm_Layout_Smart_Data 
*sd, const char *part_name, const char *style)
+static Eina_Bool
+_elm_layout_part_cursor_style_set(Elm_Layout_Smart_Data *sd, const char 
*part_name, const char *style)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(part_name, EINA_FALSE);
 
@@ -1831,8 +1835,8 @@ _elm_layout_part_cursor_style_set(Eo *obj EINA_UNUSED, 
Elm_Layout_Smart_Data *sd
    return EINA_TRUE;
 }
 
-EOLIAN static const char*
-_elm_layout_part_cursor_style_get(const Eo *obj EINA_UNUSED, 
Elm_Layout_Smart_Data *sd, const char *part_name)
+static const char*
+_elm_layout_part_cursor_style_get(Elm_Layout_Smart_Data *sd, const char 
*part_name)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(part_name, NULL);
 
@@ -1843,8 +1847,8 @@ _elm_layout_part_cursor_style_get(const Eo *obj 
EINA_UNUSED, Elm_Layout_Smart_Da
    return elm_object_cursor_style_get(pc->obj);
 }
 
-EOLIAN static Eina_Bool
-_elm_layout_part_cursor_engine_only_set(Eo *obj EINA_UNUSED, 
Elm_Layout_Smart_Data *sd, const char *part_name, Eina_Bool engine_only)
+static Eina_Bool
+_elm_layout_part_cursor_engine_only_set(Elm_Layout_Smart_Data *sd, const char 
*part_name, Eina_Bool engine_only)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(part_name, EINA_FALSE);
 
@@ -1858,8 +1862,8 @@ _elm_layout_part_cursor_engine_only_set(Eo *obj 
EINA_UNUSED, Elm_Layout_Smart_Da
    return EINA_TRUE;
 }
 
-EOLIAN static Eina_Bool
-_elm_layout_part_cursor_engine_only_get(const Eo *obj EINA_UNUSED, 
Elm_Layout_Smart_Data *sd, const char *part_name)
+static Eina_Bool
+_elm_layout_part_cursor_engine_only_get(Elm_Layout_Smart_Data *sd, const char 
*part_name)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(part_name, EINA_FALSE);
 
@@ -2344,6 +2348,51 @@ elm_layout_text_get(const Elm_Layout *obj, const char 
*part)
    return efl_text_get(efl_part(obj, part));
 }
 
+EAPI Eina_Bool
+elm_layout_part_cursor_engine_only_set(Elm_Layout *obj, const char *part, 
Eina_Bool engine_only)
+{
+   return efl_ui_cursor_theme_search_enabled_set(efl_part(obj, part), 
!engine_only);
+}
+
+EAPI Eina_Bool
+elm_layout_part_cursor_engine_only_get(const Elm_Layout *obj, const char *part)
+{
+   return !efl_ui_cursor_theme_search_enabled_get(efl_part(obj, part));
+}
+
+EAPI Eina_Bool
+elm_layout_part_cursor_set(Elm_Layout *obj, const char *part, const char 
*cursor)
+{
+   return efl_ui_cursor_set(efl_part(obj, part), cursor);
+}
+
+EAPI const char *
+elm_layout_part_cursor_get(const Elm_Layout *obj, const char *part)
+{
+   return efl_ui_cursor_get(efl_part(obj, part));
+}
+
+EAPI Eina_Bool
+elm_layout_part_cursor_style_set(Elm_Layout *obj, const char *part, const char 
*style)
+{
+   return efl_ui_cursor_style_set(efl_part(obj, part), style);
+}
+
+EAPI const char *
+elm_layout_part_cursor_style_get(const Elm_Layout *obj, const char *part)
+{
+   return efl_ui_cursor_style_get(efl_part(obj, part));
+}
+
+EAPI Eina_Bool
+elm_layout_part_cursor_unset(Elm_Layout *obj, const char *part)
+{
+   return efl_ui_cursor_set(efl_part(obj, part), NULL);
+}
+
+/* End of legacy only */
+
+
 /* Efl.Part implementation */
 
 static EOLIAN Efl_Object *
@@ -2395,6 +2444,42 @@ _elm_layout_default_text_part_get(const Eo *obj, 
Elm_Layout_Smart_Data *sd EINA_
    return part;
 }
 
+EOLIAN static Eina_Bool
+_elm_layout_internal_part_efl_ui_cursor_cursor_set(Eo *obj, Elm_Part_Data *pd, 
const char *cursor)
+{
+   ELM_PART_RETURN_VAL(_elm_layout_part_cursor_set(pd->sd, pd->part, cursor));
+}
+
+EOLIAN static const char *
+_elm_layout_internal_part_efl_ui_cursor_cursor_get(Eo *obj, Elm_Part_Data *pd)
+{
+   ELM_PART_RETURN_VAL(_elm_layout_part_cursor_get(pd->sd, pd->part));
+}
+
+EOLIAN static Eina_Bool
+_elm_layout_internal_part_efl_ui_cursor_cursor_style_set(Eo *obj, 
Elm_Part_Data *pd, const char *style)
+{
+   ELM_PART_RETURN_VAL(_elm_layout_part_cursor_style_set(pd->sd, pd->part, 
style));
+}
+
+EOLIAN static const char *
+_elm_layout_internal_part_efl_ui_cursor_cursor_style_get(Eo *obj, 
Elm_Part_Data *pd)
+{
+   ELM_PART_RETURN_VAL(_elm_layout_part_cursor_style_get(pd->sd, pd->part));
+}
+
+EOLIAN static Eina_Bool
+_elm_layout_internal_part_efl_ui_cursor_cursor_theme_search_enabled_set(Eo 
*obj, Elm_Part_Data *pd, Eina_Bool allow)
+{
+   ELM_PART_RETURN_VAL(_elm_layout_part_cursor_engine_only_set(pd->sd, 
pd->part, !allow));
+}
+
+EOLIAN static Eina_Bool
+_elm_layout_internal_part_efl_ui_cursor_cursor_theme_search_enabled_get(Eo 
*obj, Elm_Part_Data *pd)
+{
+   ELM_PART_RETURN_VAL(!_elm_layout_part_cursor_engine_only_get(pd->sd, 
pd->part));
+}
+
 ELM_PART_IMPLEMENT_DESTRUCTOR(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, 
Elm_Part_Data)
 ELM_PART_IMPLEMENT_CONTENT_SET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, 
Elm_Part_Data)
 ELM_PART_IMPLEMENT_CONTENT_GET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, 
Elm_Part_Data)
diff --git a/src/lib/elementary/elm_layout.eo b/src/lib/elementary/elm_layout.eo
index 0e11461bf4..66e8699f57 100644
--- a/src/lib/elementary/elm_layout.eo
+++ b/src/lib/elementary/elm_layout.eo
@@ -61,31 +61,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, 
Efl.File,
                                      settings loaded \@ref 
elm_layout_file_set.]]
          }
       }
-      part_cursor_engine_only_set {
-         [[Sets if the cursor set should be searched on the theme or should
-           use the provided by the engine, only.
-
-           Note: Before you set if should look on theme you should define a
-           cursor with @.part_cursor_set. By default it will only look for
-           cursors provided by the engine.
-         ]]
-         return: bool; [[$true on success or $false on failure, that may be
-                         part not exists or it did not had a cursor set.]]
-         params {
-            @in part_name: string; [[A part from loaded edje group.]]
-            @in engine_only: bool; [[If cursors should be just provided by
-                                     the engine ($true) or should also search
-                                     on widget's theme as well ($false)]]
-         }
-      }
-      part_cursor_engine_only_get @const {
-         [[Get a specific cursor engine_only for an edje part.]]
-         return: bool; [[Whenever the cursor is just provided by engine
-                         or also from theme.]]
-         params {
-            @in part_name: string; [[A part from loaded edje group.]]
-         }
-      }
       freeze {
          [[Freezes the Elementary layout object.
 
@@ -136,25 +111,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, 
Efl.File,
             @in height: bool; [[Restrict minimum size ot the current height.]]
          }
       }
-      part_cursor_style_set {
-         [[Sets a specific cursor style for an edje part.]]
-         return: bool; [[$true on success or $false on failure, that may be
-                         part not exists or it did not had a cursor set.]]
-         params {
-            @in part_name: string; [[A part from loaded edje group.]]
-            @in style: string; [[The theme style to use (default,
-                                       transparent, ...).]]
-         }
-      }
-      part_cursor_style_get @const {
-         [[Get a specific cursor style for an edje part.]]
-         return: string; [[The theme style in use, defaults to "default".
-                                 If the object does not have a cursor set,
-                                 then $null is returned.]]
-         params {
-            @in part_name: string; [[A part from loaded edje group.]]
-         }
-      }
       signal_callback_add {
          [[Add a callback for a (Edje) signal emitted by a layout widget's
            underlying Edje object.
@@ -172,22 +128,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, 
Efl.File,
                                           callback function.]]
          }
       }
-      part_cursor_set {
-         [[Sets a specific cursor for an edje part.]]
-         return: bool; [[$true on success or $false on failure, that may be
-                         part not exists or it has "mouse_events: 0".]]
-         params {
-            @in part_name: string; [[A part from loaded edje group.]]
-            @in cursor: string; [[Cursor name to use, see 
Elementary_Cursor.h.]]
-         }
-      }
-      part_cursor_get @const {
-         [[Get the cursor to be shown when mouse is over an edje part.]]
-         return: string; [[Cursor name]]
-         params {
-            @in part_name: string; [[A part from loaded edje group.]]
-         }
-      }
       sub_object_add_enable {
         [[Enable sub object add]]
          legacy: null;
@@ -265,15 +205,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, 
Efl.File,
             @in source: string; [[The signal's source string.]]
          }
       }
-      part_cursor_unset {
-         [[Unsets a cursor previously set with @.part_cursor_set.]]
-         return: bool; [[$true on success, $false otherwise]]
-         params {
-            @in part_name: string; [[A part from loaded edje group,
-                                           that had a cursor set wit
-                                           @.part_cursor_set.]]
-         }
-      }
    }
    implements {
       class.constructor;
diff --git a/src/lib/elementary/elm_layout_internal_part.eo 
b/src/lib/elementary/elm_layout_internal_part.eo
index d790cd49f3..11334cf126 100644
--- a/src/lib/elementary/elm_layout_internal_part.eo
+++ b/src/lib/elementary/elm_layout_internal_part.eo
@@ -1,4 +1,5 @@
-class Elm.Layout.Internal.Part (Efl.Object, Efl.Container, Efl.Text)
+class Elm.Layout.Internal.Part (Efl.Object, Efl.Container, Efl.Text,
+                                Efl.Ui.Cursor)
 {
    [[Elementary layout internal part class]]
    data: Elm_Part_Data;
@@ -7,5 +8,8 @@ class Elm.Layout.Internal.Part (Efl.Object, Efl.Container, 
Efl.Text)
       Efl.Container.content { get; set; }
       Efl.Container.content_unset;
       Efl.Text.text { set; get; }
+      Efl.Ui.Cursor.cursor { get; set; }
+      Efl.Ui.Cursor.cursor_style { get; set; }
+      Efl.Ui.Cursor.cursor_theme_search_enabled { get; set; }
    }
 }
diff --git a/src/lib/elementary/elm_layout_legacy.h 
b/src/lib/elementary/elm_layout_legacy.h
index 24228ed861..d619dd54de 100644
--- a/src/lib/elementary/elm_layout_legacy.h
+++ b/src/lib/elementary/elm_layout_legacy.h
@@ -419,4 +419,95 @@ EAPI Eina_Bool 
elm_layout_edje_object_can_access_set(Evas_Object *obj, Eina_Bool
  */
 EAPI Eina_Bool elm_layout_edje_object_can_access_get(const Evas_Object *obj);
 
+/**
+ * @brief Sets if the cursor set should be searched on the theme or should use
+ * the provided by the engine, only.
+ *
+ * @note Before you set if should look on theme you should define a cursor with
+ * @ref elm_layout_part_cursor_set. By default it will only look for cursors
+ * provided by the engine.
+ *
+ * @param[in] part_name A part from loaded edje group.
+ * @param[in] engine_only If cursors should be just provided by the engine
+ * ($true) or should also search on widget's theme as well ($false)
+ *
+ * @return @c true on success or @c false on failure, that may be part not
+ * exists or it did not had a cursor set.
+ *
+ * @ingroup Elm_Layout
+ */
+EAPI Eina_Bool elm_layout_part_cursor_engine_only_set(Evas_Object *obj, const 
char *part_name, Eina_Bool engine_only);
+
+/**
+ * @brief Get a specific cursor engine_only for an edje part.
+ *
+ * @param[in] part_name A part from loaded edje group.
+ *
+ * @return Whenever the cursor is just provided by engine or also from theme.
+ *
+ * @ingroup Elm_Layout
+ */
+EAPI Eina_Bool elm_layout_part_cursor_engine_only_get(const Evas_Object *obj, 
const char *part_name);
+
+/**
+ * @brief Sets a specific cursor for an edje part.
+ *
+ * @param[in] part_name A part from loaded edje group.
+ * @param[in] cursor Cursor name to use, see Elementary_Cursor.h.
+ *
+ * @return @c true on success or @c false on failure, that may be part not
+ * exists or it has "mouse_events: 0".
+ *
+ * @ingroup Elm_Layout
+ */
+EAPI Eina_Bool elm_layout_part_cursor_set(Evas_Object *obj, const char 
*part_name, const char *cursor);
+
+/**
+ * @brief Get the cursor to be shown when mouse is over an edje part.
+ *
+ * @param[in] part_name A part from loaded edje group.
+ *
+ * @return Cursor name
+ *
+ * @ingroup Elm_Layout
+ */
+EAPI const char *elm_layout_part_cursor_get(const Evas_Object *obj, const char 
*part_name);
+
+/**
+ * @brief Sets a specific cursor style for an edje part.
+ *
+ * @param[in] part_name A part from loaded edje group.
+ * @param[in] style The theme style to use (default, transparent, ...).
+ *
+ * @return @c true on success or @c false on failure, that may be part not
+ * exists or it did not had a cursor set.
+ *
+ * @ingroup Elm_Layout
+ */
+EAPI Eina_Bool elm_layout_part_cursor_style_set(Evas_Object *obj, const char 
*part_name, const char *style);
+
+/**
+ * @brief Get a specific cursor style for an edje part.
+ *
+ * @param[in] part_name A part from loaded edje group.
+ *
+ * @return The theme style in use, defaults to "default". If the object does
+ * not have a cursor set, then @c null is returned.
+ *
+ * @ingroup Elm_Layout
+ */
+EAPI const char *elm_layout_part_cursor_style_get(const Evas_Object *obj, 
const char *part_name);
+
+/**
+ * @brief Unsets a cursor previously set with @ref elm_layout_part_cursor_set.
+ *
+ * @param[in] part_name A part from loaded edje group, that had a cursor set
+ * wit @ref elm_layout_part_cursor_set.
+ *
+ * @return @c true on success, @c false otherwise
+ *
+ * @ingroup Elm_Layout
+ */
+EAPI Eina_Bool elm_layout_part_cursor_unset(Evas_Object *obj, const char 
*part_name);
+
 #include "elm_layout.eo.legacy.h"
diff --git a/src/lib/elementary/elm_part_helper.h 
b/src/lib/elementary/elm_part_helper.h
index 3f4ae43f76..b95a31818a 100644
--- a/src/lib/elementary/elm_part_helper.h
+++ b/src/lib/elementary/elm_part_helper.h
@@ -4,7 +4,7 @@
 #include "elm_layout_internal_part.eo.h"
 
 //#define ELM_PART_HOOK do { ERR("%p:%s [%d]", pd->obj, pd->part, (int) 
pd->temp); } while(0)
-#define ELM_PART_HOOK
+#define ELM_PART_HOOK do {} while(0)
 
 #define ELM_PART_REF(obj, pd) do { if (!(pd->temp++)) efl_ref(obj); } while(0)
 #define ELM_PART_UNREF(obj, pd) do { if (pd->temp) { if (!(--pd->temp)) 
efl_del(obj); } } while(0)
diff --git a/src/lib/elementary/els_cursor.c b/src/lib/elementary/els_cursor.c
index b02f02e594..fbc3448502 100644
--- a/src/lib/elementary/els_cursor.c
+++ b/src/lib/elementary/els_cursor.c
@@ -636,12 +636,13 @@ elm_object_sub_cursor_set(Evas_Object *eventarea, 
Evas_Object *owner, const char
                                   _elm_cursor_del, cur);
 }
 
-EOLIAN void
+EOLIAN Eina_Bool
 _elm_widget_efl_ui_cursor_cursor_set(Evas_Object *obj, Elm_Widget_Smart_Data 
*pd EINA_UNUSED,
                                      const char *cursor)
 {
-   EINA_SAFETY_ON_NULL_RETURN(obj);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
    elm_object_sub_cursor_set(obj, obj, cursor);
+   return EINA_TRUE;
 }
 
 EOLIAN const char *
@@ -713,21 +714,24 @@ elm_object_cursor_unset(Evas_Object *obj)
    free(cur);
 }
 
-EOLIAN void
+EOLIAN Eina_Bool
 _elm_widget_efl_ui_cursor_cursor_style_set(Evas_Object *obj, 
Elm_Widget_Smart_Data *pd EINA_UNUSED,
                                            const char *style)
 {
-   ELM_CURSOR_GET_OR_RETURN(cur, obj);
+   ELM_CURSOR_GET_OR_RETURN(cur, obj, EINA_FALSE);
 
    if (!eina_stringshare_replace(&cur->style, style))
      ERR("Could not set current style=%s", style);
 
-   if (cur->use_engine) return;
+   if (cur->use_engine) return EINA_FALSE;
 
    if (!cur->obj)
      {
         if (!_elm_cursor_obj_add(cur->owner, cur))
-          ERR("Could not create cursor object");
+          {
+             ERR("Could not create cursor object");
+             return EINA_FALSE;
+          }
         else
           _elm_cursor_set_hot_spots(cur);
      }
@@ -735,10 +739,15 @@ _elm_widget_efl_ui_cursor_cursor_style_set(Evas_Object 
*obj, Elm_Widget_Smart_Da
      {
         if (!_elm_theme_object_set(obj, cur->obj, "cursor", cur->cursor_name,
                                    style))
-          ERR("Could not apply the theme to the cursor style=%s", style);
+          {
+             ERR("Could not apply the theme to the cursor style=%s", style);
+             return EINA_FALSE;
+          }
         else
           _elm_cursor_set_hot_spots(cur);
      }
+
+   return EINA_TRUE;
 }
 
 EOLIAN const char *
@@ -763,14 +772,15 @@ elm_cursor_theme(Elm_Cursor *cur)
      _elm_cursor_set_hot_spots(cur);
 }
 
-EOLIAN void
+EOLIAN Eina_Bool
 _elm_widget_efl_ui_cursor_cursor_theme_search_enabled_set(Evas_Object *obj, 
Elm_Widget_Smart_Data *pd EINA_UNUSED,
                                                           Eina_Bool 
theme_search)
 {
-   ELM_CURSOR_GET_OR_RETURN(cur, obj);
+   ELM_CURSOR_GET_OR_RETURN(cur, obj, EINA_FALSE);
    cur->theme_search = theme_search;
    ELM_SAFE_FREE(cur->obj, evas_object_del);
    _elm_cursor_cur_set(cur);
+   return EINA_TRUE;
 }
 
 EOLIAN Eina_Bool

-- 


Reply via email to