Fix possible segfault

This commit is contained in:
2020-09-12 09:36:08 +02:00
parent 0a06e1d841
commit 74e53a0d67
3 changed files with 28 additions and 18 deletions
+17 -12
View File
@@ -316,6 +316,11 @@ void handleKeyDownMain( SDL_Keycode key, SDLPP::Scene &scene ) {
g_cur_shadow->rotate();
updateShadow(scene);
break;
case SDLK_SPACE:
if(!g_cur_object)
break;
g_cur_object->setPos(g_cur_shadow->getPos());
break;
case SDLK_r:
scene.getRenderer().setRenderColiders(
!scene.getRenderer().getRenderColiders() );
@@ -565,6 +570,16 @@ void gameOverSceneInput( std::shared_ptr< SDLPP::Scene > /*UNUSED*/, int /*UNUSE
pollEventsGameOver();
}
void saveOptions() {
g_update_colors = true;
if(g_cur_shadow)
g_cur_shadow->setHidden(!g_show_shadow);
g_pause = 0;
g_main_scene->setPrevTicks( SDL_GetTicks() );
g_active_scenes.pop_back();
g_input_functions.pop_back();
}
void handleKeyDownOptions( SDL_Keycode key ) {
switch ( key ) {
case SDLK_r:
@@ -626,24 +641,14 @@ void handleKeyDownOptions( SDL_Keycode key ) {
case SDLK_RETURN:
switch ( g_options_select ) {
case 2:
g_update_colors = true;
g_cur_shadow->setHidden(!g_show_shadow);
g_pause = 0;
g_main_scene->setPrevTicks( SDL_GetTicks() );
g_active_scenes.pop_back();
g_input_functions.pop_back();
saveOptions();
break;
default:
break;
}
break;
case SDLK_ESCAPE:
g_update_colors = true;
g_cur_shadow->setHidden(!g_show_shadow);
g_pause = 0;
g_main_scene->setPrevTicks( SDL_GetTicks() );
g_active_scenes.pop_back();
g_input_functions.pop_back();
saveOptions();
default:
break;
}