File tree Expand file tree Collapse file tree 2 files changed +11
-0
lines changed Expand file tree Collapse file tree 2 files changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -461,6 +461,12 @@ class signal_with_accumulator : public signal_base
461
461
}
462
462
463
463
/* * Creates a functor that calls emit() on this signal.
464
+ *
465
+ * @note %sigc::signal does not derive from sigc::trackable in sigc++3.
466
+ * If you connect the returned functor (calling %emit() on signal1) to
467
+ * another signal (signal2) and then delete signal1, you must manually
468
+ * disconnect signal1 from signal2 before you delete signal1.
469
+ *
464
470
* @code
465
471
* sigc::mem_fun(mysignal, &sigc::signal_with_accumulator::emit)
466
472
* @endcode
Original file line number Diff line number Diff line change @@ -266,6 +266,11 @@ struct SIGC_API signal_impl_holder
266
266
* @ref sigc::signal_with_accumulator::connect() "sigc::signal::connect()".
267
267
*/
268
268
269
+ // TODO: When we can break ABI, let signal_base derive from trackable again.
270
+ // It does in sigc++2. Otherwise the slot returned from signal::make_slot()
271
+ // is not automatically disconnected when the signal is deleted.
272
+ // https://github.com/libsigcplusplus/libsigcplusplus/issues/80
273
+
269
274
/* * Base class for the @ref sigc::signal<T_return(T_arg...)> "sigc::signal" template.
270
275
* %signal_base integrates most of the interface of the derived
271
276
* @ref sigc::signal<T_return(T_arg...)> "sigc::signal" template.
You can’t perform that action at this time.
0 commit comments