RFC: Fix a couple more dangling stack-allocated viewports

They could end up getting referenced after the stack has been popped.

Change-Id: I12abbf3f436ecfde76a37f2623a044915800d2b2
This commit is contained in:
Solomon Peachy 2021-04-07 10:48:49 -04:00
parent 99bf506407
commit 7f638e54ee
2 changed files with 12 additions and 2 deletions

View file

@ -1062,7 +1062,15 @@ int gui_syncpitchscreen_run(void)
new_speed = 0; new_speed = 0;
} }
} }
pcmbuf_set_low_latency(false); pcmbuf_set_low_latency(false);
pop_current_activity(); pop_current_activity();
/* Clean up */
FOR_NB_SCREENS(i)
{
screens[i].set_viewport(NULL);
}
return 0; return 0;
} }

View file

@ -1084,7 +1084,7 @@ bool recording_screen(bool no_source)
pm_y[i] = font_get(vp_top[i].font)->height * 2; pm_y[i] = font_get(vp_top[i].font)->height * 2;
trig_ypos[i] = font_get(vp_top[i].font)->height * 3; trig_ypos[i] = font_get(vp_top[i].font)->height * 3;
if(compact_view[i]) if(compact_view[i])
trig_ypos[i] -= (font_get(vp_top[i].font)->height)/2; trig_ypos[i] -= (font_get(vp_top[i].font)->height)/2;
} }
/* init the bottom list */ /* init the bottom list */
@ -1803,8 +1803,10 @@ rec_abort:
rec_status &= ~RCSTAT_IN_RECSCREEN; rec_status &= ~RCSTAT_IN_RECSCREEN;
sound_settings_apply(); sound_settings_apply();
FOR_NB_SCREENS(i) FOR_NB_SCREENS(i) {
screens[i].set_viewport(NULL);
screens[i].setfont(FONT_UI); screens[i].setfont(FONT_UI);
}
/* if the directory was created or recording happened, make sure the /* if the directory was created or recording happened, make sure the
browser is updated */ browser is updated */