summaryrefslogtreecommitdiff
path: root/src/signs_gui.cpp
diff options
context:
space:
mode:
authorMichael Lutz <michi@icosahedron.de>2020-05-17 23:31:59 +0200
committerMichael Lutz <michi@icosahedron.de>2020-05-21 20:02:34 +0200
commit63ccb36ef3ecd53a503c0e9fea87f0784802af0f (patch)
treed3e1134029fd437d1ad2d948f83592b930e9456f /src/signs_gui.cpp
parent9b6f5e3bb850b6cff02cc761767fcdf49c681645 (diff)
downloadopenttd-63ccb36ef3ecd53a503c0e9fea87f0784802af0f.tar.xz
Codechange: Use std::string for most of the user-settable custom names.
Diffstat (limited to 'src/signs_gui.cpp')
-rw-r--r--src/signs_gui.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp
index ea3de7008..0bb1a0909 100644
--- a/src/signs_gui.cpp
+++ b/src/signs_gui.cpp
@@ -75,11 +75,8 @@ struct SignList {
* a lot of them. Therefore a worthwhile performance gain can be made by
* directly comparing Sign::name instead of going through the string
* system for each comparison. */
- const char *a_name = a->name;
- const char *b_name = b->name;
-
- if (a_name == nullptr) a_name = SignList::default_name;
- if (b_name == nullptr) b_name = SignList::default_name;
+ const char *a_name = a->name.empty() ? SignList::default_name : a->name.c_str();
+ const char *b_name = b->name.empty() ? SignList::default_name : b->name.c_str();
int r = strnatcmp(a_name, b_name); // Sort by name (natural sorting).
@@ -95,9 +92,7 @@ struct SignList {
static bool CDECL SignNameFilter(const Sign * const *a, StringFilter &filter)
{
/* Same performance benefit as above for sorting. */
- const char *a_name = (*a)->name;
-
- if (a_name == nullptr) a_name = SignList::default_name;
+ const char *a_name = (*a)->name.empty() ? SignList::default_name : (*a)->name.c_str();
filter.ResetState();
filter.AddLine(a_name);
@@ -439,7 +434,7 @@ struct SignWindow : Window, SignList {
void UpdateSignEditWindow(const Sign *si)
{
/* Display an empty string when the sign hasn't been edited yet */
- if (si->name != nullptr) {
+ if (!si->name.empty()) {
SetDParam(0, si->index);
this->name_editbox.text.Assign(STR_SIGN_NAME);
} else {