summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-08-24 21:44:43 +0300
committerAndrei Karas <akaras@inbox.ru>2013-08-24 21:44:43 +0300
commitf3f5a316ca62e9d17776d4a49aab728aee65a5b5 (patch)
tree22affcd563bb8569adfd42de15ecd64f6819fa56
parent43fd8a8d53d4bd811a8e4d468a78f201148e5896 (diff)
downloadmanaplus-f3f5a316ca62e9d17776d4a49aab728aee65a5b5.tar.gz
manaplus-f3f5a316ca62e9d17776d4a49aab728aee65a5b5.tar.bz2
manaplus-f3f5a316ca62e9d17776d4a49aab728aee65a5b5.tar.xz
manaplus-f3f5a316ca62e9d17776d4a49aab728aee65a5b5.zip
move threads creation into sdl helper.
-rw-r--r--src/gui/whoisonline.cpp8
-rw-r--r--src/net/download.cpp9
-rw-r--r--src/net/ea/network.cpp7
-rw-r--r--src/utils/sdl2helper.cpp6
-rw-r--r--src/utils/sdl2helper.h5
-rw-r--r--src/utils/sdlhelper.cpp6
-rw-r--r--src/utils/sdlhelper.h5
7 files changed, 29 insertions, 17 deletions
diff --git a/src/gui/whoisonline.cpp b/src/gui/whoisonline.cpp
index 4b1c638ca..c1ea05881 100644
--- a/src/gui/whoisonline.cpp
+++ b/src/gui/whoisonline.cpp
@@ -45,6 +45,7 @@
#include "net/playerhandler.h"
#include "utils/gettext.h"
+#include "utils/sdlhelper.h"
#include <SDL.h>
#include <SDL_thread.h>
@@ -581,13 +582,8 @@ void WhoIsOnline::download()
SDL_WaitThread(mThread, nullptr);
mDownloadComplete = false;
-#ifdef USE_SDL2
- mThread = SDL_CreateThread(WhoIsOnline::downloadThread,
+ mThread = SDL::createThread(WhoIsOnline::downloadThread,
"whoisonline", this);
-#else
- mThread = SDL_CreateThread(WhoIsOnline::downloadThread, this);
-#endif
-
if (mThread == nullptr)
mDownloadStatus = UPDATE_ERROR;
}
diff --git a/src/net/download.cpp b/src/net/download.cpp
index 1d49caea2..4d03ea783 100644
--- a/src/net/download.cpp
+++ b/src/net/download.cpp
@@ -26,6 +26,8 @@
#include "logger.h"
#include "main.h"
+#include "utils/sdlhelper.h"
+
#include <curl/curl.h>
#include <SDL.h>
@@ -169,12 +171,7 @@ bool Download::start()
{
logger->log("Starting download: %s", mUrl.c_str());
-#ifdef USE_SDL2
- mThread = SDL_CreateThread(downloadThread, "download", this);
-#else
- mThread = SDL_CreateThread(downloadThread, this);
-#endif
-
+ mThread = SDL::createThread(downloadThread, "download", this);
if (!mThread)
{
logger->log1(DOWNLOAD_ERROR_MESSAGE_THREAD);
diff --git a/src/net/ea/network.cpp b/src/net/ea/network.cpp
index 3bcda3db3..92cbb14f8 100644
--- a/src/net/ea/network.cpp
+++ b/src/net/ea/network.cpp
@@ -30,6 +30,7 @@
#include "net/eathena/protocol.h"
#include "utils/gettext.h"
+#include "utils/sdlhelper.h"
#include <assert.h>
#include <sstream>
@@ -114,11 +115,7 @@ bool Network::connect(ServerInfo server)
mToSkip = 0;
mState = CONNECTING;
-#ifdef USE_SDL2
- mWorkerThread = SDL_CreateThread(networkThread, "network", this);
-#else
- mWorkerThread = SDL_CreateThread(networkThread, this);
-#endif
+ mWorkerThread = SDL::createThread(networkThread, "network", this);
if (!mWorkerThread)
{
setError("Unable to create network worker thread");
diff --git a/src/utils/sdl2helper.cpp b/src/utils/sdl2helper.cpp
index a65f381b3..683a1b322 100644
--- a/src/utils/sdl2helper.cpp
+++ b/src/utils/sdl2helper.cpp
@@ -68,4 +68,10 @@ bool SDL::getWindowWMInfo(SDL_Window *const window, SDL_SysWMinfo *const info)
return SDL_GetWindowWMInfo(window, info);
}
+SDL_Thread *SDL::createThread(SDL_ThreadFunction fn,
+ const char *name, void *data)
+{
+ return SDL_CreateThread(fn, name, data);
+}
+
#endif // USE_SDL2
diff --git a/src/utils/sdl2helper.h b/src/utils/sdl2helper.h
index 5ba2d45bb..f8dd40270 100644
--- a/src/utils/sdl2helper.h
+++ b/src/utils/sdl2helper.h
@@ -24,6 +24,8 @@
#ifdef USE_SDL2
#include "utils/stringvector.h"
+#include <SDL_thread.h>
+
#include "localconsts.h"
struct SDL_Surface;
@@ -45,6 +47,9 @@ namespace SDL
void setVsync(const int val);
bool getWindowWMInfo(SDL_Window *const window, SDL_SysWMinfo *const info);
+
+ SDL_Thread *createThread(SDL_ThreadFunction fn,
+ const char *name, void *data);
} // namespace SDL
#endif // USE_SDL2
diff --git a/src/utils/sdlhelper.cpp b/src/utils/sdlhelper.cpp
index ed2187172..5b640f570 100644
--- a/src/utils/sdlhelper.cpp
+++ b/src/utils/sdlhelper.cpp
@@ -95,4 +95,10 @@ bool SDL::getWindowWMInfo(SDL_Surface *const window A_UNUSED,
return SDL_GetWMInfo(info);
}
+SDL_Thread *SDL::createThread(SDL_ThreadFunction fn,
+ const char *name A_UNUSED, void *data)
+{
+ return SDL_CreateThread(fn, data);
+}
+
#endif // USE_SDL2
diff --git a/src/utils/sdlhelper.h b/src/utils/sdlhelper.h
index 27d5cc2ab..e09e05b7b 100644
--- a/src/utils/sdlhelper.h
+++ b/src/utils/sdlhelper.h
@@ -27,6 +27,8 @@
#else
#include "utils/stringvector.h"
+#include <SDL_thread.h>
+
#include "localconsts.h"
struct SDL_Surface;
@@ -50,6 +52,9 @@ namespace SDL
bool getWindowWMInfo(SDL_Surface *const window A_UNUSED,
SDL_SysWMinfo *const info);
+
+ SDL_Thread *createThread(SDL_ThreadFunction fn,
+ const char *name A_UNUSED, void *data);
} // namespace SDL
#endif // USE_SDL2