cleaner approach to handling the viewport bug

This commit is contained in:
Edward Rudd 2013-12-31 19:56:20 -05:00
parent f42539e02b
commit e87bdb8a95
2 changed files with 6 additions and 1 deletions

View File

@ -52,6 +52,10 @@ struct GLProperty
set(value);
}
void refresh()
{
apply(current);
}
private:
virtual void apply(const T &value) = 0;

View File

@ -469,7 +469,8 @@ struct GraphicsPrivate
{
if (threadData->windowSizeMsg.pollChange(&winSize.x, &winSize.y))
{
glState.viewport.init(IntRect(0, 0, winSize.x, winSize.y));
// some GL drivers change the viewport on window resize
glState.viewport.refresh();
recalculateScreenSize();
screen.setScreenSize(winSize.x, winSize.y);
updateScreenResoRatio();