1
0
mirror of https://github.com/anope/anope.git synced 2026-07-09 07:03:14 +02:00

Fixed crash on shutdown & a compiler warning

This commit is contained in:
Adam
2011-11-15 16:16:38 -05:00
parent b5ff856f47
commit 9ed203c0cb
3 changed files with 12 additions and 10 deletions
+9 -7
View File
@@ -66,7 +66,7 @@ extern void RegisterTypes();
class CoreExport Serializable
{
private:
static std::list<Serializable *> serizliable_items;
static std::list<Serializable *> *serizliable_items;
Anope::string serizliable_name;
std::list<Serializable *>::iterator s_iter;
@@ -79,19 +79,21 @@ class CoreExport Serializable
protected:
Serializable(const Anope::string &n) : serizliable_name(n)
{
serizliable_items.push_front(this);
this->s_iter = serizliable_items.begin();
if (serizliable_items == NULL)
serizliable_items = new std::list<Serializable *>();
serizliable_items->push_front(this);
this->s_iter = serizliable_items->begin();
}
Serializable(const Serializable &)
{
serizliable_items.push_front(this);
this->s_iter = serizliable_items.begin();
serizliable_items->push_front(this);
this->s_iter = serizliable_items->begin();
}
virtual ~Serializable()
{
serizliable_items.erase(this->s_iter);
serizliable_items->erase(this->s_iter);
}
Serializable &operator=(const Serializable &)
@@ -111,7 +113,7 @@ class CoreExport Serializable
static const std::list<Serializable *> &GetItems()
{
return serizliable_items;
return *serizliable_items;
}
};
+2 -2
View File
@@ -172,10 +172,10 @@ class DBSQL : public Module
SQLQuery query("SELECT * FROM `" + sb->GetName() + "`");
SQLResult res = this->sql->RunQuery(query);
for (int i = 0; i < res.Rows(); ++i)
for (int j = 0; j < res.Rows(); ++j)
{
Serializable::serialized_data data;
const std::map<Anope::string, Anope::string> &row = res.Row(i);
const std::map<Anope::string, Anope::string> &row = res.Row(j);
for (std::map<Anope::string, Anope::string>::const_iterator rit = row.begin(), rit_end = row.end(); rit != rit_end; ++rit)
data[rit->first] << rit->second;
+1 -1
View File
@@ -4,7 +4,7 @@
std::vector<Anope::string> SerializeType::type_order;
Anope::map<SerializeType *> SerializeType::types;
std::list<Serializable *> Serializable::serizliable_items;
std::list<Serializable *> *Serializable::serizliable_items;
void RegisterTypes()
{