X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fx11%2Fdisplay.cpp;h=8f022f7957a8af1c5df81d5844fe7e7683d2a7d9;hb=85609ce268bdd6a91cd26e0bda7460862d3f38d7;hp=c2a4eaf26371d1a190f8051f9e198590192d95a4;hpb=b1a6dffafa27d689389b512668fd5c34757dbd1d;p=libs%2Fgui.git diff --git a/source/graphics/x11/display.cpp b/source/graphics/x11/display.cpp index c2a4eaf..8f022f7 100644 --- a/source/graphics/x11/display.cpp +++ b/source/graphics/x11/display.cpp @@ -38,6 +38,7 @@ int x_error_handler(Display *display, XErrorEvent *event) return 0; } +#ifdef WITH_XRANDR inline Msp::Graphics::VideoRotation rotation_from_sys(Rotation r) { switch(r) @@ -60,12 +61,13 @@ inline Rotation rotation_to_sys(Msp::Graphics::VideoRotation r) } } -bool monitor_x_compare(const Msp::Graphics::Monitor &m1, const Msp::Graphics::Monitor &m2) +inline bool monitor_x_compare(const Msp::Graphics::Monitor &m1, const Msp::Graphics::Monitor &m2) { if(m1.desktop_mode && !m2.desktop_mode) return true; return m1.xname, output->nameLen); priv->monitors.push_back(res->outputs[i]); if(crtc) @@ -145,8 +148,8 @@ Display::Display(const string &disp_name): VideoMode mode(info->width, info->height); mode.index = modes.size(); mode.monitor = &monitor; - mode.rate = info->dotClock/(info->hTotal*info->vTotal); - if(find_mode(mode)) + mode.rate = static_cast(info->dotClock)/(info->hTotal*info->vTotal); + if(find_mode(mode, 0.01f)) continue; modes.push_back(mode);