fix potential crash when switching video output methods

This commit is contained in:
StapleButter 2019-05-31 03:18:09 +02:00
parent c49dec1acd
commit d8d7ba9251
2 changed files with 6 additions and 5 deletions

View File

@ -134,13 +134,15 @@ void OnRendererChanged(uiRadioButtons* rb, void* blarg)
ApplyNewSettings(2);
else
ApplyNewSettings(3);
uiControlSetFocus(uiControl(win));
}
void OnGLDisplayChanged(uiCheckbox* cb, void* blarg)
{
Config::ScreenUseGL = uiCheckboxChecked(cb);
ApplyNewSettings(2);
uiControlSetFocus(uiControl(cb));
uiControlSetFocus(uiControl(win));
}
void OnThreaded3DChanged(uiCheckbox* cb, void* blarg)

View File

@ -2043,15 +2043,14 @@ void ApplyNewSettings(int type)
bool usegl = Config::ScreenUseGL || (Config::_3DRenderer != 0);
if (usegl != Screen_UseGL)
{
Screen_UseGL = usegl;
if (RunningSomething)
{
if (usegl) uiGLMakeContextCurrent(GLContext);
if (Screen_UseGL) uiGLMakeContextCurrent(GLContext);
GPU3D::DeInitRenderer();
if (usegl) uiGLMakeContextCurrent(NULL);
if (Screen_UseGL) uiGLMakeContextCurrent(NULL);
}
Screen_UseGL = usegl;
RecreateMainWindow(usegl);
if (RunningSomething)