home · contact · privacy
Client: Changed window sizing algorithm to fix bug of too large negative window
[plomrogue] / src / client / windows.c
index ff57399a50bd2f9e2805d98eebafbac16cf5071a..0ebe56dd949dbd9a063d432fe4b2da84a450a86e 100644 (file)
@@ -461,21 +461,23 @@ extern void init_win(struct Win ** wp, char * title, int16_t height,
     w->draw         = func;
     w->center.y     = 0;
     w->center.x     = 0;
-    if      (0 < width)
+    w->framesize.y  = world.wmeta.padsize.y - 1;
+    if      (0 < height && height <= world.wmeta.padsize.y - 1)
     {
-        w->framesize.x = width;
+        w->framesize.y = height;
     }
-    else if (0 >= width)
+    else if (0 > height && world.wmeta.padsize.y + (height - 1) > 0)
     {
-        w->framesize.x = world.wmeta.padsize.x + width;
+        w->framesize.y = world.wmeta.padsize.y + (height - 1);
     }
-    if      (0 < height && height <= world.wmeta.padsize.y - 1)
+    w->framesize.x  = world.wmeta.padsize.x;
+    if      (0 < width)
     {
-        w->framesize.y = height;
+        w->framesize.x = width;
     }
-    else if (0 >= height && world.wmeta.padsize.y + (height - 1) > 0)
+    else if (0 > width && world.wmeta.padsize.x + width > 0)
     {
-        w->framesize.y = world.wmeta.padsize.y + (height - 1);
+        w->framesize.x = world.wmeta.padsize.x + width;
     }
     *wp = w;
 }