Add exceptional case handling code.
authorSung-jae Park <nicesj.park@samsung.com>
Fri, 31 May 2013 05:48:28 +0000 (14:48 +0900)
committerSung-jae Park <nicesj.park@samsung.com>
Fri, 31 May 2013 06:37:26 +0000 (15:37 +0900)
[model] Redwood
[binary_type] AP
[customer] Docomo/Orange/Open
[issue#] N/A
[problem] if a developer doesn't set the parent elm object, client doesn't know what happens.
[cause] N/A
[solution] returns error code for handling this case correctly by client.
[team] HomeTF
[request]
[horizontal_expansion]

Change-Id: Ia75a9b482e26f403fa8b549e7fdc5370064c3c05

src/virtual_window.c

index d2ed2e0..2939295 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <dlog.h>
 #include <livebox-errno.h>
+#include <livebox-service.h>
 
 #include "livebox.h"
 
@@ -82,8 +83,10 @@ static int event_handler_cb(struct livebox_buffer *handler, enum buffer_event ev
                evas_event_feed_mouse_out(e, timestamp + 0.01f, NULL); /* + 0.1f just for fake event */
                break;
        case BUFFER_EVENT_HIGHLIGHT:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_type = ELM_ACCESS_ACTION_HIGHLIGHT;
                action_info.x = ix;
                action_info.y = iy;
@@ -91,45 +94,57 @@ static int event_handler_cb(struct livebox_buffer *handler, enum buffer_event ev
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_ERROR : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_HIGHLIGHT_NEXT:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_type = ELM_ACCESS_ACTION_HIGHLIGHT_NEXT;
                action_info.highlight_cycle = EINA_FALSE;
                ret = elm_access_action(parent_elm, action_type, &action_info);
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_LAST : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_HIGHLIGHT_PREV:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_type = ELM_ACCESS_ACTION_HIGHLIGHT_PREV;
                action_info.highlight_cycle = EINA_FALSE;
                ret = elm_access_action(parent_elm, action_type, &action_info);
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_FIRST : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_ACTIVATE:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_type = ELM_ACCESS_ACTION_ACTIVATE;
                ret = elm_access_action(parent_elm, action_type, &action_info);
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_ERROR : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_ACTION_UP:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_type = ELM_ACCESS_ACTION_UP;
                ret = elm_access_action(parent_elm, action_type, &action_info);
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_ERROR : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_ACTION_DOWN:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_type = ELM_ACCESS_ACTION_DOWN;
                ret = elm_access_action(parent_elm, action_type, &action_info);
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_ERROR : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_SCROLL_UP:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_type = ELM_ACCESS_ACTION_SCROLL;
                action_info.x = ix;
                action_info.y = iy;
@@ -138,8 +153,10 @@ static int event_handler_cb(struct livebox_buffer *handler, enum buffer_event ev
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_ERROR : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_SCROLL_MOVE:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_info.x = ix;
                action_info.y = iy;
                action_info.mouse_type = 1;
@@ -147,15 +164,19 @@ static int event_handler_cb(struct livebox_buffer *handler, enum buffer_event ev
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_ERROR : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_SCROLL_DOWN:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_info.mouse_type = 2;
                ret = elm_access_action(parent_elm, action_type, &action_info);
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_ERROR : LB_ACCESS_STATUS_DONE;
                break;
        case BUFFER_EVENT_UNHIGHLIGHT:
-               if (!parent_elm)
+               if (!parent_elm) {
+                       ret = LB_ACCESS_STATUS_ERROR;
                        break;
+               }
                action_type = ELM_ACCESS_ACTION_UNHIGHLIGHT;
                ret = elm_access_action(parent_elm, action_type, &action_info);
                ret = (ret == EINA_FALSE) ? LB_ACCESS_STATUS_ERROR : LB_ACCESS_STATUS_DONE;