mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r25395) -Fix [FS#5596]: The size of station construction windows could oscillate when resizing the window moved the mouse into the window.
This commit is contained in:
parent
c73219f9e5
commit
9cb89b3639
|
@ -391,8 +391,10 @@ public:
|
|||
top = DrawStationCoverageAreaText(panel_nwi->pos_x + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, top, SCT_ALL, rad, true) + WD_PAR_VSEP_NORMAL;
|
||||
}
|
||||
|
||||
/* Resize background if the text is not equally long as the window. */
|
||||
if (top > bottom || (top < bottom && panel_nwi->current_y > panel_nwi->smallest_y)) {
|
||||
/* Resize background if the window is too small.
|
||||
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
|
||||
* (This is the case, if making the window bigger moves the mouse into the window.) */
|
||||
if (top > bottom) {
|
||||
ResizeWindow(this, 0, top - bottom);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -422,8 +422,10 @@ public:
|
|||
int bottom = back_nwi->pos_y + back_nwi->current_y;
|
||||
top = DrawStationCoverageAreaText(back_nwi->pos_x + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, top, SCT_ALL, rad, false) + WD_PAR_VSEP_NORMAL;
|
||||
top = DrawStationCoverageAreaText(back_nwi->pos_x + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, top, SCT_ALL, rad, true) + WD_PAR_VSEP_NORMAL;
|
||||
/* Resize background if the text is not equally long as the window. */
|
||||
if (top > bottom || (top < bottom && back_nwi->current_y > back_nwi->smallest_y)) {
|
||||
/* Resize background if the window is too small.
|
||||
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
|
||||
* (This is the case, if making the window bigger moves the mouse into the window.) */
|
||||
if (top > bottom) {
|
||||
ResizeWindow(this, 0, top - bottom);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1012,8 +1012,10 @@ public:
|
|||
int bottom = cov->pos_y + cov->current_y;
|
||||
top = DrawStationCoverageAreaText(left, right, top, SCT_ALL, rad, false) + WD_PAR_VSEP_NORMAL;
|
||||
top = DrawStationCoverageAreaText(left, right, top, SCT_ALL, rad, true) + WD_PAR_VSEP_NORMAL;
|
||||
/* Resize the coverage text space if the text is not equally long as the window. */
|
||||
if (top != bottom) {
|
||||
/* Resize background if the window is too small.
|
||||
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
|
||||
* (This is the case, if making the window bigger moves the mouse into the window.) */
|
||||
if (top > bottom) {
|
||||
this->coverage_height += top - bottom;
|
||||
this->ReInit();
|
||||
}
|
||||
|
|
|
@ -972,8 +972,10 @@ struct BuildRoadStationWindow : public PickerWindowBase {
|
|||
int bottom = back_nwi->pos_y + back_nwi->current_y;
|
||||
top = DrawStationCoverageAreaText(back_nwi->pos_x + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, top, sct, rad, false) + WD_PAR_VSEP_NORMAL;
|
||||
top = DrawStationCoverageAreaText(back_nwi->pos_x + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, top, sct, rad, true) + WD_PAR_VSEP_NORMAL;
|
||||
/* Resize background if the text is not equally long as the window. */
|
||||
if (top > bottom || (top < bottom && back_nwi->current_y > back_nwi->smallest_y)) {
|
||||
/* Resize background if the window is too small.
|
||||
* Never make the window smaller to avoid oscillating if the size change affects the acceptance.
|
||||
* (This is the case, if making the window bigger moves the mouse into the window.) */
|
||||
if (top > bottom) {
|
||||
ResizeWindow(this, 0, top - bottom);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue