Tizen 2.4.0 rev3 SDK Public Release accepted/tizen/2.4/mobile/20160307.020044 submit/tizen_2.4/20160306.235821
authorjk7744.park <jk7744.park@samsung.com>
Fri, 4 Mar 2016 11:07:01 +0000 (20:07 +0900)
committerjk7744.park <jk7744.park@samsung.com>
Fri, 4 Mar 2016 11:07:01 +0000 (20:07 +0900)
widget_viewer_evas/include/widget_viewer_evas.h
widget_viewer_evas/src/widget_viewer_evas.c

index 68982f2..6038e20 100644 (file)
@@ -20,7 +20,7 @@
 
 #include <tizen_type.h>
 
-#include "widget_service.h"
+#include <widget_service.h>
 
 #ifdef __cplusplus
 extern "C" {
index c7e72bc..536a3c3 100644 (file)
@@ -6540,7 +6540,6 @@ static int widget_event_handler(struct widget *handle, enum widget_event_type ev
        struct widget_data *data;
        int idx;
        unsigned int resource_id;
-       int status;
 
        widget = widget_viewer_get_data(handle);
        if (widget) {
@@ -6575,13 +6574,21 @@ static int widget_event_handler(struct widget *handle, enum widget_event_type ev
        case WIDGET_EVENT_WIDGET_EXTRA_BUFFER_CREATED:
                widget_viewer_get_affected_extra_buffer(handle, 0, &idx, &resource_id);
                DbgPrint("Extra buffer created for WIDGET: %d (%u)\n", idx, resource_id);
-
-               status = widget_viewer_acquire_extra_resource_id(handle, 0, idx, acquire_widget_extra_resource_cb, data);
-               if (status < 0) {
-                       ErrPrint("Failed to acquire resource: %u (0x%X)\n", resource_id, status);
+               if (resource_id == 0u) {
+                       ErrPrint("Invalid resource id: %d\n", idx);
                        break;
                }
 
+               if (!s_info.conf.field.skip_acquire) {
+                       int status;
+
+                       status = widget_viewer_acquire_extra_resource_id(handle, 0, idx, acquire_widget_extra_resource_cb, data);
+                       if (status < 0) {
+                               ErrPrint("Failed to acquire resource: %u (0x%X)\n", resource_id, status);
+                               break;
+                       }
+               }
+
                if (!data->widget_extra) {
                        data->widget_extra = calloc(widget_viewer_get_option(WIDGET_OPTION_EXTRA_BUFFER_CNT), sizeof(*data->widget_extra));
                        if (!data->widget_extra) {
@@ -6596,6 +6603,11 @@ static int widget_event_handler(struct widget *handle, enum widget_event_type ev
        case WIDGET_EVENT_WIDGET_EXTRA_BUFFER_DESTROYED:
                widget_viewer_get_affected_extra_buffer(handle, 0, &idx, &resource_id);
                DbgPrint("Extra buffer destroyed for WIDGET: %d (%u)\n", idx, resource_id);
+               if (resource_id == 0u) {
+                       ErrPrint("Invalid resource id: %d\n", idx);
+                       break;
+               }
+
                if (data->widget_extra[idx] != resource_id) {
                        DbgPrint("Resource Id mismatched\n");
                        if (data->widget_extra[idx] == 0u) {
@@ -6621,6 +6633,11 @@ static int widget_event_handler(struct widget *handle, enum widget_event_type ev
        case WIDGET_EVENT_GBAR_EXTRA_BUFFER_CREATED:
                widget_viewer_get_affected_extra_buffer(handle, 1, &idx, &resource_id);
                DbgPrint("Extra buffer destroyed for GBAR: %d (%u)\n", idx, resource_id);
+               if (resource_id == 0u) {
+                       ErrPrint("Invalid resource id: %d\n", idx);
+                       break;
+               }
+
                if (!data->gbar_extra) {
                        data->gbar_extra = calloc(widget_viewer_get_option(WIDGET_OPTION_EXTRA_BUFFER_CNT), sizeof(*data->gbar_extra));
                        if (!data->gbar_extra) {
@@ -6632,16 +6649,24 @@ static int widget_event_handler(struct widget *handle, enum widget_event_type ev
                data->gbar_extra[idx] = resource_id;
                data->gbar_extra_cnt++;
 
-               if (widget_viewer_acquire_extra_resource_id(handle, 1, idx, acquire_gbar_extra_resource_cb, data) < 0) {
-                       ErrPrint("Failed to acquire resource: %u\n", resource_id);
+               if (!s_info.conf.field.skip_acquire) {
+                       if (widget_viewer_acquire_extra_resource_id(handle, 1, idx, acquire_gbar_extra_resource_cb, data) < 0) {
+                               ErrPrint("Failed to acquire resource: %u\n", resource_id);
+                       }
                }
                break;
        case WIDGET_EVENT_GBAR_EXTRA_BUFFER_DESTROYED:
                widget_viewer_get_affected_extra_buffer(handle, 1, &idx, &resource_id);
                DbgPrint("Extra buffer destroyed for GBAR: %d (%u)\n", idx, resource_id);
+               if (resource_id == 0u) {
+                       ErrPrint("Invalid resource id: %d\n", idx);
+                       break;
+               }
+
                if (data->gbar_extra[idx] != resource_id) {
                        DbgPrint("Resource Id mismatched\n");
                }
+
                data->gbar_extra[idx] = 0u;
                data->gbar_extra_cnt--;
                if (!data->gbar_extra_cnt) {