diff options
Diffstat (limited to 'libkms++/connector.cpp')
-rw-r--r-- | libkms++/connector.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libkms++/connector.cpp b/libkms++/connector.cpp index cdeb02a..325b610 100644 --- a/libkms++/connector.cpp +++ b/libkms++/connector.cpp @@ -112,7 +112,7 @@ Videomode Connector::get_mode(const string& mode) const throw invalid_argument(mode + ": mode not found"); } -Videomode Connector::get_mode(unsigned xres, unsigned yres, unsigned refresh) const +Videomode Connector::get_mode(unsigned xres, unsigned yres, unsigned refresh, bool ilace) const { auto c = m_priv->drm_connector; @@ -125,6 +125,9 @@ Videomode Connector::get_mode(unsigned xres, unsigned yres, unsigned refresh) co if (refresh && m.vrefresh != refresh) continue; + if (ilace != !!(m.flags & DRM_MODE_FLAG_INTERLACE)) + continue; + return drm_mode_to_video_mode(c->modes[i]); } |