diff options
-rw-r--r-- | client/x11/platform.cpp | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp index c99595a3..f0c68235 100644 --- a/client/x11/platform.cpp +++ b/client/x11/platform.cpp @@ -1741,33 +1741,33 @@ void XMonitor::update_position() } if (crtc_info->noutput > 1) { + //todo: set valid subpixel order in case all outputs share the same type _subpixel_order = RED_SUBPIXEL_ORDER_UNKNOWN; - return; - } - - AutoOutputInfo output_info(XRRGetOutputInfo(display, res.get(), crtc_info->outputs[0])); + } else { + AutoOutputInfo output_info(XRRGetOutputInfo(display, res.get(), crtc_info->outputs[0])); - switch (output_info->subpixel_order) { - case SubPixelUnknown: - _subpixel_order = RED_SUBPIXEL_ORDER_UNKNOWN; - break; - case SubPixelHorizontalRGB: - _subpixel_order = RED_SUBPIXEL_ORDER_H_RGB; - break; - case SubPixelHorizontalBGR: - _subpixel_order = RED_SUBPIXEL_ORDER_H_BGR; - break; - case SubPixelVerticalRGB: - _subpixel_order = RED_SUBPIXEL_ORDER_V_RGB; - break; - case SubPixelVerticalBGR: - _subpixel_order = RED_SUBPIXEL_ORDER_V_BGR; + switch (output_info->subpixel_order) { + case SubPixelUnknown: + _subpixel_order = RED_SUBPIXEL_ORDER_UNKNOWN; break; - case SubPixelNone: - _subpixel_order = RED_SUBPIXEL_ORDER_NONE; - break; - default: - THROW("invalid subpixel order"); + case SubPixelHorizontalRGB: + _subpixel_order = RED_SUBPIXEL_ORDER_H_RGB; + break; + case SubPixelHorizontalBGR: + _subpixel_order = RED_SUBPIXEL_ORDER_H_BGR; + break; + case SubPixelVerticalRGB: + _subpixel_order = RED_SUBPIXEL_ORDER_V_RGB; + break; + case SubPixelVerticalBGR: + _subpixel_order = RED_SUBPIXEL_ORDER_V_BGR; + break; + case SubPixelNone: + _subpixel_order = RED_SUBPIXEL_ORDER_NONE; + break; + default: + THROW("invalid subpixel order"); + } } _mode = crtc_info->mode; |