mirror of https://github.com/OpenTTD/OpenTTD
Codechange: remove unneeded comparison and casts
Division by resize_y is already yielding an unsigned number, so when clicking in the WD_FRAMERECT_TOP you would already get a huge value, so sel would never be negative. So, leave sel an unsigned number and remove the <= check.pull/9288/head
parent
b9797a81c0
commit
b280f16316
|
@ -548,13 +548,13 @@ private:
|
||||||
VehicleOrderID GetOrderFromPt(int y)
|
VehicleOrderID GetOrderFromPt(int y)
|
||||||
{
|
{
|
||||||
NWidgetBase *nwid = this->GetWidget<NWidgetBase>(WID_O_ORDER_LIST);
|
NWidgetBase *nwid = this->GetWidget<NWidgetBase>(WID_O_ORDER_LIST);
|
||||||
int sel = (y - nwid->pos_y - WD_FRAMERECT_TOP) / nwid->resize_y; // Selected line in the WID_O_ORDER_LIST panel.
|
uint sel = (y - nwid->pos_y - WD_FRAMERECT_TOP) / nwid->resize_y; // Selected line in the WID_O_ORDER_LIST panel.
|
||||||
|
|
||||||
if ((uint)sel >= this->vscroll->GetCapacity()) return INVALID_VEH_ORDER_ID;
|
if (sel >= this->vscroll->GetCapacity()) return INVALID_VEH_ORDER_ID;
|
||||||
|
|
||||||
sel += this->vscroll->GetPosition();
|
sel += this->vscroll->GetPosition();
|
||||||
|
|
||||||
return (sel <= vehicle->GetNumOrders() && sel >= 0) ? sel : INVALID_VEH_ORDER_ID;
|
return (sel <= vehicle->GetNumOrders()) ? sel : INVALID_VEH_ORDER_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -211,13 +211,13 @@ struct TimetableWindow : Window {
|
||||||
|
|
||||||
int GetOrderFromTimetableWndPt(int y, const Vehicle *v)
|
int GetOrderFromTimetableWndPt(int y, const Vehicle *v)
|
||||||
{
|
{
|
||||||
int sel = (y - this->GetWidget<NWidgetBase>(WID_VT_TIMETABLE_PANEL)->pos_y - WD_FRAMERECT_TOP) / FONT_HEIGHT_NORMAL;
|
uint sel = (y - this->GetWidget<NWidgetBase>(WID_VT_TIMETABLE_PANEL)->pos_y - WD_FRAMERECT_TOP) / FONT_HEIGHT_NORMAL;
|
||||||
|
|
||||||
if ((uint)sel >= this->vscroll->GetCapacity()) return INVALID_ORDER;
|
if (sel >= this->vscroll->GetCapacity()) return INVALID_ORDER;
|
||||||
|
|
||||||
sel += this->vscroll->GetPosition();
|
sel += this->vscroll->GetPosition();
|
||||||
|
|
||||||
return (sel < v->GetNumOrders() * 2 && sel >= 0) ? sel : INVALID_ORDER;
|
return (sel < v->GetNumOrders() * 2u) ? sel : INVALID_ORDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue