aboutsummaryrefslogtreecommitdiff
path: root/charselect.cpp
diff options
context:
space:
mode:
authorCerapter <cerap@protonmail.com>2018-12-12 19:22:34 +0100
committerCerapter <cerap@protonmail.com>2018-12-12 19:22:34 +0100
commitf217c68f85156e5ea816c10a7c4723a6c55c0b77 (patch)
tree867c710cc3e01c10e9f45c7210d90e83cb84eec5 /charselect.cpp
parent941a32d99caf4406d86b9fc85440c875d4ca5207 (diff)
The charselect's "shadows" correctly update based on what chars are taken.
This was purely a graphical bug. The characters were correctly recognised as taken by the client, but there was no way to update the "taken-shadow" over their icons. Which meant that they were locked into the way they were when the user first joined the server. As a result of this, a `CharsCheck` package from the server will correctly display the taken characters to the client in the character selection.
Diffstat (limited to 'charselect.cpp')
-rw-r--r--charselect.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/charselect.cpp b/charselect.cpp
index 01b6ae73..8e1b9122 100644
--- a/charselect.cpp
+++ b/charselect.cpp
@@ -168,8 +168,7 @@ void Courtroom::put_button_in_place(int starting, int chars_on_this_page)
ui_char_button_list_filtered.at(n)->move(x_pos, y_pos);
ui_char_button_list_filtered.at(n)->show();
-
- ui_char_button_list_filtered.at(n)->set_taken();
+ ui_char_button_list_filtered.at(n)->apply_taken_image();
++x_mod_count;
@@ -240,6 +239,12 @@ void Courtroom::filter_character_list()
if (!char_list.at(i).name.contains(ui_char_search->text(), Qt::CaseInsensitive))
continue;
+ // We only really need to update the fact that a character is taken
+ // for the buttons that actually appear.
+ // You'd also update the passwordedness and etc. here later.
+ current_char->reset();
+ current_char->set_taken(char_list.at(i).taken);
+
ui_char_button_list_filtered.append(current_char);
}