--- rxvt-unicode/src/main.C 2008/02/27 01:02:33 1.309 +++ rxvt-unicode/src/main.C 2008/02/27 01:05:55 1.310 @@ -524,13 +524,19 @@ if (flags & WidthValue) { - ncol = clamp (w, 0, std::numeric_limits::max ()); + if (!w) + rxvt_fatal ("illegal window geometry (width and height must be non-zero), aborting.\n"); + + ncol = clamp (w, 1, std::numeric_limits::max ()); szHint.flags |= USSize; } if (flags & HeightValue) { - nrow = clamp (h, 0, std::numeric_limits::max ()); + if (!h) + rxvt_fatal ("illegal window geometry (width and height must be non-zero), aborting.\n"); + + nrow = clamp (h, 1, std::numeric_limits::max ()); szHint.flags |= USSize; } @@ -561,9 +567,6 @@ szHint.win_gravity = SouthWestGravity; } } - - if (!szHint.width || !szHint.height) - rxvt_fatal ("window width or height must not be zero, aborting.\n"); } /* TODO: BOUNDS */