Index: settings_gui.cpp =================================================================== --- settings_gui.cpp (revision 20702) +++ settings_gui.cpp (working copy) @@ -382,7 +382,7 @@ case GOW_CURRENCY_DROPDOWN: // Currency if (index == CUSTOM_CURRENCY_ID) ShowCustCurrency(); this->opt->locale.currency = index; - MarkWholeScreenDirty(); + ReInitAllWindows(); break; case GOW_DISTANCE_DROPDOWN: // Measuring units Index: graph_gui.cpp =================================================================== --- graph_gui.cpp (revision 20702) +++ graph_gui.cpp (working copy) @@ -1355,10 +1355,14 @@ /* At this number we are roughly at the max; it can become wider, * but then you need at 1000 times more money. At that time you're * not that interested anymore in the last few digits anyway. */ - uint max = 999999999; // nine 9s + uint max = 99999999; // eight 9s SetDParam(0, max); SetDParam(1, max); uint score_detail_width = GetStringBoundingBox(STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY).width; + /* For some currencies, depending on the exchange rate, the value + * can get quite large, so that {CURRCOMPACT} produces a rather short + * string. Try to compensate that with extra space. */ + score_detail_width += 11; size->width = 7 + score_info_width + 5 + this->bar_width + 5 + score_detail_width + 7; uint left = 7;