diff options
author | truelight <truelight@openttd.org> | 2007-04-28 10:41:00 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2007-04-28 10:41:00 +0000 |
commit | 57ad2dd0fbf5292cf6b9386544272414d34d0da3 (patch) | |
tree | 8002e297e6c4c3c50999d275f2ff3336e7f489b9 /src | |
parent | 889f2ab48c9e5f95e0f2fc93a9d75e866d87a346 (diff) | |
download | openttd-57ad2dd0fbf5292cf6b9386544272414d34d0da3.tar.xz |
(svn r9731) -Fix [FS#677]: in news history, newlines weren't replaced with spaces, making it look ugly from time to time
Diffstat (limited to 'src')
-rw-r--r-- | src/news_gui.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 0bfb21b4c..bf9d13daf 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -620,15 +620,21 @@ static void DrawNewsString(int x, int y, uint16 color, const NewsItem *ni, uint * from it such as big fonts, etc. */ ptr = buffer; dest = buffer2; + WChar c_last = '\0'; for (;;) { WChar c = Utf8Consume(&ptr); if (c == 0) break; - if (c == '\r') { + /* Make a space from a newline, but ignore multiple newlines */ + if (c == '\n' && c_last != '\n') { + dest[0] = ' '; + dest++; + } else if (c == '\r') { dest[0] = dest[1] = dest[2] = dest[3] = ' '; dest += 4; } else if (IsPrintable(c)) { dest += Utf8Encode(dest, c); } + c_last = c; } *dest = '\0'; |