Correctly save and restore screen resolution from icfg file
This commit is contained in:
parent
725b28a8ce
commit
7f7e4bcfb4
1 changed files with 5 additions and 0 deletions
|
@ -1761,6 +1761,8 @@ bool CInterfaceManager::loadConfig (const string &filename)
|
||||||
// *** If saved resolution is different from the current one setuped, must fix positions in _Modes
|
// *** If saved resolution is different from the current one setuped, must fix positions in _Modes
|
||||||
if(lastInGameScreenResLoaded)
|
if(lastInGameScreenResLoaded)
|
||||||
{
|
{
|
||||||
|
// Temporarily set screen to saved size so that positions are correctly calculated
|
||||||
|
CWidgetManager::getInstance()->setScreenWH(_LastInGameScreenW, _LastInGameScreenH);
|
||||||
// NB: we are typically InGame here (even though the _InGame flag is not yet set)
|
// NB: we are typically InGame here (even though the _InGame flag is not yet set)
|
||||||
// Use the screen size of the config file. Don't update current UI, just _Modes
|
// Use the screen size of the config file. Don't update current UI, just _Modes
|
||||||
CWidgetManager::getInstance()->moveAllWindowsToNewScreenSize(ClientCfg.Width, ClientCfg.Height, false);
|
CWidgetManager::getInstance()->moveAllWindowsToNewScreenSize(ClientCfg.Width, ClientCfg.Height, false);
|
||||||
|
@ -2018,6 +2020,9 @@ void CInterfaceManager::updateDesktops( uint32 newScreenW, uint32 newScreenH )
|
||||||
CWidgetManager::getInstance()->getNewWindowCoordToNewScreenSize(gcCont.X, gcCont.Y, gcCont.W, gcCont.H ,newScreenW, newScreenH);
|
CWidgetManager::getInstance()->getNewWindowCoordToNewScreenSize(gcCont.X, gcCont.Y, gcCont.W, gcCont.H ,newScreenW, newScreenH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_LastInGameScreenW = newScreenW;
|
||||||
|
_LastInGameScreenH = newScreenH;
|
||||||
}
|
}
|
||||||
|
|
||||||
class InvalidateTextVisitor : public CInterfaceElementVisitor
|
class InvalidateTextVisitor : public CInterfaceElementVisitor
|
||||||
|
|
Loading…
Reference in a new issue