diff options
author | David 'Digit' Turner <digit@android.com> | 2011-06-23 18:40:11 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2011-06-27 13:41:23 +0200 |
commit | f816a75ca5b357563a4ecf996e95b24ffabd0b54 (patch) | |
tree | 65d9a5630c9186c1802850c7f99d70a5dcfd778e /android | |
parent | 4863f82a20559827c131363e193aefcc4964cc23 (diff) | |
download | external_qemu-f816a75ca5b357563a4ecf996e95b24ffabd0b54.zip external_qemu-f816a75ca5b357563a4ecf996e95b24ffabd0b54.tar.gz external_qemu-f816a75ca5b357563a4ecf996e95b24ffabd0b54.tar.bz2 |
Fix -audio <name> and -no-audio processing.
Turns out that the string passed to putenv() must not be modified :-/
We provide our own win32 implementation for emulator-ui that doesn't
embed the os-win32.c QEMU-specific file.
Change-Id: I7260fbc37d23a5340dab589dfde577ef5eb10005
Diffstat (limited to 'android')
-rw-r--r-- | android/main-common.c | 2 | ||||
-rw-r--r-- | android/skin/window.c | 6 | ||||
-rw-r--r-- | android/utils/setenv.c | 18 |
3 files changed, 19 insertions, 7 deletions
diff --git a/android/main-common.c b/android/main-common.c index 94accf7..a0e5f56 100644 --- a/android/main-common.c +++ b/android/main-common.c @@ -524,7 +524,7 @@ init_sdl_ui(AConfig* skinConfig, #endif /* we're not a game, so allow the screensaver to run */ - putenv("SDL_VIDEO_ALLOW_SCREENSAVER=1"); + setenv("SDL_VIDEO_ALLOW_SCREENSAVER","1",1); flags = SDL_INIT_NOPARACHUTE; if (!opts->no_window) diff --git a/android/skin/window.c b/android/skin/window.c index c1bf23f..9e29a3f 100644 --- a/android/skin/window.c +++ b/android/skin/window.c @@ -1301,15 +1301,9 @@ skin_window_resize( SkinWindow* window ) { char temp[32]; -#ifdef HAVE_SETENV sprintf(temp, "%d,%d", window_x, window_y); setenv("SDL_VIDEO_WINDOW_POS", temp, 1); setenv("SDL_VIDEO_WINDOW_FORCE_VISIBLE", "1", 1); -#else - sprintf(temp,"SDL_VIDEO_WINDOW_POS=%d,%d",window_x,window_y); - putenv(temp); - putenv("SDL_VIDEO_WINDOW_FORCE_VISIBLE=1"); -#endif } flags = SDL_SWSURFACE; diff --git a/android/utils/setenv.c b/android/utils/setenv.c new file mode 100644 index 0000000..916c5f3 --- /dev/null +++ b/android/utils/setenv.c @@ -0,0 +1,18 @@ +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#ifdef _WIN32 +int setenv(const char *name, const char *value, int overwrite) +{ + int result = 0; + if (overwrite || !getenv(name)) { + size_t length = strlen(name) + strlen(value) + 2; + char *string = malloc(length); + snprintf(string, length, "%s=%s", name, value); + result = putenv(string); + } + return result; +} + +#endif |