Explorar o código

Workaround for mingw and armeabi Android build

Ivan Savenko %!s(int64=2) %!d(string=hai) anos
pai
achega
873fd33e7a
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      client/CMT.cpp

+ 6 - 0
client/CMT.cpp

@@ -505,7 +505,13 @@ static void quitApplication()
 	// Perform quick exit without executing static destructors and let OS cleanup anything that we did not
 	// Perform quick exit without executing static destructors and let OS cleanup anything that we did not
 	// We generally don't care about them and this leads to numerous issues, e.g.
 	// We generally don't care about them and this leads to numerous issues, e.g.
 	// destruction of locked mutexes (fails an assertion), even in third-party libraries (as well as native libs on Android)
 	// destruction of locked mutexes (fails an assertion), even in third-party libraries (as well as native libs on Android)
+	// Android - std::quick_exit is available only starting from API level 21
+	// Mingw, macOS and iOS - std::quick_exit is unavailable (at least in current version of CI)
+#if (defined(__ANDROID_API__) && __ANDROID_API__ < 21) || (defined(__MINGW32__)) || defined(VCMI_APPLE)
+	::exit(0);
+#else
 	std::quick_exit(0);
 	std::quick_exit(0);
+#endif
 }
 }
 
 
 void handleQuit(bool ask)
 void handleQuit(bool ask)