Monitor enumeration cleanup.

master
Camilla Berglund ago%!(EXTRA string=12 years)
parent dc58dd1bef
commit 37a137559e
  1. 2
      src/init.c
  2. 12
      src/win32_monitor.c

@ -131,7 +131,7 @@ GLFWAPI int glfwInit(void)
}
_glfw.monitors = _glfwPlatformGetMonitors(&_glfw.monitorCount);
if (!_glfw.monitors)
if (_glfw.monitors == NULL || _glfw.monitorCount == 0)
{
_glfwErrorCallback(GLFW_PLATFORM_ERROR, "No monitors found");
_glfwPlatformTerminate();

@ -106,8 +106,6 @@ _GLFWmonitor** _glfwPlatformGetMonitors(int* count)
for (;;)
{
// Enumerate display adapters
DISPLAY_DEVICE adapter, display;
char* name;
HDC dc;
@ -148,7 +146,9 @@ _GLFWmonitor** _glfwPlatformGetMonitors(int* count)
name = _glfwCreateUTF8FromWideString(display.DeviceString);
if (!name)
{
// TODO: wat
_glfwDestroyMonitors(monitors, found);
_glfwInputError(GLFW_PLATFORM_ERROR,
"Failed to convert string to UTF-8");
return NULL;
}
@ -159,12 +159,6 @@ _GLFWmonitor** _glfwPlatformGetMonitors(int* count)
free(name);
DeleteDC(dc);
if (!monitors[found])
{
// TODO: wat
return NULL;
}
wcscpy(monitors[found]->win32.name, adapter.DeviceName);
found++;
}

Loading…
Cancel
Save