--- a/src/order_gui.cpp Tue Dec 11 03:41:33 2007 +0000
+++ b/src/order_gui.cpp Tue Dec 11 17:44:55 2007 +0000
@@ -152,7 +152,15 @@
if (order != NULL) {
switch (order->type) {
- case OT_GOTO_STATION: break;
+ case OT_GOTO_STATION:
+ if (!GetStation(order->dest)->IsBuoy()) break;
+ /* Fall-through */
+
+ case OT_GOTO_WAYPOINT:
+ w->DisableWidget(ORDER_WIDGET_FULL_LOAD);
+ w->DisableWidget(ORDER_WIDGET_UNLOAD);
+ w->DisableWidget(ORDER_WIDGET_TRANSFER);
+ break;
case OT_GOTO_DEPOT:
w->DisableWidget(ORDER_WIDGET_TRANSFER);
@@ -163,12 +171,6 @@
SetDParam(2,STR_SERVICE);
break;
- case OT_GOTO_WAYPOINT:
- w->DisableWidget(ORDER_WIDGET_FULL_LOAD);
- w->DisableWidget(ORDER_WIDGET_UNLOAD);
- w->DisableWidget(ORDER_WIDGET_TRANSFER);
- break;
-
default: // every other orders
w->DisableWidget(ORDER_WIDGET_NON_STOP);
w->DisableWidget(ORDER_WIDGET_FULL_LOAD);