From 363527d0f95963ba3f4a6d25c8eabc1bb3ad4efe Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Fri, 19 Feb 2010 22:38:59 +0100 Subject: Fixed a crash when trying to switch servers Ownership of the charInfo global variable wasn't well defined. It was being locked, unlocked and generally modified from a lot of places, and somewhere in this mess it ended up crashing when switching servers. Now the CharHandler instances, for eAthena and manaserv respectively, own this list of characters. A new class, Net::Character wraps up the slot index in combination with the player dummy. The list is passed on to the CharSelectDialog each time it changes. Both related and unrelated cleanups were made as well. Reviewed-by: Jared Adams --- src/gui/charcreatedialog.h | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'src/gui/charcreatedialog.h') diff --git a/src/gui/charcreatedialog.h b/src/gui/charcreatedialog.h index c4838712..a6d4b49b 100644 --- a/src/gui/charcreatedialog.h +++ b/src/gui/charcreatedialog.h @@ -19,12 +19,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef CHAR_CREATE_H -#define CHAR_CREATE_H +#ifndef CHAR_CREATE_DIALOG_H +#define CHAR_CREATE_DIALOG_H #include "player.h" #include "guichanfwd.h" -#include "lockedarray.h" #include "gui/charselectdialog.h" @@ -63,19 +62,12 @@ class CharCreateDialog : public Window, public gcn::ActionListener */ void unlock(); - void setAttributes(std::vector labels, int available, + void setAttributes(const std::vector &labels, + int available, int min, int max); void setFixedGender(bool fixed, Gender gender = GENDER_FEMALE); - /** - * Notify the CharSelectDialog the character was created successfully. - */ - void success(); - - CharSelectDialog *getSelectDialog() const - { return mCharSelectDialog; } - private: int getDistributedPoints() const; @@ -127,4 +119,4 @@ class CharCreateDialog : public Window, public gcn::ActionListener int mSlot; }; -#endif // CHAR_CREATE_H +#endif // CHAR_CREATE_DIALOG_H -- cgit v1.2.3-70-g09d2