diff -r 91612ddb479b src/ai/ai_gui.cpp
--- a/src/ai/ai_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/ai/ai_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -195,12 +195,12 @@
 };
 
 /* Window definition for the ai list window. */
-static const WindowDesc _ai_list_desc = {
+static const WindowDesc _ai_list_desc(
 	WDP_CENTER, WDP_CENTER, 200, 234, 200, 234,
 	WC_AI_LIST, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
 	_ai_list_widgets
-};
+);
 
 void ShowAIListWindow(CompanyID slot)
 {
@@ -377,12 +377,12 @@
 };
 
 /* Window definition for the AI settings window. */
-static const WindowDesc _ai_settings_desc = {
+static const WindowDesc _ai_settings_desc(
 	WDP_CENTER, WDP_CENTER, 200, 208, 500, 208,
 	WC_AI_SETTINGS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
 	_ai_settings_widgets
-};
+);
 
 void ShowAISettingsWindow(CompanyID slot)
 {
@@ -405,12 +405,12 @@
 };
 
 /* Window definition for the configure AI window. */
-static const WindowDesc _ai_config_desc = {
+static const WindowDesc _ai_config_desc(
 	WDP_CENTER, WDP_CENTER, 300, 172, 300, 172,
 	WC_GAME_OPTIONS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
 	_ai_config_widgets
-};
+);
 
 /**
  * Window to configure which AIs will start.
@@ -763,12 +763,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _ai_debug_desc = {
+static const WindowDesc _ai_debug_desc(
 	WDP_AUTO, WDP_AUTO, 299, 241, 299, 241,
 	WC_AI_DEBUG, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE,
 	_ai_debug_widgets
-};
+);
 
 void ShowAIDebugWindow()
 {
diff -r 91612ddb479b src/airport_gui.cpp
--- a/src/airport_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/airport_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -138,12 +138,12 @@
 };
 
 
-static const WindowDesc _air_toolbar_desc = {
+static const WindowDesc _air_toolbar_desc(
 	WDP_ALIGN_TBR, 22, 64, 36, 64, 36,
 	WC_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_air_toolbar_widgets,
-};
+	_air_toolbar_widgets
+);
 
 void ShowBuildAirToolbar()
 {
@@ -299,12 +299,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_airport_desc = {
+static const WindowDesc _build_airport_desc(
 	WDP_AUTO, WDP_AUTO, 148, 240, 148, 240,
 	WC_BUILD_STATION, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_build_airport_picker_widgets,
-};
+	_build_airport_picker_widgets
+);
 
 static void ShowBuildAirportPicker(Window *parent)
 {
diff -r 91612ddb479b src/autoreplace_gui.cpp
--- a/src/autoreplace_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/autoreplace_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -470,19 +470,19 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _replace_rail_vehicle_desc = {
+static const WindowDesc _replace_rail_vehicle_desc(
 	WDP_AUTO, WDP_AUTO, 456, 140, 456, 140,
 	WC_REPLACE_VEHICLE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_replace_vehicle_widgets,
-};
+	_replace_vehicle_widgets
+);
 
-static const WindowDesc _replace_vehicle_desc = {
+static const WindowDesc _replace_vehicle_desc(
 	WDP_AUTO, WDP_AUTO, 456, 118, 456, 118,
 	WC_REPLACE_VEHICLE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_replace_vehicle_widgets,
-};
+	_replace_vehicle_widgets
+);
 
 RailType ReplaceVehicleWindow::sel_railtype = RAILTYPE_RAIL;
 
diff -r 91612ddb479b src/bridge_gui.cpp
--- a/src/bridge_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/bridge_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -268,12 +268,12 @@
 };
 
 /* Window definition for the rail bridge selection window */
-static const WindowDesc _build_bridge_desc = {
+static const WindowDesc _build_bridge_desc(
 	WDP_AUTO, WDP_AUTO, 200, 114, 200, 114,
 	WC_BUILD_BRIDGE, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_build_bridge_widgets,
-};
+	_build_bridge_widgets
+);
 
 /**
  * Prepare the data for the build a bridge window.
diff -r 91612ddb479b src/build_vehicle_gui.cpp
--- a/src/build_vehicle_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/build_vehicle_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -1188,12 +1188,12 @@
 	}
 };
 
-static const WindowDesc _build_vehicle_desc = {
+static const WindowDesc _build_vehicle_desc(
 	WDP_AUTO, WDP_AUTO, 240, 174, 240, 256,
 	WC_BUILD_VEHICLE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_build_vehicle_widgets,
-};
+	_build_vehicle_widgets
+);
 
 void ShowBuildVehicleWindow(TileIndex tile, VehicleType type)
 {
diff -r 91612ddb479b src/cheat_gui.cpp
--- a/src/cheat_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/cheat_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -235,12 +235,12 @@
 	}
 };
 
-static const WindowDesc _cheats_desc = {
+static const WindowDesc _cheats_desc(
 	240, 22, 400, 170, 400, 170,
 	WC_CHEATS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_cheat_widgets,
-};
+	_cheat_widgets
+);
 
 
 void ShowCheatWindow()
diff -r 91612ddb479b src/company_gui.cpp
--- a/src/company_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/company_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -310,19 +310,19 @@
 	}
 };
 
-static const WindowDesc _company_finances_desc = {
+static const WindowDesc _company_finances_desc(
 	WDP_AUTO, WDP_AUTO, 407, 60 + 10, 407, 60 + 10,
 	WC_FINANCES, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON,
-	_company_finances_widgets,
-};
+	_company_finances_widgets
+);
 
-static const WindowDesc _company_finances_small_desc = {
+static const WindowDesc _company_finances_small_desc(
 	WDP_AUTO, WDP_AUTO, 280, 60, 280, 60,
 	WC_FINANCES, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON,
-	_company_finances_small_widgets,
-};
+	_company_finances_small_widgets
+);
 
 /**
  * Open the small/large finance window of the company
@@ -626,12 +626,12 @@
 { WIDGETS_END },
 };
 
-static const WindowDesc _select_company_livery_desc = {
+static const WindowDesc _select_company_livery_desc(
 	WDP_AUTO, WDP_AUTO, 400, 49 + 1 * 14, 400, 49 + 1 * 14,
 	WC_COMPANY_COLOUR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
-	_select_company_livery_widgets,
-};
+	_select_company_livery_widgets
+);
 
 /**
  * Draws the face of a company manager's face.
@@ -1093,20 +1093,20 @@
 };
 
 /** normal/simple company manager face selection window description */
-static const WindowDesc _select_company_manager_face_desc = {
+static const WindowDesc _select_company_manager_face_desc(
 	WDP_AUTO, WDP_AUTO, 190, 163, 190, 163,
 	WC_COMPANY_MANAGER_FACE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_CONSTRUCTION,
-	_select_company_manager_face_widgets,
-};
+	_select_company_manager_face_widgets
+);
 
 /** advanced company manager face selection window description */
-static const WindowDesc _select_company_manager_face_adv_desc = {
+static const WindowDesc _select_company_manager_face_adv_desc(
 	WDP_AUTO, WDP_AUTO, 220, 220, 220, 220,
 	WC_COMPANY_MANAGER_FACE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_CONSTRUCTION,
-	_select_company_manager_face_adv_widgets,
-};
+	_select_company_manager_face_adv_widgets
+);
 
 /**
  * Open the simple/advanced company manager face selection window
@@ -1456,12 +1456,12 @@
 	}
 };
 
-static const WindowDesc _company_desc = {
+static const WindowDesc _company_desc(
 	WDP_AUTO, WDP_AUTO, 360, 170, 360, 170,
 	WC_COMPANY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_company_widgets,
-};
+	_company_widgets
+);
 
 void ShowCompany(CompanyID company)
 {
@@ -1515,12 +1515,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _buy_company_desc = {
+static const WindowDesc _buy_company_desc(
 	153, 171, 334, 137, 334, 137,
 	WC_BUY_COMPANY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_buy_company_widgets,
-};
+	_buy_company_widgets
+);
 
 
 void ShowBuyCompanyDialog(CompanyID company)
diff -r 91612ddb479b src/console_gui.cpp
--- a/src/console_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/console_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -317,12 +317,12 @@
 	{WIDGETS_END}
 };
 
-static const WindowDesc _iconsole_window_desc = {
+static const WindowDesc _iconsole_window_desc(
 	0, 0, 2, 2, 2, 2,
 	WC_CONSOLE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_iconsole_window_widgets,
-};
+	_iconsole_window_widgets
+);
 
 void IConsoleGUIInit()
 {
diff -r 91612ddb479b src/depot_gui.cpp
--- a/src/depot_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/depot_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -97,33 +97,33 @@
 };
 
 
-static const WindowDesc _train_depot_desc = {
+static const WindowDesc _train_depot_desc(
 	WDP_AUTO, WDP_AUTO, 36, 27, 362, 123,
 	WC_VEHICLE_DEPOT, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_depot_widgets,
-};
+	_depot_widgets
+);
 
-static const WindowDesc _road_depot_desc = {
+static const WindowDesc _road_depot_desc(
 	WDP_AUTO, WDP_AUTO, 36, 27, 316, 97,
 	WC_VEHICLE_DEPOT, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_depot_widgets,
-};
+	_depot_widgets
+);
 
-static const WindowDesc _ship_depot_desc = {
+static const WindowDesc _ship_depot_desc(
 	WDP_AUTO, WDP_AUTO, 36, 27, 306, 99,
 	WC_VEHICLE_DEPOT, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_depot_widgets,
-};
+	_depot_widgets
+);
 
-static const WindowDesc _aircraft_depot_desc = {
+static const WindowDesc _aircraft_depot_desc(
 	WDP_AUTO, WDP_AUTO, 36, 27, 332, 99,
 	WC_VEHICLE_DEPOT, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_depot_widgets,
-};
+	_depot_widgets
+);
 
 extern int WagonLengthToPixels(int len);
 extern void DepotSortList(VehicleList *list);
diff -r 91612ddb479b src/dock_gui.cpp
--- a/src/dock_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/dock_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -274,12 +274,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_docks_toolbar_desc = {
+static const WindowDesc _build_docks_toolbar_desc(
 	WDP_ALIGN_TBR, 22, 160, 36, 160, 36,
 	WC_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_build_docks_toolb_widgets,
-};
+	_build_docks_toolb_widgets
+);
 
 void ShowBuildDocksToolbar()
 {
@@ -309,12 +309,12 @@
 };
 
 /* Window definition for the build docks in scenario editor window */
-static const WindowDesc _build_docks_scen_toolbar_desc = {
+static const WindowDesc _build_docks_scen_toolbar_desc(
 	WDP_AUTO, WDP_AUTO, 115, 36, 115, 36,
 	WC_SCEN_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_build_docks_scen_toolb_widgets,
-};
+	_build_docks_scen_toolb_widgets
+);
 
 void ShowBuildDocksScenToolbar()
 {
@@ -395,12 +395,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_dock_station_desc = {
+static const WindowDesc _build_dock_station_desc(
 	WDP_AUTO, WDP_AUTO, 148, 75, 148, 75,
 	WC_BUILD_STATION, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_build_dock_station_widgets,
-};
+	_build_dock_station_widgets
+);
 
 static void ShowBuildDockStationPicker(Window *parent)
 {
@@ -469,12 +469,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_docks_depot_desc = {
+static const WindowDesc _build_docks_depot_desc(
 	WDP_AUTO, WDP_AUTO, 204, 86, 204, 86,
 	WC_BUILD_DEPOT, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_build_docks_depot_widgets,
-};
+	_build_docks_depot_widgets
+);
 
 
 static void ShowBuildDocksDepotPicker(Window *parent)
diff -r 91612ddb479b src/engine_gui.cpp
--- a/src/engine_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/engine_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -96,12 +96,12 @@
 	}
 };
 
-static const WindowDesc _engine_preview_desc = {
+static const WindowDesc _engine_preview_desc(
 	WDP_CENTER, WDP_CENTER, 300, 192, 300, 192,
 	WC_ENGINE_PREVIEW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_engine_preview_widgets,
-};
+	_engine_preview_widgets
+);
 
 
 void ShowEnginePreviewWindow(EngineID engine)
diff -r 91612ddb479b src/genworld_gui.cpp
--- a/src/genworld_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/genworld_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -628,19 +628,19 @@
 	}
 };
 
-static const WindowDesc _generate_landscape_desc = {
+static const WindowDesc _generate_landscape_desc(
 	WDP_CENTER, WDP_CENTER, 338, 313, 338, 313,
 	WC_GENERATE_LANDSCAPE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_generate_landscape_widgets,
-};
+	_generate_landscape_widgets
+);
 
-static const WindowDesc _heightmap_load_desc = {
+static const WindowDesc _heightmap_load_desc(
 	WDP_CENTER, WDP_CENTER, 338, 236, 338, 236,
 	WC_GENERATE_LANDSCAPE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS,
-	_heightmap_load_widgets,
-};
+	_heightmap_load_widgets
+);
 
 static void _ShowGenerateLandscape(glwp_modes mode)
 {
@@ -876,12 +876,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _create_scenario_desc = {
+static const WindowDesc _create_scenario_desc(
 	WDP_CENTER, WDP_CENTER, 338, 170, 338, 170,
 	WC_GENERATE_LANDSCAPE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS,
-	_create_scenario_widgets,
-};
+	_create_scenario_widgets
+);
 
 void ShowCreateScenario()
 {
@@ -897,12 +897,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _generate_progress_desc = {
+static const WindowDesc _generate_progress_desc(
 	WDP_CENTER, WDP_CENTER, 181, 97, 181, 97,
 	WC_GENERATE_PROGRESS_WINDOW, WC_NONE,
 	WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_generate_progress_widgets,
-};
+	_generate_progress_widgets
+);
 
 struct tp_info {
 	uint percent;
diff -r 91612ddb479b src/graph_gui.cpp
--- a/src/graph_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/graph_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -98,12 +98,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _graph_legend_desc = {
+static const WindowDesc _graph_legend_desc(
 	WDP_AUTO, WDP_AUTO, 250, 198, 250, 198,
 	WC_GRAPH_LEGEND, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
-	_graph_legend_widgets,
-};
+	_graph_legend_widgets
+);
 
 static void ShowGraphLegend()
 {
@@ -439,12 +439,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _operating_profit_desc = {
+static const WindowDesc _operating_profit_desc(
 	WDP_AUTO, WDP_AUTO, 576, 174, 576, 174,
 	WC_OPERATING_PROFIT, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_operating_profit_widgets,
-};
+	_operating_profit_widgets
+);
 
 
 void ShowOperatingProfitGraph()
@@ -478,12 +478,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _income_graph_desc = {
+static const WindowDesc _income_graph_desc(
 	WDP_AUTO, WDP_AUTO, 576, 142, 576, 142,
 	WC_INCOME_GRAPH, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_income_graph_widgets,
-};
+	_income_graph_widgets
+);
 
 void ShowIncomeGraph()
 {
@@ -515,12 +515,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _delivered_cargo_graph_desc = {
+static const WindowDesc _delivered_cargo_graph_desc(
 	WDP_AUTO, WDP_AUTO, 576, 142, 576, 142,
 	WC_DELIVERED_CARGO, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_delivered_cargo_graph_widgets,
-};
+	_delivered_cargo_graph_widgets
+);
 
 void ShowDeliveredCargoGraph()
 {
@@ -559,12 +559,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _performance_history_desc = {
+static const WindowDesc _performance_history_desc(
 	WDP_AUTO, WDP_AUTO, 576, 238, 576, 238,
 	WC_PERFORMANCE_HISTORY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_performance_history_widgets,
-};
+	_performance_history_widgets
+);
 
 void ShowPerformanceHistoryGraph()
 {
@@ -596,12 +596,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _company_value_graph_desc = {
+static const WindowDesc _company_value_graph_desc(
 	WDP_AUTO, WDP_AUTO, 576, 238, 576, 238,
 	WC_COMPANY_VALUE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_company_value_graph_widgets,
-};
+	_company_value_graph_widgets
+);
 
 void ShowCompanyValueGraph()
 {
@@ -720,12 +720,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _cargo_payment_rates_desc = {
+static const WindowDesc _cargo_payment_rates_desc(
 	WDP_AUTO, WDP_AUTO, 568, 46, 568, 46,
 	WC_PAYMENT_RATES, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
-	_cargo_payment_rates_widgets,
-};
+	_cargo_payment_rates_widgets
+);
 
 
 void ShowCargoPaymentRates()
@@ -843,12 +843,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _company_league_desc = {
+static const WindowDesc _company_league_desc(
 	WDP_AUTO, WDP_AUTO, 400, 167, 400, 167,
 	WC_COMPANY_LEAGUE, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
-	_company_league_widgets,
-};
+	_company_league_widgets
+);
 
 void ShowCompanyLeagueTable()
 {
@@ -1088,12 +1088,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _performance_rating_detail_desc = {
+static const WindowDesc _performance_rating_detail_desc(
 	WDP_AUTO, WDP_AUTO, 299, 241, 299, 241,
 	WC_PERFORMANCE_DETAIL, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
-	_performance_rating_detail_widgets,
-};
+	_performance_rating_detail_widgets
+);
 
 void ShowPerformanceRatingDetail()
 {
diff -r 91612ddb479b src/group_gui.cpp
--- a/src/group_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/group_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -700,12 +700,12 @@
 };
 
 
-static WindowDesc _group_desc = {
+static WindowDesc _group_desc(
 	WDP_AUTO, WDP_AUTO, 460, 194, 460, 246,
 	WC_INVALID, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_group_widgets,
-};
+	_group_widgets
+);
 
 void ShowCompanyGroup(CompanyID company, VehicleType vehicle_type)
 {
diff -r 91612ddb479b src/highscore_gui.cpp
--- a/src/highscore_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/highscore_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -166,19 +166,19 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _highscore_desc = {
+static const WindowDesc _highscore_desc(
 	0, 0, 641, 481, 641, 481,
 	WC_HIGHSCORE, WC_NONE,
 	0,
-	_highscore_widgets,
-};
+	_highscore_widgets
+);
 
-static const WindowDesc _endgame_desc = {
+static const WindowDesc _endgame_desc(
 	0, 0, 641, 481, 641, 481,
 	WC_ENDSCREEN, WC_NONE,
 	0,
-	_highscore_widgets,
-};
+	_highscore_widgets
+);
 
 /** Show the highscore table for a given difficulty. When called from
  * endgame ranking is set to the top5 element that was newly added
diff -r 91612ddb479b src/industry_gui.cpp
--- a/src/industry_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/industry_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -85,12 +85,12 @@
 };
 
 /** Window definition of the dynamic place industries gui */
-static const WindowDesc _build_industry_desc = {
+static const WindowDesc _build_industry_desc(
 	WDP_AUTO, WDP_AUTO, 170, 212, 170, 212,
 	WC_BUILD_INDUSTRY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_build_industry_widgets,
-};
+	_build_industry_widgets
+);
 
 class BuildIndustryWindow : public Window {
 	int selected_index;                         ///< index of the element in the matrix
@@ -673,12 +673,12 @@
 };
 
 /** Window definition of the view industy gui */
-static const WindowDesc _industry_view_desc = {
+static const WindowDesc _industry_view_desc(
 	WDP_AUTO, WDP_AUTO, 260, 120, 260, 120,
 	WC_INDUSTRY_VIEW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_industry_view_widgets,
-};
+	_industry_view_widgets
+);
 
 void ShowIndustryViewWindow(int industry)
 {
@@ -985,12 +985,12 @@
 
 
 /** Window definition of the industy directory gui */
-static const WindowDesc _industry_directory_desc = {
+static const WindowDesc _industry_directory_desc(
 	WDP_AUTO, WDP_AUTO, 428, 190, 428, 190,
 	WC_INDUSTRY_DIRECTORY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_industry_directory_widgets,
-};
+	_industry_directory_widgets
+);
 
 void ShowIndustryDirectory()
 {
diff -r 91612ddb479b src/intro_gui.cpp
--- a/src/intro_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/intro_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -143,12 +143,12 @@
 	}
 };
 
-static const WindowDesc _select_game_desc = {
+static const WindowDesc _select_game_desc(
 	WDP_CENTER, WDP_CENTER, 336, 213, 336, 213,
 	WC_SELECT_GAME, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_select_game_widgets,
-};
+	_select_game_widgets
+);
 
 void ShowSelectGameWindow()
 {
diff -r 91612ddb479b src/misc_gui.cpp
--- a/src/misc_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/misc_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -50,12 +50,12 @@
 {    WIDGETS_END},
 };
 
-static const WindowDesc _land_info_desc = {
+static const WindowDesc _land_info_desc(
 	WDP_AUTO, WDP_AUTO, 300, 100, 300, 100,
 	WC_LAND_INFO, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
-	_land_info_widgets,
-};
+	_land_info_widgets
+);
 
 class LandInfoWindow : public Window {
 	enum {
@@ -282,12 +282,12 @@
 {    WIDGETS_END},
 };
 
-static const WindowDesc _about_desc = {
+static const WindowDesc _about_desc(
 	WDP_CENTER, WDP_CENTER, 420, 272, 420, 272,
 	WC_GAME_OPTIONS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
-	_about_widgets,
-};
+	_about_widgets
+);
 
 struct AboutWindow : public Window {
 	int scroll_height;
@@ -1175,12 +1175,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _query_string_desc = {
+static const WindowDesc _query_string_desc(
 	190, 219, 260, 42, 260, 42,
 	WC_QUERY_STRING, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
-	_query_string_widgets,
-};
+	_query_string_widgets
+);
 
 /** Show a query popup window with a textbox in it.
  * @param str StringID for the text shown in the textbox
@@ -1315,12 +1315,12 @@
 {   WIDGETS_END },
 };
 
-static const WindowDesc _query_desc = {
+static const WindowDesc _query_desc(
 	WDP_CENTER, WDP_CENTER, 210, 82, 210, 82,
 	WC_CONFIRM_POPUP_QUERY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_DEF_WIDGET | WDF_MODAL,
-	_query_widgets,
-};
+	_query_widgets
+);
 
 /** Show a modal confirmation window with standard 'yes' and 'no' buttons
  * The window is aligned to the centre of its parent.
@@ -1700,19 +1700,19 @@
 	}
 };
 
-static const WindowDesc _load_dialog_desc = {
+static const WindowDesc _load_dialog_desc(
 	WDP_CENTER, WDP_CENTER, 257, 154, 257, 294,
 	WC_SAVELOAD, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
-	_load_dialog_widgets,
-};
+	_load_dialog_widgets
+);
 
-static const WindowDesc _save_dialog_desc = {
+static const WindowDesc _save_dialog_desc(
 	WDP_CENTER, WDP_CENTER, 257, 180, 257, 320,
 	WC_SAVELOAD, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
-	_save_dialog_widgets,
-};
+	_save_dialog_widgets
+);
 
 /** These values are used to convert the file/operations mode into a corresponding file type.
  * So each entry, as expressed by the related comment, is based on the enum   */
diff -r 91612ddb479b src/music_gui.cpp
--- a/src/music_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/music_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -345,12 +345,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _music_track_selection_desc = {
+static const WindowDesc _music_track_selection_desc(
 	104, 131, 432, 218, 432, 218,
 	WC_MUSIC_TRACK_SELECTION, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_music_track_selection_widgets,
-};
+	_music_track_selection_widgets
+);
 
 static void ShowMusicTrackSelection()
 {
@@ -546,12 +546,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _music_window_desc = {
+static const WindowDesc _music_window_desc(
 	0, 22, 300, 66, 300, 66,
 	WC_MUSIC_WINDOW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_music_window_widgets,
-};
+	_music_window_widgets
+);
 
 void ShowMusicWindow()
 {
diff -r 91612ddb479b src/network/network_chat_gui.cpp
--- a/src/network/network_chat_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/network/network_chat_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -501,12 +501,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _chat_window_desc = {
+static const WindowDesc _chat_window_desc(
 	WDP_CENTER, -26, 320, 14, 640, 14, // x, y, width, height
 	WC_SEND_NETWORK_MSG, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET,
-	_chat_window_widgets,
-};
+	_chat_window_widgets
+);
 
 void ShowNetworkChatQueryWindow(DestType type, int dest)
 {
diff -r 91612ddb479b src/network/network_content_gui.cpp
--- a/src/network/network_content_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/network/network_content_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -28,12 +28,12 @@
 };
 
 /** Window description for the download window */
-static const WindowDesc _network_content_download_status_window_desc = {
+static const WindowDesc _network_content_download_status_window_desc(
 	WDP_CENTER, WDP_CENTER, 350, 85, 350, 85,
 	WC_NETWORK_STATUS_WINDOW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_MODAL,
-	_network_content_download_status_window_widget,
-};
+	_network_content_download_status_window_widget
+);
 
 /** Window for showing the download status of content */
 struct NetworkContentDownloadStatusWindow : public Window, ContentCallback {
@@ -760,12 +760,12 @@
 };
 
 /** Window description of the content list */
-static const WindowDesc _network_content_list_desc = {
+static const WindowDesc _network_content_list_desc(
 	WDP_CENTER, WDP_CENTER, 450, 278, 630, 460,
 	WC_NETWORK_WINDOW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
-	_network_content_list_widgets,
-};
+	_network_content_list_widgets
+);
 
 /**
  * Show the content list window with a given set of content
diff -r 91612ddb479b src/network/network_gui.cpp
--- a/src/network/network_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/network/network_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -811,12 +811,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _network_game_window_desc = {
+static const WindowDesc _network_game_window_desc(
 	WDP_CENTER, WDP_CENTER, 450, 264, 780, 264,
 	WC_NETWORK_WINDOW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
-	_network_game_window_widgets,
-};
+	_network_game_window_widgets
+);
 
 void ShowNetworkGameWindow()
 {
@@ -1135,12 +1135,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _network_start_server_window_desc = {
+static const WindowDesc _network_start_server_window_desc(
 	WDP_CENTER, WDP_CENTER, 420, 244, 420, 244,
 	WC_NETWORK_WINDOW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_network_start_server_window_widgets,
-};
+	_network_start_server_window_widgets
+);
 
 static void ShowNetworkStartServerWindow()
 {
@@ -1361,12 +1361,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _network_lobby_window_desc = {
+static const WindowDesc _network_lobby_window_desc(
 	WDP_CENTER, WDP_CENTER, 420, 235, 420, 235,
 	WC_NETWORK_WINDOW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_network_lobby_window_widgets,
-};
+	_network_lobby_window_widgets
+);
 
 /* Show the networklobbywindow with the selected server
  * @param ngl Selected game pointer which is passed to the new window */
@@ -1422,12 +1422,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _client_list_desc = {
+static const WindowDesc _client_list_desc(
 	WDP_AUTO, WDP_AUTO, 250, 1, 250, 1,
 	WC_CLIENT_LIST, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
-	_client_list_widgets,
-};
+	_client_list_widgets
+);
 
 // Finds the Xth client-info that is active
 static const NetworkClientInfo *NetworkFindClientInfo(byte client_no)
@@ -1847,12 +1847,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _network_join_status_window_desc = {
+static const WindowDesc _network_join_status_window_desc(
 	WDP_CENTER, WDP_CENTER, 250, 85, 250, 85,
 	WC_NETWORK_STATUS_WINDOW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_MODAL,
-	_network_join_status_window_widget,
-};
+	_network_join_status_window_widget
+);
 
 void ShowJoinStatusWindow()
 {
@@ -1960,12 +1960,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _ncp_window_desc = {
+static const WindowDesc _ncp_window_desc(
 	WDP_AUTO, WDP_AUTO, 300, 63, 300, 63,
 	WC_COMPANY_PASSWORD_WINDOW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON,
-	_ncp_window_widgets,
-};
+	_ncp_window_widgets
+);
 
 void ShowNetworkCompanyPasswordWindow(Window *parent)
 {
diff -r 91612ddb479b src/newgrf_gui.cpp
--- a/src/newgrf_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/newgrf_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -254,12 +254,12 @@
 };
 
 /* Window definition for the add a newgrf window */
-static const WindowDesc _newgrf_add_dlg_desc = {
+static const WindowDesc _newgrf_add_dlg_desc(
 	WDP_CENTER, WDP_CENTER, 307, 237, 307, 337,
 	WC_SAVELOAD, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_STD_BTN | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
-	_newgrf_add_dlg_widgets,
-};
+	_newgrf_add_dlg_widgets
+);
 
 static GRFPresetList _grf_preset_list;
 
@@ -753,12 +753,12 @@
 };
 
 /* Window definition of the manage newgrfs window */
-static const WindowDesc _newgrf_desc = {
+static const WindowDesc _newgrf_desc(
 	WDP_CENTER, WDP_CENTER, 300, 263, 300, 263,
 	WC_GAME_OPTIONS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE,
-	_newgrf_widgets,
-};
+	_newgrf_widgets
+);
 
 /** Callback function for the newgrf 'apply changes' confirmation window
  * @param w Window which is calling this callback
diff -r 91612ddb479b src/news_gui.cpp
--- a/src/news_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/news_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -325,12 +325,12 @@
 {   WIDGETS_END},
 };
 
-static WindowDesc _news_type13_desc = {
+static WindowDesc _news_type13_desc(
 	WDP_CENTER, 476, 430, 170, 430, 170,
 	WC_NEWS_WINDOW, WC_NONE,
 	WDF_DEF_WIDGET,
-	_news_type13_widgets,
-};
+	_news_type13_widgets
+);
 
 static const Widget _news_type2_widgets[] = {
 {      WWT_PANEL,   RESIZE_NONE,  COLOUR_WHITE,     0,   429,     0,   129, 0x0, STR_NULL},
@@ -338,12 +338,12 @@
 {   WIDGETS_END},
 };
 
-static WindowDesc _news_type2_desc = {
+static WindowDesc _news_type2_desc(
 	WDP_CENTER, 476, 430, 130, 430, 130,
 	WC_NEWS_WINDOW, WC_NONE,
 	WDF_DEF_WIDGET,
-	_news_type2_widgets,
-};
+	_news_type2_widgets
+);
 
 static const Widget _news_type0_widgets[] = {
 {      WWT_PANEL,   RESIZE_NONE,  COLOUR_LIGHT_BLUE,     0,   279,    14,    86, 0x0,              STR_NULL},
@@ -353,12 +353,12 @@
 {   WIDGETS_END},
 };
 
-static WindowDesc _news_type0_desc = {
+static WindowDesc _news_type0_desc(
 	WDP_CENTER, 476, 280, 87, 280, 87,
 	WC_NEWS_WINDOW, WC_NONE,
 	WDF_DEF_WIDGET,
-	_news_type0_widgets,
-};
+	_news_type0_widgets
+);
 
 
 /** Open up an own newspaper window for the news item */
@@ -773,12 +773,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _message_history_desc = {
+static const WindowDesc _message_history_desc(
 	240, 22, 400, 140, 400, 140,
 	WC_MESSAGE_HISTORY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_message_history_widgets,
-};
+	_message_history_widgets
+);
 
 /** Display window with news messages history */
 void ShowMessageHistory()
@@ -982,13 +982,13 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _message_options_desc = {
+static const WindowDesc _message_options_desc(
 	270,  22,  410,  65 + NT_END * NEWS_SETTING_BASELINE_SKIP,
 	           410,  65 + NT_END * NEWS_SETTING_BASELINE_SKIP,
 	WC_GAME_OPTIONS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_message_options_widgets,
-};
+	_message_options_widgets
+);
 
 void ShowMessageOptions()
 {
diff -r 91612ddb479b src/order_gui.cpp
--- a/src/order_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/order_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -1181,12 +1181,12 @@
 	{   WIDGETS_END},
 };
 
-static const WindowDesc _orders_train_desc = {
+static const WindowDesc _orders_train_desc(
 	WDP_AUTO, WDP_AUTO, 386, 100, 386, 100,
 	WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_orders_train_widgets,
-};
+	_orders_train_widgets
+);
 
 /**
  * Widget definition for "your" orders (!train)
@@ -1226,12 +1226,12 @@
 	{   WIDGETS_END},
 };
 
-static const WindowDesc _orders_desc = {
+static const WindowDesc _orders_desc(
 	WDP_AUTO, WDP_AUTO, 386, 100, 386, 100,
 	WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_orders_widgets,
-};
+	_orders_widgets
+);
 
 /**
  * Widget definition for competitor orders
@@ -1271,12 +1271,12 @@
 	{   WIDGETS_END},
 };
 
-static const WindowDesc _other_orders_desc = {
+static const WindowDesc _other_orders_desc(
 	WDP_AUTO, WDP_AUTO, 386, 88, 386, 88,
 	WC_VEHICLE_ORDERS, WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_other_orders_widgets,
-};
+	_other_orders_widgets
+);
 
 void ShowOrdersWindow(const Vehicle *v)
 {
diff -r 91612ddb479b src/osk_gui.cpp
--- a/src/osk_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/osk_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -308,12 +308,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _osk_desc = {
+static const WindowDesc _osk_desc(
 	WDP_CENTER, WDP_CENTER, 256, 140, 256, 140,
 	WC_OSK, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_osk_widgets,
-};
+	_osk_widgets
+);
 
 /**
  * Retrieve keyboard layout from language string or (if set) config file.
diff -r 91612ddb479b src/rail_gui.cpp
--- a/src/rail_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/rail_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -792,12 +792,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_rail_desc = {
+static const WindowDesc _build_rail_desc(
 	WDP_ALIGN_TBR, 22, 350, 36, 350, 36,
 	WC_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_build_rail_widgets,
-};
+	_build_rail_widgets
+);
 
 
 /** Configures the rail toolbar for railtype given
@@ -1334,20 +1334,20 @@
 };
 
 /** High level window description of the default station-build window */
-static const WindowDesc _station_builder_desc = {
+static const WindowDesc _station_builder_desc(
 	WDP_AUTO, WDP_AUTO, 148, 200, 148, 200,
 	WC_BUILD_STATION, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_station_builder_widgets,
-};
+	_station_builder_widgets
+);
 
 /** High level window description of the newGRF station-build window */
-static const WindowDesc _newstation_builder_desc = {
+static const WindowDesc _newstation_builder_desc(
 	WDP_AUTO, WDP_AUTO, 148, 290, 148, 290,
 	WC_BUILD_STATION, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_newstation_builder_widgets,
-};
+	_newstation_builder_widgets
+);
 
 /** Open station build window */
 static void ShowStationBuilder(Window *parent)
@@ -1511,12 +1511,12 @@
 };
 
 /** Signal selection window description */
-static const WindowDesc _signal_builder_desc = {
+static const WindowDesc _signal_builder_desc(
 	WDP_AUTO, WDP_AUTO, 154, 68, 154, 68,
 	WC_BUILD_SIGNAL, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_CONSTRUCTION,
-	_signal_builder_widgets,
-};
+	_signal_builder_widgets
+);
 
 /**
  * Open the signal selection window
@@ -1585,12 +1585,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_depot_desc = {
+static const WindowDesc _build_depot_desc(
 	WDP_AUTO, WDP_AUTO, 140, 122, 140, 122,
 	WC_BUILD_DEPOT, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_build_depot_widgets,
-};
+	_build_depot_widgets
+);
 
 static void ShowBuildTrainDepotPicker(Window *parent)
 {
@@ -1686,12 +1686,12 @@
 {    WIDGETS_END},
 };
 
-static const WindowDesc _build_waypoint_desc = {
+static const WindowDesc _build_waypoint_desc(
 	WDP_AUTO, WDP_AUTO, 344, 92, 344, 92,
 	WC_BUILD_DEPOT, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_build_waypoint_widgets,
-};
+	_build_waypoint_widgets
+);
 
 static void ShowBuildWaypointPicker(Window *parent)
 {
diff -r 91612ddb479b src/road_gui.cpp
--- a/src/road_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/road_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -644,12 +644,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_road_desc = {
+static const WindowDesc _build_road_desc(
 	WDP_ALIGN_TBR, 22, 263, 36, 263, 36,
 	WC_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_build_road_widgets,
-};
+	_build_road_widgets
+);
 
 /** Widget definition of the build tram toolbar */
 static const Widget _build_tramway_widgets[] = {
@@ -672,12 +672,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_tramway_desc = {
+static const WindowDesc _build_tramway_desc(
 	WDP_ALIGN_TBR, 22, 241, 36, 241, 36,
 	WC_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_build_tramway_widgets,
-};
+	_build_tramway_widgets
+);
 
 void ShowBuildRoadToolbar(RoadType roadtype)
 {
@@ -708,12 +708,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_road_scen_desc = {
+static const WindowDesc _build_road_scen_desc(
 	WDP_AUTO, WDP_AUTO, 197, 36, 197, 36,
 	WC_SCEN_BUILD_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_build_road_scen_widgets,
-};
+	_build_road_scen_widgets
+);
 
 void ShowBuildRoadScenToolbar()
 {
@@ -787,12 +787,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _build_road_depot_desc = {
+static const WindowDesc _build_road_depot_desc(
 	WDP_AUTO, WDP_AUTO, 140, 122, 140, 122,
 	WC_BUILD_DEPOT, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_build_road_depot_widgets,
-};
+	_build_road_depot_widgets
+);
 
 static void ShowRoadDepotPicker(Window *parent)
 {
@@ -935,12 +935,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _rv_station_picker_desc = {
+static const WindowDesc _rv_station_picker_desc(
 	WDP_AUTO, WDP_AUTO, 207, 177, 207, 177,
 	WC_BUS_STATION, WC_BUILD_TOOLBAR,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_rv_station_picker_widgets,
-};
+	_rv_station_picker_widgets
+);
 
 static void ShowRVStationPicker(Window *parent, RoadStopType rs)
 {
diff -r 91612ddb479b src/settings_gui.cpp
--- a/src/settings_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/settings_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -352,12 +352,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _game_options_desc = {
+static const WindowDesc _game_options_desc(
 	WDP_CENTER, WDP_CENTER, 370, 243, 370, 243,
 	WC_GAME_OPTIONS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_game_options_widgets,
-};
+	_game_options_widgets
+);
 
 
 void ShowGameOptions()
@@ -386,12 +386,12 @@
 };
 
 /* Window definition for the game difficulty settings window */
-static const WindowDesc _game_difficulty_desc = {
+static const WindowDesc _game_difficulty_desc(
 	WDP_CENTER, WDP_CENTER, 370, 279, 370, 279,
 	WC_GAME_OPTIONS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
-	_game_difficulty_widgets,
-};
+	_game_difficulty_widgets
+);
 
 void SetDifficultyLevel(int mode, DifficultySettings *gm_opt);
 
@@ -1429,12 +1429,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _settings_selection_desc = {
+static const WindowDesc _settings_selection_desc(
 	WDP_CENTER, WDP_CENTER, 412, 188, 450, 397,
 	WC_GAME_OPTIONS, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE,
-	_settings_selection_widgets,
-};
+	_settings_selection_widgets
+);
 
 void ShowGameSettings()
 {
@@ -1662,12 +1662,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _cust_currency_desc = {
+static const WindowDesc _cust_currency_desc(
 	WDP_CENTER, WDP_CENTER, 230, 120, 230, 120,
 	WC_CUSTOM_CURRENCY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_cust_currency_widgets,
-};
+	_cust_currency_widgets
+);
 
 static void ShowCustCurrency()
 {
diff -r 91612ddb479b src/signs_gui.cpp
--- a/src/signs_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/signs_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -151,12 +151,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _sign_list_desc = {
+static const WindowDesc _sign_list_desc(
 	WDP_AUTO, WDP_AUTO, 358, 138, 358, 138,
 	WC_SIGN_LIST, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_sign_list_widget,
-};
+	_sign_list_widget
+);
 
 
 void ShowSignList()
@@ -331,12 +331,12 @@
 { WIDGETS_END },
 };
 
-static const WindowDesc _query_sign_edit_desc = {
+static const WindowDesc _query_sign_edit_desc(
 	190, 170, 260, 42, 260, 42,
 	WC_QUERY_STRING, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_query_sign_edit_widgets,
-};
+	_query_sign_edit_widgets
+);
 
 void HandleClickOnSign(const Sign *si)
 {
diff -r 91612ddb479b src/smallmap_gui.cpp
--- a/src/smallmap_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/smallmap_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -1055,12 +1055,12 @@
 SmallMapWindow::SmallMapType SmallMapWindow::map_type = SMT_CONTOUR;
 bool SmallMapWindow::show_towns = true;
 
-static const WindowDesc _smallmap_desc = {
+static const WindowDesc _smallmap_desc(
 	WDP_AUTO, WDP_AUTO, 350, 214, 446, 314,
 	WC_SMALLMAP, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_smallmap_widgets,
-};
+	_smallmap_widgets
+);
 
 void ShowSmallMap()
 {
@@ -1197,12 +1197,12 @@
 	}
 };
 
-static const WindowDesc _extra_view_port_desc = {
+static const WindowDesc _extra_view_port_desc(
 	WDP_AUTO, WDP_AUTO, 300, 68, 300, 268,
 	WC_EXTRA_VIEW_PORT, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_extra_view_port_widgets,
-};
+	_extra_view_port_widgets
+);
 
 void ShowExtraViewPortWindow(TileIndex tile)
 {
diff -r 91612ddb479b src/station_gui.cpp
--- a/src/station_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/station_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -612,12 +612,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _company_stations_desc = {
+static const WindowDesc _company_stations_desc(
 	WDP_AUTO, WDP_AUTO, 358, 162, 358, 162,
 	WC_STATION_LIST, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_company_stations_widgets,
-};
+	_company_stations_widgets
+);
 
 /**
  * Opens window with list of company's stations
@@ -983,12 +983,12 @@
 };
 
 
-static const WindowDesc _station_view_desc = {
+static const WindowDesc _station_view_desc(
 	WDP_AUTO, WDP_AUTO, 249, 110, 249, 110,
 	WC_STATION_VIEW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_station_view_widgets,
-};
+	_station_view_widgets
+);
 
 /**
  * Opens StationViewWindow for given station
@@ -1199,12 +1199,12 @@
 	}
 };
 
-static const WindowDesc _select_station_desc = {
+static const WindowDesc _select_station_desc(
 	WDP_AUTO, WDP_AUTO, 200, 92, 200, 182,
 	WC_SELECT_STATION, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_select_station_widgets,
-};
+	_select_station_widgets
+);
 
 
 /**
diff -r 91612ddb479b src/statusbar_gui.cpp
--- a/src/statusbar_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/statusbar_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -182,12 +182,12 @@
 {   WIDGETS_END},
 };
 
-static WindowDesc _main_status_desc = {
+static WindowDesc _main_status_desc(
 	WDP_CENTER, 0, 320, 12, 640, 12,
 	WC_STATUS_BAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_NO_FOCUS,
-	_main_status_widgets,
-};
+	_main_status_widgets
+);
 
 /**
  * Checks whether the news ticker is currently being used.
diff -r 91612ddb479b src/subsidy_gui.cpp
--- a/src/subsidy_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/subsidy_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -181,12 +181,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _subsidies_list_desc = {
+static const WindowDesc _subsidies_list_desc(
 	WDP_AUTO, WDP_AUTO, 320, 127, 320, 127,
 	WC_SUBSIDIES_LIST, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_subsidies_list_widgets,
-};
+	_subsidies_list_widgets
+);
 
 
 void ShowSubsidiesList()
diff -r 91612ddb479b src/terraform_gui.cpp
--- a/src/terraform_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/terraform_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -325,12 +325,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _terraform_desc = {
+static const WindowDesc _terraform_desc(
 	WDP_ALIGN_TBR, 22 + 36, 158, 36, 158, 36,
 	WC_SCEN_LAND_GEN, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_terraform_widgets,
-};
+	_terraform_widgets
+);
 
 void ShowTerraformToolbar(Window *link)
 {
@@ -706,12 +706,12 @@
 	}
 };
 
-static const WindowDesc _scen_edit_land_gen_desc = {
+static const WindowDesc _scen_edit_land_gen_desc(
 	WDP_AUTO, WDP_AUTO, 163, 103, 163, 103,
 	WC_SCEN_LAND_GEN, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_scen_edit_land_gen_widgets,
-};
+	_scen_edit_land_gen_widgets
+);
 
 void ShowEditorTerraformToolbar()
 {
diff -r 91612ddb479b src/timetable_gui.cpp
--- a/src/timetable_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/timetable_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -354,12 +354,12 @@
 	{    WIDGETS_END }
 };
 
-static const WindowDesc _timetable_desc = {
+static const WindowDesc _timetable_desc(
 	WDP_AUTO, WDP_AUTO, 400, 130, 400, 130,
 	WC_VEHICLE_TIMETABLE, WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_timetable_widgets,
-};
+	_timetable_widgets
+);
 
 void ShowTimetableWindow(const Vehicle *v)
 {
diff -r 91612ddb479b src/toolbar_gui.cpp
--- a/src/toolbar_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/toolbar_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -1180,12 +1180,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _toolb_normal_desc = {
+static const WindowDesc _toolb_normal_desc(
 	0, 0, 0, TBP_BUTTONHEIGHT, 640, TBP_BUTTONHEIGHT,
 	WC_MAIN_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_NO_FOCUS,
-	_toolb_normal_widgets,
-};
+	_toolb_normal_widgets
+);
 
 
 /* --- Toolbar handling for the scenario editor */
@@ -1433,12 +1433,12 @@
 {WIDGETS_END},
 };
 
-static const WindowDesc _toolb_scen_desc = {
+static const WindowDesc _toolb_scen_desc(
 	0, 0, 130, TBP_BUTTONHEIGHT, 640, TBP_BUTTONHEIGHT,
 	WC_MAIN_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_NO_FOCUS,
-	_toolb_scen_widgets,
-};
+	_toolb_scen_widgets
+);
 
 /* --- Allocating the toolbar --- */
 
diff -r 91612ddb479b src/town_gui.cpp
--- a/src/town_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/town_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -205,12 +205,12 @@
 	}
 };
 
-static const WindowDesc _town_authority_desc = {
+static const WindowDesc _town_authority_desc(
 	WDP_AUTO, WDP_AUTO, 317, 222, 317, 222,
 	WC_TOWN_AUTHORITY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
-	_town_authority_widgets,
-};
+	_town_authority_widgets
+);
 
 static void ShowTownAuthorityWindow(uint town)
 {
@@ -432,12 +432,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _town_view_desc = {
+static const WindowDesc _town_view_desc(
 	WDP_AUTO, WDP_AUTO, 260, TownViewWindow::TVW_HEIGHT_NORMAL, 260, TownViewWindow::TVW_HEIGHT_NORMAL,
 	WC_TOWN_VIEW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON,
-	_town_view_widgets,
-};
+	_town_view_widgets
+);
 
 void ShowTownViewWindow(TownID town)
 {
@@ -649,12 +649,12 @@
 	&TownPopulationSorter,
 };
 
-static const WindowDesc _town_directory_desc = {
+static const WindowDesc _town_directory_desc(
 	WDP_AUTO, WDP_AUTO, 208, 202, 208, 202,
 	WC_TOWN_DIRECTORY, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_town_directory_widgets,
-};
+	_town_directory_widgets
+);
 
 void ShowTownDirectory()
 {
@@ -838,12 +838,12 @@
 bool FoundTownWindow::city;
 TownLayout FoundTownWindow::town_layout;
 
-static const WindowDesc _found_town_desc = {
+static const WindowDesc _found_town_desc(
 	WDP_AUTO, WDP_AUTO, 160, 162, 160, 162,
 	WC_FOUND_TOWN, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_CONSTRUCTION,
-	_found_town_widgets,
-};
+	_found_town_widgets
+);
 
 void ShowBuildTownWindow()
 {
diff -r 91612ddb479b src/transparency_gui.cpp
--- a/src/transparency_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/transparency_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -113,12 +113,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _transparency_desc = {
+static const WindowDesc _transparency_desc(
 	WDP_ALIGN_TBR, 94, 219, 49, 219, 49,
 	WC_TRANSPARENCY_TOOLBAR, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON,
-	_transparency_widgets,
-};
+	_transparency_widgets
+);
 
 void ShowTransparencyToolbar(void)
 {
diff -r 91612ddb479b src/tree_gui.cpp
--- a/src/tree_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/tree_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -171,12 +171,12 @@
 {    WIDGETS_END},
 };
 
-static const WindowDesc _build_trees_desc = {
+static const WindowDesc _build_trees_desc(
 	WDP_AUTO, WDP_AUTO, 143, 184, 143, 184,
 	WC_BUILD_TREES, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_build_trees_widgets,
-};
+	_build_trees_widgets
+);
 
 void ShowBuildTreesToolbar()
 {
diff -r 91612ddb479b src/vehicle_gui.cpp
--- a/src/vehicle_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/vehicle_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -412,12 +412,12 @@
 	{   WIDGETS_END},
 };
 
-static const WindowDesc _vehicle_refit_desc = {
+static const WindowDesc _vehicle_refit_desc(
 	WDP_AUTO, WDP_AUTO, 240, 174, 240, 174,
 	WC_VEHICLE_REFIT, WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_RESIZABLE | WDF_CONSTRUCTION,
-	_vehicle_refit_widgets,
-};
+	_vehicle_refit_widgets
+);
 
 /** Show the refit window for a vehicle
 * @param *v The vehicle to show the refit window for
@@ -1134,12 +1134,12 @@
 	}
 };
 
-static WindowDesc _vehicle_list_desc = {
+static WindowDesc _vehicle_list_desc(
 	WDP_AUTO, WDP_AUTO, 260, 194, 260, 246,
 	WC_INVALID, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_vehicle_list_widgets,
-};
+	_vehicle_list_widgets
+);
 
 static void ShowVehicleListWindowLocal(CompanyID company, uint16 VLW_flag, VehicleType vehicle_type, uint16 unique_number)
 {
@@ -1544,12 +1544,12 @@
 };
 
 /** Vehicle details window descriptor. */
-static const WindowDesc _vehicle_details_desc = {
+static const WindowDesc _vehicle_details_desc(
 	WDP_AUTO, WDP_AUTO, 405, 113, 405, 113,
 	WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_vehicle_details_widgets,
-};
+	_vehicle_details_widgets
+);
 
 /** Shows the vehicle details window of the given vehicle. */
 static void ShowVehicleDetailsWindow(const Vehicle *v)
@@ -1585,22 +1585,22 @@
 
 
 /** Vehicle view window descriptor for all vehicles but trains. */
-static const WindowDesc _vehicle_view_desc = {
+static const WindowDesc _vehicle_view_desc(
 	WDP_AUTO, WDP_AUTO, 250, 116, 250, 116,
 	WC_VEHICLE_VIEW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_vehicle_view_widgets,
-};
+	_vehicle_view_widgets
+);
 
 /** Vehicle view window descriptor for trains. Only minimum_height and
  *  default_height are different for train view.
  */
-static const WindowDesc _train_view_desc = {
+static const WindowDesc _train_view_desc(
 	WDP_AUTO, WDP_AUTO, 250, 134, 250, 134,
 	WC_VEHICLE_VIEW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
-	_vehicle_view_widgets,
-};
+	_vehicle_view_widgets
+);
 
 
 /* Just to make sure, nobody has changed the vehicle type constants, as we are
diff -r 91612ddb479b src/waypoint_gui.cpp
--- a/src/waypoint_gui.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/waypoint_gui.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -112,12 +112,12 @@
 {   WIDGETS_END},
 };
 
-static const WindowDesc _waypoint_view_desc = {
+static const WindowDesc _waypoint_view_desc(
 	WDP_AUTO, WDP_AUTO, 260, 118, 260, 118,
 	WC_WAYPOINT_VIEW, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON,
-	_waypoint_view_widgets,
-};
+	_waypoint_view_widgets
+);
 
 void ShowWaypointWindow(const Waypoint *wp)
 {
diff -r 91612ddb479b src/window.cpp
--- a/src/window.cpp	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/window.cpp	Sat Mar 07 19:08:28 2009 +0100
@@ -52,6 +52,23 @@
 
 byte _special_mouse_mode;
 
+/** Window description constructor. */
+WindowDesc::WindowDesc(int16 lft, int16 ptop, int16 min_width, int16 min_height, int16 def_width, int16 def_height,
+			WindowClass wc, WindowClass pc, uint32 flgs, const Widget *widgs)
+{
+	this->left = lft;
+	this->top = ptop;
+	this->minimum_width = min_width;
+	this->minimum_height = min_height;
+	this->default_width = def_width;
+	this->default_height = def_height;
+	this->cls = wc;
+	this->parent_cls = pc;
+	this->flags = flgs;
+	this->widgets = widgs;
+}
+
+
 /**
  * Set the window that has the focus
  * @param w The window to set the focus on
diff -r 91612ddb479b src/window_gui.h
--- a/src/window_gui.h	Sat Mar 07 18:59:01 2009 +0100
+++ b/src/window_gui.h	Sat Mar 07 19:08:28 2009 +0100
@@ -38,7 +38,11 @@
 /**
  * High level window description
  */
-struct WindowDesc {
+struct WindowDesc : ZeroedMemoryAllocator {
+
+	WindowDesc(int16 lft, int16 top, int16 min_width, int16 min_height, int16 def_width, int16 def_height,
+			WindowClass wc, WindowClass pc, uint32 flgs, const Widget *widgs);
+
 	int16 left;             ///< Prefered x position of left edge of the window, @see WindowDefaultPosition()
 	int16 top;              ///< Prefered y position of the top of the window, @see WindowDefaultPosition()
 	int16 minimum_width;    ///< Minimal width of the window
