Monitor enumeration cleanup.

This commit is contained in:
Camilla Berglund 2013-04-18 15:30:28 +02:00
parent dc58dd1bef
commit 37a137559e
2 changed files with 4 additions and 10 deletions

View File

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

View File

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