[Android] Fixed the app crashing on rotation

Rotating the screen will restart the app with the new window/orientation.
This commit is contained in:
Mario Liebisch 2014-06-20 19:40:17 +02:00
parent 5b559f1c08
commit 1bd62b4d14
3 changed files with 7 additions and 4 deletions

View File

@ -200,6 +200,9 @@ static void onDestroy(ANativeActivity* activity)
// Delete our allocated states
delete states;
// Reset the activity pointer for all modules
sf::priv::getActivity(NULL, true);
// The application should now terminate
}
@ -386,7 +389,7 @@ void ANativeActivity_onCreate(ANativeActivity* activity, void* savedState, size_
states->terminated = false;
// Share it across the SFML modules
sf::priv::getActivity(states);
sf::priv::getActivity(states, true);
// These functions will update the activity states and therefore, will allow
// SFML to be kept in the know

View File

@ -33,11 +33,11 @@ namespace sf
{
namespace priv
{
ActivityStates* getActivity(ActivityStates* initializedStates)
ActivityStates* getActivity(ActivityStates* initializedStates, bool reset)
{
static ActivityStates* states = NULL;
if (!states)
if (!states || reset)
states = initializedStates;
return states;

View File

@ -74,7 +74,7 @@ struct ActivityStates
bool updated;
};
SFML_SYSTEM_API ActivityStates* getActivity(ActivityStates* initializedStates=NULL);
SFML_SYSTEM_API ActivityStates* getActivity(ActivityStates* initializedStates=NULL, bool reset=false);
} // namespace priv
} // namespace sf