SDL/test
Sam Lantinga 93a520b385 Fixed bug 3605 - Software renderer no longer renders after Android screen orientation change
Sylvain

This still happens with the current trunk version.  (software renderer of testdrawchessboard.c)

When there is a rotation, the window size changed and the internal surface is marked as "surface_valid == SDL_FALSE".
And all further call fails.

SDL_video.c :

2478 void
2479 SDL_OnWindowResized(SDL_Window * window)
2480 {
2481     window->surface_valid = SDL_FALSE;
2482     SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->w, window->h);
2483 }

some error set to :
2233         return SDL_SetError("Window surface is invalid, please call SDL_GetWindowSurface() to get a new surface");


So, this seems to be the behavior of the API ...


In the loop() function of testdrawchessboard.c, we can recreate the surface/renderer :

 65        if (e.type == SDL_WINDOWEVENT)
 66        {
 67             if (e.window.event == SDL_WINDOWEVENT_SIZE_CHANGED)
 68             {
 69                surface = SDL_GetWindowSurface(window);
 70                renderer = SDL_CreateSoftwareRenderer(surface);
 71             }
 72             /* Clear the rendering surface with the specified color */
 73             SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
 74             SDL_RenderClear(renderer);
 75        }

And it displays correctly.
2017-08-13 21:12:14 -07:00
..
emscripten Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
nacl Fixed bug 3480 - minor update to NACL common.js 2016-11-05 01:48:14 -07:00
shapes Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
COPYING Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
Makefile.in test: Makefile.in should copy bitmap and wave files to build directory. 2017-05-29 18:24:06 -04:00
README Backed out changeset e3fcdad257fc - testaudiocapture.c already does what we want 2017-03-16 16:45:12 -07:00
acinclude.m4 Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
aclocal.m4 Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
autogen.sh Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
axis.bmp Split controller axes into positive and negative sides so each can be bound independently. 2016-12-27 01:39:07 -08:00
button.bmp Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
checkkeys.c Fixed bug 3682 - Toggle text input in checkkeys when the mouse is clicked 2017-08-11 10:32:47 -07:00
configure mistake: Revert the files that I did not mean to commit 2017-03-01 15:05:54 -08:00
configure.in Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
controllermap.bmp Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
controllermap.c Fixed warning about implicit conversion in controllermap program. 2017-03-04 23:05:47 +01:00
gcc-fat.sh Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
icon.bmp Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
loopwave.c Removed unused signal includes and handler in test programs. 2017-05-20 23:30:32 +02:00
loopwavequeue.c Removed unused field in loopwavequeue program. 2017-04-29 22:50:23 +02:00
moose.dat Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
picture.xbm Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
relative_mode.markdown Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
sample.bmp Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
sample.wav Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testatomic.c Fixed bug 3744 - missing SDLCALL in several functions 2017-08-13 21:06:52 -07:00
testaudiocapture.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testaudiohotplug.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testaudioinfo.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testautomation.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testautomation_audio.c Fixed bug 3744 - missing SDLCALL in several functions 2017-08-13 21:06:52 -07:00
testautomation_clipboard.c Fixed a bunch of compiler warnings in the test code. 2017-01-07 22:24:45 -05:00
testautomation_events.c Fixed bug 3744 - missing SDLCALL in several functions 2017-08-13 21:06:52 -07:00
testautomation_hints.c Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testautomation_keyboard.c Fixed a bunch of compiler warnings in the test code. 2017-01-07 22:24:45 -05:00
testautomation_main.c Fixed three source comments in tests. 2016-06-28 21:15:16 +02:00
testautomation_mouse.c Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testautomation_pixels.c Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testautomation_platform.c Fixed a bunch of compiler warnings in the test code. 2017-01-07 22:24:45 -05:00
testautomation_rect.c Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testautomation_render.c Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testautomation_rwops.c Fixed a bunch of compiler warnings in the test code. 2017-01-07 22:24:45 -05:00
testautomation_sdltest.c Removed empty statements in tests. 2016-10-12 23:36:49 +02:00
testautomation_stdlib.c Fixed a bunch of compiler warnings in the test code. 2017-01-07 22:24:45 -05:00
testautomation_suites.h Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testautomation_surface.c Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testautomation_syswm.c Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testautomation_timer.c Fixed bug 3744 - missing SDLCALL in several functions 2017-08-13 21:06:52 -07:00
testautomation_video.c Fixed freeing uninitialized pointers on failure cleanup in tests. 2015-10-07 21:16:59 +02:00
testbounds.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testcustomcursor.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testdisplayinfo.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testdraw2.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testdrawchessboard.c Fixed bug 3605 - Software renderer no longer renders after Android screen orientation change 2017-08-13 21:12:14 -07:00
testdropfile.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testerror.c Removed unused signal includes and handler in test programs. 2017-05-20 23:30:32 +02:00
testfile.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testfilesystem.c Fixed bug 3639 - SDL_GetPrefPath returns a path with two consecutive slashes on Unix if org is omitted 2017-08-11 11:32:00 -07:00
testgamecontroller.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testgesture.c Removed unused constant in testgesture program. 2017-03-19 22:16:37 +01:00
testgl2.c Removed newlines from error messages. 2017-03-26 21:00:19 +02:00
testgles.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testgles2.c Removed newlines from error messages. 2017-03-26 21:00:19 +02:00
testhaptic.c Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testhittesting.c Fixed bug 3744 - missing SDLCALL in several functions 2017-08-13 21:06:52 -07:00
testhotplug.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testiconv.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testime.c Fixed typo in log message in testime program. 2017-07-09 23:00:35 +02:00
testintersections.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testjoystick.c Added support for the HOTAS Warthog throttle 2017-01-31 12:23:29 -08:00
testkeys.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testloadso.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testlock.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testmessage.c Fixed bug 3744 - missing SDLCALL in several functions 2017-08-13 21:06:52 -07:00
testmultiaudio.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testnative.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testnative.h Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testnativecocoa.m Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
testnativew32.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testnativex11.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testoverlay2.c Removed unnecessary call to free() in testoverlay2 program. 2017-05-20 23:30:47 +02:00
testplatform.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testpower.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testqsort.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testrelative.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testrendercopyex.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testrendertarget.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testresample.c testresample: write correct length to the .wav header. 2017-01-09 15:56:11 -05:00
testrumble.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testscale.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testsem.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testshader.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testshape.c Fixed handling only one event per frame in testshape program. 2017-06-24 23:45:19 +02:00
testsprite2.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testspriteminimal.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
teststreaming.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testthread.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testtimer.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testver.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testviewport.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
testwm2.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
torturethread.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
utf8.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00

README

These are test programs for the SDL library:

	checkkeys	Watch the key events to check the keyboard
	loopwave	Audio test -- loop playing a WAV file
	loopwavequeue	Audio test -- loop playing a WAV file with SDL_QueueAudio
	testaudioinfo	Lists audio device capabilities
	testerror	Tests multi-threaded error handling
	testfile	Tests RWops layer
	testgl2		A very simple example of using OpenGL with SDL
	testiconv	Tests international string conversion
	testjoystick	List joysticks and watch joystick events
	testkeys	List the available keyboard keys
	testloadso	Tests the loadable library layer
	testlock	Hacked up test of multi-threading and locking
	testmultiaudio	Tests using several audio devices
	testoverlay2	Tests the overlay flickering/scaling during playback.
	testplatform	Tests types, endianness and cpu capabilities
	testsem		Tests SDL's semaphore implementation
	testshape	Tests shaped windows
	testsprite2	Example of fast sprite movement on the screen
	testthread	Hacked up test of multi-threading
	testtimer	Test the timer facilities
	testver		Check the version and dynamic loading and endianness
	testwm2		Test window manager -- title, icon, events
	torturethread	Simple test for thread creation/destruction
	controllermap   Useful to generate Game Controller API compatible maps



This directory contains sample.wav, which is a sample from Will Provost's
song, The Living Proof:

     From the album The Living Proof
     Publisher: 5 Guys Named Will
     Copyright 1996 Will Provost

You can get a copy of the full song (and album!) from iTunes...

    https://itunes.apple.com/us/album/the-living-proof/id4153978

or Amazon...

    http://www.amazon.com/The-Living-Proof-Will-Provost/dp/B00004R8RH

Thanks to Will for permitting us to distribute this sample with SDL!