Reset scan_request_cb before calling scan_request_cb 91/155191/1 accepted/tizen/unified/20171013.192922 submit/tizen/20171012.091747
authorchleun.moon <chleun.moon@samsung.com>
Thu, 12 Oct 2017 09:03:11 +0000 (18:03 +0900)
committerchleun.moon <chleun.moon@samsung.com>
Thu, 12 Oct 2017 09:04:26 +0000 (18:04 +0900)
If the second wifi_manager_scan() is called in wifi_manager_scan_finished_cb of the first wifi_manager_scan(), the callback of the second wifi_manager_scan() will never be called.

Change-Id: I9e6c0ca03beea802bda5d53048aff725e1e60eef
Signed-off-by: Cheoleun Moon <chleun.moon@samsung.com>
packaging/capi-network-wifi-manager.spec
src/wifi_internal.c

index aef4f99..6b83ede 100755 (executable)
@@ -1,6 +1,6 @@
 Name:          capi-network-wifi-manager
 Summary:       Network Wi-Fi library in TIZEN C API
-Version:       1.0.20
+Version:       1.0.21
 Release:       1
 Group:         System/Network
 License:       Apache-2.0
index d3cf0ab..feb49cb 100755 (executable)
@@ -633,11 +633,14 @@ static void __scan_cb(net_event_info_s *event_cb, bool is_requested)
        if (_wifi_get_callback_count_from_handle_list(WIFI_SCAN_REQUEST_CB)) {
                for (list = wifi_manager_handle_list; list; list = list->next) {
                        wifi_manager_handle_s *local_handle = (wifi_manager_handle_s *)list->data;
-                       if (local_handle->scan_request_cb)
-                               local_handle->scan_request_cb(error_code, local_handle->scan_request_user_data);
-
+                       wifi_manager_scan_finished_cb cb = local_handle->scan_request_cb;
+                       void* user_data = local_handle->scan_request_user_data;
                        local_handle->scan_request_cb = NULL;
                        local_handle->scan_request_user_data = NULL;
+
+                       if (cb)
+                               cb(error_code, user_data);
+
                }
                return;
        }