X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fx11%2Fdisplay.cpp;h=c23f46d26a21417cb14483c562401f3bbe7d9575;hb=e15959a69551c2027029470e65a17ea5a305545b;hp=8f022f7957a8af1c5df81d5844fe7e7683d2a7d9;hpb=85609ce268bdd6a91cd26e0bda7460862d3f38d7;p=libs%2Fgui.git diff --git a/source/graphics/x11/display.cpp b/source/graphics/x11/display.cpp index 8f022f7..c23f46d 100644 --- a/source/graphics/x11/display.cpp +++ b/source/graphics/x11/display.cpp @@ -1,4 +1,3 @@ -#include #include #ifdef WITH_XRANDR #include @@ -85,7 +84,8 @@ namespace Graphics { Display::Display(const string &disp_name): primary_monitor(0), - priv(new Private) + priv(new Private), + focus_window(0) { if(disp_name.empty()) priv->display = XOpenDisplay(0); @@ -96,6 +96,8 @@ Display::Display(const string &disp_name): XSetErrorHandler(x_error_handler); + priv->root_window = DefaultRootWindow(priv->display); + err_dialog = new ErrorDialog(this); #ifdef WITH_XRANDR @@ -107,9 +109,8 @@ Display::Display(const string &disp_name): XRRQueryVersion(priv->display, &major, &minor); if(major>1 || (major==1 && minor>=2)) { - WindowHandle root = DefaultRootWindow(priv->display); - XRRScreenResources *res = XRRGetScreenResources(priv->display, root); - RROutput primary = XRRGetOutputPrimary(priv->display, root); + XRRScreenResources *res = XRRGetScreenResources(priv->display, priv->root_window); + RROutput primary = XRRGetOutputPrimary(priv->display, priv->root_window); map modes_by_id; for(int i=0; inmode; ++i) @@ -219,8 +220,7 @@ void Display::set_mode(const VideoMode &requested_mode, bool exclusive) if(requested_rotation==ROTATE_ANY) requested_rotation = mode->monitor->desktop_rotation; - WindowHandle root = DefaultRootWindow(priv->display); - XRRScreenResources *res = XRRGetScreenResources(priv->display, root); + XRRScreenResources *res = XRRGetScreenResources(priv->display, priv->root_window); RROutput output = priv->monitors[mode->monitor->index]; XRROutputInfo *output_info = XRRGetOutputInfo(priv->display, res, output);