[access] call ELM_ACCESS_ACTION_SCROLL callback
authorShinwoo Kim <cinoo.kim@samsung.com>
Wed, 1 May 2013 02:18:54 +0000 (11:18 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Mon, 27 May 2013 05:14:28 +0000 (14:14 +0900)
Change-Id: I509b947667b6b1715c016a130a32321500860ca2

src/lib/elm_access.c
src/lib/elm_win.c

index ff47ba4..b626391 100644 (file)
@@ -1450,10 +1450,18 @@ elm_access_action(Evas_Object *obj, const Elm_Access_Action_Type type, void *act
 
       case ELM_ACCESS_ACTION_SCROLL:
         _elm_access_highlight_object_scroll(obj, a->mouse_type, a->x, a->y);
+
+        ho = _access_highlight_object_get(obj);
+        if (ho)
+          _access_action_callback_call(ho, ELM_ACCESS_ACTION_SCROLL, a);
         break;
 
       case ELM_ACCESS_ACTION_MOUSE:
         _elm_access_highlight_object_mouse(obj, a->mouse_type, a->x, a->y);
+
+        ho = _access_highlight_object_get(obj);
+        if (ho)
+          _access_action_callback_call(ho, ELM_ACCESS_ACTION_MOUSE, a);
         break;
 
       case ELM_ACCESS_ACTION_BACK:
index c8fedbb..515efa4 100755 (executable)
@@ -2046,6 +2046,8 @@ _elm_win_client_message(void *data,
                   if (!evas) return ECORE_CALLBACK_PASS_ON;
 
                   a = calloc(1, sizeof(Elm_Access_Action_Info));
+                  if (!a) return ECORE_CALLBACK_PASS_ON;
+
                   a->x = e->data.l[2];
                   a->y = e->data.l[3];
                   elm_access_action(ELM_WIDGET_DATA(sd)->obj, ELM_ACCESS_ACTION_HIGHLIGHT, a);
@@ -2076,14 +2078,28 @@ _elm_win_client_message(void *data,
              else if ((unsigned int)e->data.l[1] ==
                       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_SCROLL)
                {
-                  _elm_access_highlight_object_scroll(ELM_WIDGET_DATA(sd)->obj,
-                    e->data.l[2], e->data.l[3], e->data.l[4]);
+                  a = calloc(1, sizeof(Elm_Access_Action_Info));
+                  if (!a) return ECORE_CALLBACK_PASS_ON;
+
+                  a->mouse_type = e->data.l[2];
+                  a->x = e->data.l[3];
+                  a->y = e->data.l[4];
+                  elm_access_action(ELM_WIDGET_DATA(sd)->obj,
+                                    ELM_ACCESS_ACTION_SCROLL, a);
+                  free(a);
                }
              else if ((unsigned int)e->data.l[1] ==
                       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_MOUSE)
                {
-                  _elm_access_highlight_object_mouse(ELM_WIDGET_DATA(sd)->obj,
-                    e->data.l[2], e->data.l[3], e->data.l[4]);
+                  a = calloc(1, sizeof(Elm_Access_Action_Info));
+                  if (!a) return ECORE_CALLBACK_PASS_ON;
+
+                  a->mouse_type = e->data.l[2];
+                  a->x = e->data.l[3];
+                  a->y = e->data.l[4];
+                  elm_access_action(ELM_WIDGET_DATA(sd)->obj,
+                                    ELM_ACCESS_ACTION_MOUSE, a);
+                  free(a);
                }
              else if ((unsigned int)e->data.l[1] ==
                       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_BACK)