do not apply max client geometry restriction if max geometry is not set
authorMike Blumenkrantz <zmike@osg.samsung.com>
Tue, 24 Nov 2015 22:34:03 +0000 (17:34 -0500)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Tue, 24 Nov 2015 22:34:03 +0000 (17:34 -0500)
default values for these is set to a very high value, but it's possible
(and guaranteed) for some clients to set them to a value <= 0, which results
in a broken window

src/bin/e_remember.c

index 1beb10b..62147f4 100644 (file)
@@ -743,11 +743,11 @@ _e_remember_cb_hook_pre_post_fetch(void *data EINA_UNUSED, E_Client *ec)
                }
              if (ec->icccm.min_w > ec->client.w)
                ec->client.w = ec->icccm.min_w;
-             if (ec->icccm.max_w < ec->client.w)
+             if ((ec->icccm.max_w > 0) && (ec->icccm.max_w < ec->client.w))
                ec->client.w = ec->icccm.max_w;
              if (ec->icccm.min_h > ec->client.h)
                ec->client.h = ec->icccm.min_h;
-             if (ec->icccm.max_h < ec->client.h)
+             if ((ec->icccm.max_h > 0) && (ec->icccm.max_h < ec->client.h))
                ec->client.h = ec->icccm.max_h;
           }
         e_comp_object_frame_wh_adjust(ec->frame, ec->client.w, ec->client.h, &ec->w, &ec->h);