[libsigcplusplus] signal_base: Do not derive from trackable.



commit a3e2fe669821c548efcdf474a3dbf592cc67dfd5
Author: Murray Cumming <murrayc murrayc com>
Date:   Thu Apr 28 12:55:13 2016 +0200

    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.

 sigc++/signal_base.cc |    5 ++---
 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;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]