all repos — fluxbox @ 419170668a365625ed61d5c6aa83541c0778446f

custom fork of the fluxbox windowmanager

Handle sizehint base_width / base_height being less than 0

Some applications supply -1 in base_width / base_height. One example is
the Preferences dialog of pcmanfm-qt:

WM_NORMAL_HINTS(WM_SIZE_HINTS):
  ...
  program specified base size: -1 by -1

Without this commit the program will crash due to overflow of unsigned int.
Bo Simonsen bo@geekworld.dk
commit

419170668a365625ed61d5c6aa83541c0778446f

parent

f48237e3ade27dbf69c1e87b80224445d50b1763

1 files changed, 3 insertions(+), 2 deletions(-)

jump to
M src/WindowState.ccsrc/WindowState.cc

@@ -113,8 +113,9 @@ } else

min_width = min_height = 1; if (sizehint.flags & PBaseSize) { - base_width = sizehint.base_width; - base_height = sizehint.base_height; + base_width = std::max(sizehint.base_width, 0); + base_height = std::max(sizehint.base_height, 0); + if (!(sizehint.flags & PMinSize)) { min_width = base_width; min_height = base_height;