When the window is minimized GetClientRect will return zeros.
Instead of creating a 1x1 framebuffer, simply preserve the current window
size, until the window is restored or maximized again.
static INLINE void
stw_framebuffer_get_size( struct stw_framebuffer *fb )
{
- unsigned width, height;
+ LONG width, height;
RECT client_rect;
RECT window_rect;
POINT client_pos;
width = client_rect.right - client_rect.left;
height = client_rect.bottom - client_rect.top;
- if(width < 1)
- width = 1;
- if(height < 1)
- height = 1;
+ if (width <= 0 || height <= 0) {
+ /*
+ * When the window is minimized GetClientRect will return zeros. Simply
+ * preserve the current window size, until the window is restored or
+ * maximized again.
+ */
+
+ assert(width == 0 && height == 0);
+
+ return;
+ }
if(width != fb->width || height != fb->height) {
fb->must_resize = TRUE;