emulators/ppsspp: unbreak runtime on DragonFly

$ ppsspp
Unable to initialize SDL: SDL not built with joystick support
This commit is contained in:
Jan Beich 2016-07-09 07:31:13 +00:00
parent 7030d031ae
commit cfbc4cd8f8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=418266

View file

@ -0,0 +1,53 @@
commit 3fc255b
Author: Henrik Rydgård <hrydgard@gmail.com>
Date: Sat Jul 9 09:15:11 2016 +0200
Make it possible to run even if SDL was built with joystick disabled. Should fix #8851.
---
ext/native/base/PCMain.cpp | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git ext/native/base/PCMain.cpp ext/native/base/PCMain.cpp
index cead0d7..00ec49a 100644
--- ext/native/base/PCMain.cpp
+++ ext/native/base/PCMain.cpp
@@ -426,9 +426,13 @@ int main(int argc, char *argv[]) {
net::Init();
+ bool joystick_enabled = true;
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO) < 0) {
- fprintf(stderr, "Unable to initialize SDL: %s\n", SDL_GetError());
- return 1;
+ joystick_enabled = false;
+ if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0) {
+ fprintf(stderr, "Unable to initialize SDL: %s\n", SDL_GetError());
+ return 1;
+ }
}
#ifdef __APPLE__
@@ -659,7 +663,11 @@ int main(int argc, char *argv[]) {
// Audio must be unpaused _after_ NativeInit()
SDL_PauseAudio(0);
#ifndef _WIN32
- joystick = new SDLJoystick();
+ if (joystick_enabled) {
+ joystick = new SDLJoystick();
+ } else {
+ joystick = nullptr;
+ }
#endif
EnableFZ();
@@ -848,7 +856,9 @@ int main(int argc, char *argv[]) {
break;
default:
#ifndef _WIN32
- joystick->ProcessInput(event);
+ if (joystick) {
+ joystick->ProcessInput(event);
+ }
#endif
break;
}