Ignore configure events of 0×0px

This commit is contained in:
Emmanuel Gil Peyrot 2018-01-04 21:55:09 +01:00 committed by linkmauve
parent 0e759c9422
commit f710db6504
1 changed files with 15 additions and 12 deletions

View File

@ -318,22 +318,25 @@ static void xdgToplevelHandleConfigure(void* data,
}
}
if (!maximized && !fullscreen)
if (width != 0 && height != 0)
{
if (window->numer != GLFW_DONT_CARE && window->denom != GLFW_DONT_CARE)
if (!maximized && !fullscreen)
{
aspectRatio = (float)width / (float)height;
targetRatio = (float)window->numer / (float)window->denom;
if (aspectRatio < targetRatio)
height = width / targetRatio;
else if (aspectRatio > targetRatio)
width = height * targetRatio;
if (window->numer != GLFW_DONT_CARE && window->denom != GLFW_DONT_CARE)
{
aspectRatio = (float)width / (float)height;
targetRatio = (float)window->numer / (float)window->denom;
if (aspectRatio < targetRatio)
height = width / targetRatio;
else if (aspectRatio > targetRatio)
width = height * targetRatio;
}
}
}
_glfwInputWindowSize(window, width, height);
_glfwPlatformSetWindowSize(window, width, height);
_glfwInputWindowDamage(window);
_glfwInputWindowSize(window, width, height);
_glfwPlatformSetWindowSize(window, width, height);
_glfwInputWindowDamage(window);
}
if (!activated && window->autoIconify)
_glfwPlatformIconifyWindow(window);