Partial fix for building bridges
This commit is contained in:
@@ -276,13 +276,14 @@ bool ConfirmationWindowShown()
|
||||
bool BuildConfirmationWindowProcessViewportClick()
|
||||
{
|
||||
if (!BuildConfirmationWindow::shown) return false;
|
||||
|
||||
Window *w = FindWindowById(WC_BUILD_CONFIRMATION, 0);
|
||||
if (w != NULL && IsInsideBS(_cursor.pos.x, w->left, w->width) && IsInsideBS(_cursor.pos.y, w->top, w->height)) {
|
||||
Point pt;
|
||||
pt.x = _cursor.pos.x - w->left;
|
||||
pt.y = _cursor.pos.y - w->top;
|
||||
w->OnClick(pt, WID_BC_OK, 1);
|
||||
if (_settings_client.gui.windows_titlebars || !_left_button_down) {
|
||||
Point pt;
|
||||
pt.x = _cursor.pos.x - w->left;
|
||||
pt.y = _cursor.pos.y - w->top;
|
||||
w->OnClick(pt, WID_BC_OK, 1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -2587,7 +2587,7 @@ static EventState HandleViewportScroll()
|
||||
if (_left_button_down) {
|
||||
oldDx += _cursor.delta.x;
|
||||
oldDy += _cursor.delta.y;
|
||||
if (!_left_button_dragged && abs(oldDx) + abs(oldDy) > 20) {
|
||||
if (!_left_button_dragged && (abs(oldDx) + abs(oldDy)) * 2 > (int)GetMinSizing(NWST_STEP, 10)) {
|
||||
_left_button_dragged = true;
|
||||
}
|
||||
} else {
|
||||
@@ -3080,6 +3080,8 @@ static void MouseLoop(MouseClick click, int mousewheel)
|
||||
if (!_left_button_dragged && mouse_down_on_viewport) {
|
||||
HandleViewportMouseUp(vp, x, y);
|
||||
MoveAllHiddenWindowsBackToScreen();
|
||||
} else if (_left_button_dragged && mouse_down_on_viewport) {
|
||||
BuildConfirmationWindowProcessViewportClick();
|
||||
}
|
||||
_left_button_dragged = false;
|
||||
mouse_down_on_viewport = false;
|
||||
|
||||
Reference in New Issue
Block a user