--- a/src/station_cmd.cpp Sun May 18 14:12:16 2008 +0000
+++ b/src/station_cmd.cpp Sun May 18 16:51:44 2008 +0000
@@ -650,8 +650,7 @@
{
if (st->facilities == 0) {
st->delete_ctr = 0;
- RebuildStationLists();
- InvalidateWindow(WC_STATION_LIST, st->owner);
+ InvalidateWindowData(WC_STATION_LIST, st->owner, 0);
}
/* station remains but it probably lost some parts - station sign should stay in the station boundaries */
UpdateStationSignCoord(st);
@@ -1051,8 +1050,7 @@
st->MarkTilesDirty(false);
UpdateStationVirtCoordDirty(st);
UpdateStationAcceptance(st, false);
- RebuildStationLists();
- InvalidateWindow(WC_STATION_LIST, st->owner);
+ InvalidateWindowData(WC_STATION_LIST, st->owner, 0);
InvalidateWindowWidget(WC_STATION_VIEW, st->index, SVW_TRAINS);
}
@@ -1410,8 +1408,7 @@
UpdateStationVirtCoordDirty(st);
UpdateStationAcceptance(st, false);
- RebuildStationLists();
- InvalidateWindow(WC_STATION_LIST, st->owner);
+ InvalidateWindowData(WC_STATION_LIST, st->owner, 0);
InvalidateWindowWidget(WC_STATION_VIEW, st->index, SVW_ROADVEHS);
}
return cost;
@@ -1723,8 +1720,7 @@
UpdateStationVirtCoordDirty(st);
UpdateStationAcceptance(st, false);
- RebuildStationLists();
- InvalidateWindow(WC_STATION_LIST, st->owner);
+ InvalidateWindowData(WC_STATION_LIST, st->owner, 0);
InvalidateWindowWidget(WC_STATION_VIEW, st->index, SVW_PLANES);
}
@@ -1820,8 +1816,7 @@
UpdateStationVirtCoordDirty(st);
UpdateStationAcceptance(st, false);
- RebuildStationLists();
- InvalidateWindow(WC_STATION_LIST, st->owner);
+ InvalidateWindowData(WC_STATION_LIST, st->owner, 0);
InvalidateWindowWidget(WC_STATION_VIEW, st->index, SVW_SHIPS);
}
@@ -1979,8 +1974,7 @@
UpdateStationVirtCoordDirty(st);
UpdateStationAcceptance(st, false);
- RebuildStationLists();
- InvalidateWindow(WC_STATION_LIST, st->owner);
+ InvalidateWindowData(WC_STATION_LIST, st->owner, 0);
InvalidateWindowWidget(WC_STATION_VIEW, st->index, SVW_SHIPS);
}
@@ -2637,7 +2631,7 @@
st->name = strdup(_cmd_text);
UpdateStationVirtCoord(st);
- ResortStationLists();
+ InvalidateWindowData(WC_STATION_LIST, st->owner, 1);
MarkWholeScreenDirty();
}
@@ -2858,8 +2852,7 @@
SetTileOwner(tile, new_player);
if (!IsBuoy(tile)) st->owner = new_player; // do not set st->owner for buoys
- RebuildStationLists();
- InvalidateWindowClasses(WC_STATION_LIST);
+ InvalidateWindowClassesData(WC_STATION_LIST, 0);
} else {
if (IsDriveThroughStopTile(tile)) {
/* Remove the drive-through road stop */