Fixed RandR primary monitor detection.

This commit is contained in:
Camilla Berglund 2012-12-22 23:35:45 +01:00
parent 692f34b536
commit 648655aa5b

View File

@ -331,11 +331,15 @@ _GLFWmonitor** _glfwPlatformGetMonitors(int* count)
{
#if defined (_GLFW_HAS_XRANDR)
int i;
RROutput primary;
XRRScreenResources* sr;
sr = XRRGetScreenResources(_glfwLibrary.X11.display,
_glfwLibrary.X11.root);
primary = XRRGetOutputPrimary(_glfwLibrary.X11.display,
_glfwLibrary.X11.root);
monitors = (_GLFWmonitor**) calloc(sr->noutput, sizeof(_GLFWmonitor*));
if (!monitors)
{
@ -374,7 +378,7 @@ _GLFWmonitor** _glfwPlatformGetMonitors(int* count)
ci = XRRGetCrtcInfo(_glfwLibrary.X11.display, sr, oi->crtc);
monitors[found] = _glfwCreateMonitor(oi->name,
i == 0,
sr->outputs[i] == primary,
physicalWidth, physicalHeight,
ci->x, ci->y);