From 3400f1ab9294f2d7a5d8c742a96e744544f4e3b8 Mon Sep 17 00:00:00 2001 From: pelya Date: Thu, 14 Oct 2010 18:16:13 +0300 Subject: [PATCH] Fixed bug in SDL 1.3 with waking up from background and recreating textures --- project/jni/sdl-1.3/src/video/SDL_video.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/project/jni/sdl-1.3/src/video/SDL_video.c b/project/jni/sdl-1.3/src/video/SDL_video.c index d78d50873..d41c9b839 100644 --- a/project/jni/sdl-1.3/src/video/SDL_video.c +++ b/project/jni/sdl-1.3/src/video/SDL_video.c @@ -3619,17 +3619,23 @@ void SDL_ANDROID_VideoContextLost() void SDL_ANDROID_VideoContextRecreated() { + int numTextures = 0; SDL_Texture * tex; - if( ! SDL_CurrentDisplay || ! SDL_CurrentRenderer || ! SDL_CurrentRenderer->window || ! SDL_CurrentRenderer->textures || SDL_GetWindowFlags(SDL_CurrentRenderer->window) & SDL_WINDOW_OPENGL ) + __android_log_print(ANDROID_LOG_INFO, "libSDL", "SDL_ANDROID_VideoContextRecreated(): SDL_CurrentRenderer %p", SDL_CurrentRenderer); + if( ! SDL_CurrentRenderer ) return; + if( SDL_CurrentRenderer->ActivateRenderer ) /* Re-apply glOrtho() and blend modes */ + SDL_CurrentRenderer->ActivateRenderer(SDL_CurrentRenderer); + tex = SDL_CurrentRenderer->textures; - SDL_SelectRenderer(SDL_CurrentRenderer->window); /* Re-apply glOrtho() and blend modes */ while( tex ) { SDL_CurrentRenderer->CreateTexture( SDL_CurrentRenderer, tex ); tex = tex->next; + numTextures++; } + __android_log_print(ANDROID_LOG_INFO, "libSDL", "SDL_ANDROID_VideoContextRecreated(): re-created %d textures", numTextures); } #endif