post_t's copy constructor wasn't copying xdata_

This commit is contained in:
John Wiegley 2012-03-13 00:03:56 -05:00
parent 72fc1824d0
commit 59cbcf703c
2 changed files with 8 additions and 1 deletions

View file

@ -132,7 +132,7 @@ public:
TRACE_DTOR(item_t);
}
void copy_details(const item_t& item)
virtual void copy_details(const item_t& item)
{
set_flags(item.flags());
set_state(item.state());

View file

@ -95,6 +95,7 @@ public:
xdata_(post.xdata_)
{
TRACE_CTOR(post_t, "copy");
copy_details(post);
}
virtual ~post_t() {
TRACE_DTOR(post_t);
@ -141,6 +142,12 @@ public:
std::size_t xact_id() const;
std::size_t account_id() const;
virtual void copy_details(const item_t& item) {
const post_t& post(dynamic_cast<const post_t&>(item));
xdata_ = post.xdata_;
item_t::copy_details(item);
}
bool valid() const;
struct xdata_t : public supports_flags<uint_least16_t>