diff options
author | DukePyrolator <DukePyrolator@anope.org> | 2012-10-21 18:29:10 +0200 |
---|---|---|
committer | DukePyrolator <DukePyrolator@anope.org> | 2012-10-21 18:29:10 +0200 |
commit | d5b2f9cfa78ed176ffe1d9f2923799fdd37217a5 (patch) | |
tree | 7ecc83981ccbe416438d73a52fdee23b91f4484f /include/account.h | |
parent | 727c3d5b7513a909038553a227552a33dc52d885 (diff) |
Base has to destruct before Extensible does because objects that destruct due to Extensible destructing don't have their references to the already destroyed object for Base invalidated. (fixed for NickAlias and NickCore)
Diffstat (limited to 'include/account.h')
-rw-r--r-- | include/account.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/account.h b/include/account.h index 19b7729d3..7879a578e 100644 --- a/include/account.h +++ b/include/account.h @@ -109,7 +109,8 @@ const Anope::string NickCoreFlagStrings[] = { "MEMO_MAIL", "HIDE_STATUS", "SUSPENDED", "AUTOOP", "FORBIDDEN", "UNCONFIRMED", "STATS", "" }; -class CoreExport NickAlias : public Extensible, public Flags<NickNameFlag, NS_END>, public Serializable +/* It matters that Base is here before Extensible (it is inherited by Serializable) */ +class CoreExport NickAlias : public Serializable, public Extensible, public Flags<NickNameFlag, NS_END> { Anope::string vhost_ident, vhost_host, vhost_creator; time_t vhost_created; @@ -187,7 +188,8 @@ class CoreExport NickAlias : public Extensible, public Flags<NickNameFlag, NS_EN time_t GetVhostCreated() const; }; -class CoreExport NickCore : public Extensible, public Flags<NickCoreFlag, NI_END>, public Serializable +/* It matters that Base is here before Extensible (it is inherited by Serializable) */ +class CoreExport NickCore : public Serializable, public Extensible, public Flags<NickCoreFlag, NI_END> { public: /** Default constructor |