2017-02-14 Murray Cumming 2.99.8 2017-02-13 Kjell Ahlstedt slot_rep: Fix the notify_slot_rep_invalidated() name in comments slot_rep::notify() has been renamed to notify_slot_rep_invalidated(), but the name was not updated in all comments. 2017-02-13 Kjell Ahlstedt slot_rep: Rename dup() to clone() because clone() is the usual name of such a function. Bug 777618 2017-02-13 Kjell Ahlstedt slot_rep: Make destructor, destroy() and dup() virtual * sigc++/functors/slot_base.h: * sigc++/functors/slot.h: Make ~slot_rep(), slot_rep::destroy() and slot_rep::dup() virtual. Bug 777618 2016-12-19 Chun-wei Fan Visual Studio builds: Rename MSVC_Net2013 to MSVC_Net2017 Since libsigc++-3.0 will require Visual Studio 2017 to build, we ought to rename MSVC_Net2013 to MSVC_Net2017 so that it is clear to people, and let them know that it is the case in README. 2016-12-11 Kjell Ahlstedt Add tests/memleakcheck.sh This shell script runs the test cases with valgrind, searching for memory leaks. Bug 775871 2016-12-11 Kjell Ahlstedt signal_impl: Use std::weak_ptr in connected slots A signal_impl object shall not store std::shared_ptr to itself via connected slots. It results in memory leaks. Use std::weak_ptr in the self_and_iter struct. Bug 775871 2016-12-08 Kjell Ahlstedt signal_impl::clear(): Really avoid erasing the slots prematurely The call signal_impl_exec_holder(this) creates a signal_impl_exec_holder which is immediately destroyed. It does not stop signal_impl::notify() from erasing the slots. Create a signal_impl_exec_holder that exists until the end of clear(). 2016-12-05 Chun-wei Fan Visual Studio builds: Use Visual Studio 2017. libsigc++-3.x requires C++-14 features which are only adequately supported on Visual Studio 2017, so update the project settings to Visual Studio 2017. Note that the 2017 CRT still makes use of the 2015 CRT as they aim to be compatiable with each other. 2016-11-23 Murray Cumming tests: Catch exceptions by const ref. Noticed by cppcheck. 2016-11-20 Christophe Lermytte Make --disable-benchmark work Currently, when calling ./configure, the possible outcomes of the enable_benchmark variable are: ./configure -> "" ./configure --enable-benchmark -> "yes" ./configure --enable-benchmark=yes -> "yes" ./configure --enable-benchmark=no -> "yes" ./configure --enable-benchmark=hello -> "yes" ./configure --disable-benchmark -> "yes" With this commit, those values become ./configure -> "" ./configure --enable-benchmark -> "yes" ./configure --enable-benchmark=yes -> "yes" ./configure --enable-benchmark=no -> "no" ./configure --enable-benchmark=hello -> "hello" ./configure --disable-benchmark -> "no" Note that enable_benchmark is currently only being checked for being "yes" or not. Bug #774732 2016-07-28 Murray Cumming slot_rep::dup(): Remove an unnecessary static_cast. Found by CLion's code inspection. 2016-07-18 Kjell Ahlstedt Build: Fix silent builds * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds. Require mm-common 0.9.10 (not necessary for silent builds, but necessary when MM_AX_CXX_COMPILE_STDCXX is used). * docs/reference/Doxyfile.in: Set QUIET=YES. Update for doxygen 1.8.11 (not necessary for silent builds). Bug #768797 2016-07-06 Murray Cumming Correct a comment.