Browse Source

fixed rare crash on Android related with HTTP requests

[email protected] 8 years ago
parent
commit
e4de278dab
2 changed files with 11 additions and 7 deletions
  1. 3 3
      oxygine/src/AsyncTask.h
  2. 8 4
      oxygine/src/core/android/HttpRequestJavaTask.cpp

+ 3 - 3
oxygine/src/AsyncTask.h

@@ -92,10 +92,10 @@ namespace oxygine
             }
             }
             f();
             f();
         }
         }
-
-    private:
-
+        
         void _complete();
         void _complete();
         void _error();
         void _error();
+
+    private:
     };
     };
 }
 }

+ 8 - 4
oxygine/src/core/android/HttpRequestJavaTask.cpp

@@ -88,8 +88,10 @@ namespace oxygine
 
 
     void HttpRequestJavaTask::error_()
     void HttpRequestJavaTask::error_()
     {
     {
-        onError();
-        releaseRef();
+        core::getMainThreadDispatcher().postCallback([ = ]() {
+            _error();
+            releaseRef();
+        });
     }
     }
 
 
     void HttpRequestJavaTask::gotHeader_(int respCode, int contentLen)
     void HttpRequestJavaTask::gotHeader_(int respCode, int contentLen)
@@ -111,8 +113,10 @@ namespace oxygine
 
 
     void HttpRequestJavaTask::complete_()
     void HttpRequestJavaTask::complete_()
     {
     {
-        onComplete();
-        releaseRef();
+        core::getMainThreadDispatcher().postCallback([ = ]() {
+            _complete();
+            releaseRef();
+        });
     }
     }
 
 
     void HttpRequestJavaTask::_finaliaze(bool)
     void HttpRequestJavaTask::_finaliaze(bool)