Cocoa: Fix work area retrieval on missing screen

Closes #1322.
This commit is contained in:
Doug Binks 2018-09-08 18:49:19 +02:00 committed by Camilla Löwy
parent ba4e78e57f
commit 68fd4e8bb3

View File

@ -413,21 +413,18 @@ void _glfwPlatformGetMonitorWorkarea(_GLFWmonitor* monitor, int* xpos, int* ypos
NSScreen *resultScreen; NSScreen *resultScreen;
for (NSScreen *screen in [NSScreen screens]) { for (NSScreen *screen in [NSScreen screens]) {
if ([[[screen deviceDescription] valueForKey:@"NSScreenNumber"] intValue] == monitor->ns.displayID) { if ([[[screen deviceDescription] valueForKey:@"NSScreenNumber"] intValue] == monitor->ns.displayID) {
resultScreen = screen; NSRect frameRect = [screen visibleFrame];
if (xpos)
*xpos = NSMinX(frameRect);
if (ypos)
*ypos = NSMinY(frameRect);
if (width)
*width = NSWidth(frameRect);
if (height)
*height = NSHeight(frameRect);
break; break;
} }
} }
NSRect frameRect = [[NSScreen resultScreen] visibleFrame];
if (xpos)
*xpos = NSMinX(frameRect);
if (ypos)
*ypos = NSMinY(frameRect);
if (width)
*width = NSWidth(frameRect);
if (height)
*height = NSHeight(frameRect);
} }
GLFWvidmode* _glfwPlatformGetVideoModes(_GLFWmonitor* monitor, int* count) GLFWvidmode* _glfwPlatformGetVideoModes(_GLFWmonitor* monitor, int* count)