]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/window.cpp
Only set resizing flag to true in Window::reconfigure
[libs/gui.git] / source / graphics / window.cpp
index 256ab2d470ace62169af6c938f42722482f76412..658eb26f5aab722c2b1515a4c64c4f6f9334ec73 100644 (file)
@@ -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)