[Fix] NULL dereferencing when ap is already NULL.
[apps/native/ug-wifi-direct.git] / popup-wifidirect / src / wfd-app-main.c
index e81945c..3067c67 100644 (file)
 
 #include <libintl.h>
 #include <Elementary.h>
-#if defined(X)
-#include <Ecore_X.h>
-#endif
 #include <notification.h>
 #include <ui-gadget-module.h>
 #include <app_control_internal.h>
 #include <feedback.h>
 #include <wifi-direct.h>
 #include <efl_util.h>
-#include <efl_assist.h>
 #include <linux/unistd.h>
-#if defined(X)
-#include <utilX.h>
-#endif
 #include <vconf.h>
 
 #include "wfd-app.h"
@@ -62,7 +55,6 @@ static void _win_del(void *data, Evas_Object *obj, void *event)
 static Evas_Object *_create_win(Evas_Object *parent, const char *name)
 {
        Evas_Object *eo;
-       int w, h;
 
        /* eo = elm_win_add(parent, name, ELM_WIN_BASIC); */
        eo = elm_win_add(NULL, name, ELM_WIN_NOTIFICATION);
@@ -71,11 +63,7 @@ static Evas_Object *_create_win(Evas_Object *parent, const char *name)
                elm_win_borderless_set(eo, EINA_TRUE);
                elm_win_alpha_set(eo, EINA_TRUE);
                evas_object_smart_callback_add(eo, "delete,request", _win_del, NULL);
-#if defined(X)
-               ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
-#endif
                efl_util_set_notification_window_level(eo, EFL_UTIL_NOTIFICATION_LEVEL_1);
-               evas_object_resize(eo, w, h);
                evas_object_raise(eo);
        }
 
@@ -104,16 +92,17 @@ static bool _app_create(void *data)
        memset(ad->popup_data, 0x0, sizeof(wfd_popup_t));
        ad->win = _create_win(NULL, PACKAGE);
 
+       /* set rotation */
        if (elm_win_wm_rotation_supported_get(ad->win)) {
-               int rots[4] = { 0, 90, 180, 270 };
-               elm_win_wm_rotation_available_rotations_set(ad->win, rots, 1);
+               int rots[4] = {0, 90, 180, 270};
+               elm_win_wm_rotation_available_rotations_set(ad->win, (const int *)(&rots), 4);
        }
 
        ad->conformant = elm_conformant_add(ad->win);
        assertm_if(NULL == ad->conformant, "conformant is NULL!!");
        elm_win_conformant_set(ad->win, EINA_TRUE);
        elm_win_resize_object_add(ad->win, ad->conformant);
-       evas_object_size_hint_weight_set(ad->conformant, EVAS_HINT_EXPAND, 0.0);
+       evas_object_size_hint_weight_set(ad->conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_size_hint_align_set(ad->conformant, EVAS_HINT_FILL, 0.0);
        evas_object_show(ad->conformant);
 
@@ -133,12 +122,6 @@ static bool _app_create(void *data)
        ad->layout = elm_layout_add(ad->conformant);
        elm_object_content_set(ad->conformant, ad->layout);
 
-#if defined(X)
-       if (!ecore_x_display_get()) {
-               return FALSE;
-       }
-#endif
-
        ret = init_wfd_client(ad);
        if (!ret) {
                WFD_APP_LOG(WFD_APP_LOG_ERROR, "init_wfd_popup_client error\n");
@@ -180,18 +163,17 @@ static void _app_terminate(void *data)
        wfd_app_util_del_notification(ad);
 
        ret = wfd_app_util_deregister_vconf_callbacks(ad);
-       if (ret < 0) {
+       if (ret < 0)
                WFD_APP_LOG(WFD_APP_LOG_ERROR, "Failed to register vconf notification");
-       }
 
        /* Deregister Hardkey CB */
        wfd_app_util_deregister_hard_key_down_cb(ad);
 
        /* Deinitializes feedback API */
        ret = feedback_deinitialize();
-       if (ret != FEEDBACK_ERROR_NONE) {
+       if (ret != FEEDBACK_ERROR_NONE)
                WFD_APP_LOG(WFD_APP_LOG_ERROR, "feedback_deinitialize error : %d\n", ret);
-       }
+
        if (ad->transmit_timer) {
                ecore_timer_del(ad->transmit_timer);
                ad->transmit_timer = NULL;
@@ -200,9 +182,8 @@ static void _app_terminate(void *data)
        wfd_destroy_popup();
 
        ret = deinit_wfd_client(ad);
-       if (ret < 0) {
+       if (ret < 0)
                WFD_APP_LOG(WFD_APP_LOG_ERROR, "deinit_wfd_client error\n");
-       }
 
        if (ad->back_grnd) {
                evas_object_del(ad->back_grnd);
@@ -281,15 +262,15 @@ static void _app_reset(app_control_h control, void *data)
                WFD_APP_LOG(WFD_APP_LOG_LOW, "Launching Settings EFL from notification\n");
                app_control_create(&ug_control);
                app_control_set_operation(ug_control, APP_CONTROL_OPERATION_DEFAULT);
-               app_control_set_window(ug_control, elm_win_xwindow_get(ug_get_window()));
+               app_control_set_launch_mode(ug_control, APP_CONTROL_LAUNCH_MODE_GROUP);
                app_control_set_app_id(ug_control, "setting-wifidirect-efl");
 
                ret = app_control_send_launch_request(ug_control, NULL, NULL);
-               if(ret == APP_CONTROL_ERROR_NONE) {
+               if (ret == APP_CONTROL_ERROR_NONE)
                        WFD_APP_LOG(WFD_APP_LOG_LOW, "Launch Wi-Fi Direct successful");
-               } else {
+               else
                        WFD_APP_LOG(WFD_APP_LOG_ERROR, "Fail to launch Wi-Fi Direct");
-               }
+
                app_control_destroy(ug_control);
 
        }