allow negative width and height

This commit is contained in:
markt 2006-07-20 11:16:09 +00:00
parent 7a22210864
commit 9be679dad7
3 changed files with 11 additions and 7 deletions

View file

@ -1841,8 +1841,8 @@ void BScreen::hidePosition() {
}
}
void BScreen::showGeometry(unsigned int gx, unsigned int gy) {
// can be negative when base_width/height > min_width/height
void BScreen::showGeometry(int gx, int gy) {
if (!doShowWindowPos())
return;

View file

@ -286,7 +286,7 @@ public:
void showPosition(int x, int y);
void hidePosition();
/// show geomentry with "width x height"-text, not size of window
void showGeometry(unsigned int width, unsigned int height);
void showGeometry(int width, int height);
void hideGeometry();
void notifyReleasedKeys(XKeyEvent &ke);

View file

@ -842,11 +842,15 @@ void WinClient::applySizeHints(int &width, int &height,
// enforce incremental size limits, wrt base size
// only calculate this if we really need to
i = (width - base_width) / width_inc;
width = i*width_inc + base_width;
i = (width - static_cast<signed>(base_width)) /
static_cast<signed>(width_inc);
width = i*static_cast<signed>(width_inc) +
static_cast<signed>(base_width);
j = (height - base_height) / height_inc;
height = j*height_inc + base_height;
j = (height - static_cast<signed>(base_height)) /
static_cast<signed>(height_inc);
height = j*static_cast<signed>(height_inc) +
static_cast<signed>(base_height);
if (display_width)
*display_width = i;