diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-08-17 18:31:41 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-08-17 18:31:41 +0200 |
| commit | acfbb612045ec4cbddb5c13aa15518b2e9612af0 (patch) | |
| tree | 88b79cad0a351a63fcfb01f6d31fbc839c5b95cb /src/server/shared | |
| parent | 2f5b8ade6cd3640a9d70890c32f572d4dd7f16d0 (diff) | |
| parent | 8257338dc7bb0d69960568896b47fcca96aae94d (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Diffstat (limited to 'src/server/shared')
| -rw-r--r-- | src/server/shared/Database/QueryHolder.cpp | 8 | ||||
| -rw-r--r-- | src/server/shared/Database/QueryHolder.h | 8 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/server/shared/Database/QueryHolder.cpp b/src/server/shared/Database/QueryHolder.cpp index bd938561b50..f0dc3c96e4e 100644 --- a/src/server/shared/Database/QueryHolder.cpp +++ b/src/server/shared/Database/QueryHolder.cpp @@ -166,8 +166,16 @@ void SQLQueryHolder::SetSize(size_t size) m_queries.resize(size); } +SQLQueryHolderTask::~SQLQueryHolderTask() +{ + if (!m_executed) + delete m_holder; +} + bool SQLQueryHolderTask::Execute() { + m_executed = true; + if (!m_holder) return false; diff --git a/src/server/shared/Database/QueryHolder.h b/src/server/shared/Database/QueryHolder.h index 273980c3ac5..39e51b591c5 100644 --- a/src/server/shared/Database/QueryHolder.h +++ b/src/server/shared/Database/QueryHolder.h @@ -47,14 +47,16 @@ class SQLQueryHolderTask : public SQLOperation private: SQLQueryHolder* m_holder; QueryResultHolderPromise m_result; + bool m_executed; public: SQLQueryHolderTask(SQLQueryHolder* holder) - : m_holder(holder) { }; + : m_holder(holder), m_executed(false) { } + + ~SQLQueryHolderTask(); bool Execute() override; QueryResultHolderFuture GetFuture() { return m_result.get_future(); } - }; -#endif
\ No newline at end of file +#endif |
