diff options
author | Murray Cumming <murrayc@murrayc.com> | 2016-04-28 12:55:13 +0200 |
---|---|---|
committer | Murray Cumming <murrayc@murrayc.com> | 2016-04-28 12:55:13 +0200 |
commit | a3e2fe669821c548efcdf474a3dbf592cc67dfd5 (patch) | |
tree | 27cbcaa995915725d164ab81e533855a68ab8549 | |
parent | 2f5d33724dd6806e4fc9b15c22ff15165a8780e9 (diff) | |
download | sigc++-a3e2fe669821c548efcdf474a3dbf592cc67dfd5.tar.gz |
signal_base: Do not derive from trackable.
Because we don't seem to actually use the trackable API when using
these objects. There was a call to notify_callbacks(), but that
cannot have done anything, because nothing registers any callbacks
with the base trackable, and now cannot possibly register any
callbacks, because it's no longer a trackable.
-rw-r--r-- | sigc++/signal_base.cc | 5 | ||||
-rw-r--r-- | sigc++/signal_base.h | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/sigc++/signal_base.cc b/sigc++/signal_base.cc index 94841be..e0dade2 100644 --- a/sigc++/signal_base.cc +++ b/sigc++/signal_base.cc @@ -204,11 +204,11 @@ signal_base::signal_base() noexcept { } -signal_base::signal_base(const signal_base& src) noexcept : trackable(), impl_(src.impl()) +signal_base::signal_base(const signal_base& src) noexcept : impl_(src.impl()) { } -signal_base::signal_base(signal_base&& src) : trackable(std::move(src)), impl_(std::move(src.impl_)) +signal_base::signal_base(signal_base&& src) : impl_(std::move(src.impl_)) { src.impl_ = nullptr; } @@ -296,7 +296,6 @@ signal_base::operator=(signal_base&& src) if (src.impl_ == impl_) return *this; - src.notify_callbacks(); impl_ = src.impl_; src.impl_ = nullptr; diff --git a/sigc++/signal_base.h b/sigc++/signal_base.h index 0c491fc..90fca8a 100644 --- a/sigc++/signal_base.h +++ b/sigc++/signal_base.h @@ -289,7 +289,7 @@ protected: * * @ingroup signal */ -struct SIGC_API signal_base : public trackable +struct SIGC_API signal_base { using size_type = std::size_t; |