diff options
Diffstat (limited to 'src/player_gui.cpp')
-rw-r--r-- | src/player_gui.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/player_gui.cpp b/src/player_gui.cpp index 36613a553..0879a0c60 100644 --- a/src/player_gui.cpp +++ b/src/player_gui.cpp @@ -769,12 +769,12 @@ class SelectPlayerFaceWindow : public Window } public: - SelectPlayerFaceWindow(const WindowDesc *desc, void *data, WindowNumber number) : Window(desc, data, number) + SelectPlayerFaceWindow(const WindowDesc *desc, bool advanced) : Window(desc, 0) { this->FindWindowPlacementAndResize(desc); this->caption_color = this->window_number; this->face = GetPlayer((PlayerID)this->window_number)->face; - this->advanced = *(bool*)data; + this->advanced = advanced; this->UpdateData(); @@ -1045,7 +1045,8 @@ static void DoSelectPlayerFace(PlayerID player, bool adv, int top, int left) { if (!IsValidPlayer(player)) return; - AllocateWindowDescFront<SelectPlayerFaceWindow>(adv ? &_select_player_face_adv_desc : &_select_player_face_desc, player, &adv); // simple or advanced window + if (BringWindowToFrontById(WC_PLAYER_FACE, 0)) return; + return SelectPlayerFaceWindow(adv ? &_select_player_face_adv_desc : &_select_player_face_desc, player, adv); // simple or advanced window } |