[RE] [TIZEN] Fix for application crash when Back Button is pressed.
authorarya.k <arya.kumar@samsung.com>
Mon, 12 Oct 2015 13:21:38 +0000 (18:51 +0530)
committerMadan Lanka <lanka.madan@samsung.com>
Tue, 13 Oct 2015 08:14:26 +0000 (08:14 +0000)
Change-Id: Ice60767d55099602df2bb9072a5a446f520fd8ca
Signed-off-by: arya.k <arya.kumar@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/3813
Reviewed-by: Abhishek Pandey <abhi.siso@samsung.com>
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
service/resource-encapsulation/examples/tizen/RESampleServerApp/src/reserver.cpp

index 1210e89..4e74617 100644 (file)
@@ -33,6 +33,7 @@ using namespace OIC::Service;
 # define checkServer NULL!=server?true:false
 
 RCSResourceObject::Ptr server;
+static bool serverStarted = false;
 static bool serverCallback = false;
 int isPresenceOn = PRESENCE_ON;
 
@@ -75,17 +76,18 @@ void printAttribute(const RCSResourceAttributes &attrs)
 
 static void onDestroy()
 {
-    server = NULL;
     string logMessage = "SERVER DESTROYED";
 
-    if (isPresenceOn == PRESENCE_ON)
+    if(true == serverStarted)
     {
-        OCPlatform::stopPresence();
-    }
+        server = nullptr;
+        if(isPresenceOn == PRESENCE_ON)
+        {
+            OCPlatform::stopPresence();
+        }
 
-    dlog_print(DLOG_INFO, LOG_TAG, "#### %s", logMessage.c_str());
-    ecore_main_loop_thread_safe_call_sync((void * ( *)(void *))updateGroupLog,
-                                          &logMessage);
+        serverStarted = false;
+    }
 }
 
 //hander for get request (if developer choose second option for resource Creation)
@@ -443,6 +445,7 @@ void serverCreateUI(void *data, Evas_Object *obj, void *event_info)
 void start_server(void *data, Evas_Object *obj, void *event_info)
 {
     server = NULL;
+    serverStarted = true;
     string logMessage = "SERVER WITHOUT CALLBACK<br>";
 
     serverCallback = false;
@@ -456,6 +459,7 @@ void start_server(void *data, Evas_Object *obj, void *event_info)
 void start_server_cb(void *data, Evas_Object *obj, void *event_info)
 {
     server = NULL;
+    serverStarted = true;
     string logMessage = "SERVER WITH CALLBACK<br>";
 
     serverCallback = true;