X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fwindow.cpp;h=658eb26f5aab722c2b1515a4c64c4f6f9334ec73;hb=e5dd55567618c0a0789d25882d2e0eab69437d63;hp=256ab2d470ace62169af6c938f42722482f76412;hpb=9bc0825e93b1385a4aaf9f90d666a1ac409ffb17;p=libs%2Fgui.git diff --git a/source/graphics/window.cpp b/source/graphics/window.cpp index 256ab2d..658eb26 100644 --- a/source/graphics/window.cpp +++ b/source/graphics/window.cpp @@ -51,7 +51,7 @@ Window::~Window() display.remove_window(*this); - if(options.fullscreen) + if(options.fullscreen && visible) display.restore_mode(); delete priv; @@ -60,18 +60,19 @@ Window::~Window() void Window::reconfigure(const WindowOptions &opts) { bool fullscreen_changed = (opts.fullscreen!=options.fullscreen); - resizing = (opts.width!=options.width || opts.height!=options.height); - - options = opts; - platform_reconfigure(fullscreen_changed); + if(opts.width!=options.width || opts.height!=options.height) + resizing = true; if(visible) { - if(options.fullscreen) - display.set_mode(VideoMode(options.width, options.height)); + if(opts.fullscreen) + display.set_mode(VideoMode(opts.width, opts.height)); else if(fullscreen_changed) display.restore_mode(); } + + options = opts; + platform_reconfigure(fullscreen_changed); } void Window::set_keyboard_autorepeat(bool r)