summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2.99.102.99.10origin/variadicorigin/masterorigin/libsigc-2-6origin/libsigc-2-4origin/libsigc-2-2origin/libsigc-2-0origin/libsigc++-2-8origin/libsigc++-2-10origin/cmake-integrationorigin/c++17v4origin/c++17v3origin/c++17v2origin/c++17Murray Cumming2018-01-102-1/+8
|
* slot_base::set_parent(): Create a dummy slot_rep if necessaryKjell Ahlstedt2017-11-091-2/+15
| | | | | | set_parent() must always store the supplied parent pointer and cleanup function pointer, or else there may be a memory leak. The pointers are stored in slot_rep. Bug 167714
* visit_each.h: Add an #includeKjell Ahlstedt2017-11-091-0/+1
|
* 2.99.92.99.9Murray Cumming2017-08-072-1/+13
|
* Tests: Add comments by uses after move.Murray Cumming2017-07-213-6/+6
| | | | | | Because we really do want to test this. We do not explicitly promise that it's safe to use moved-from libsigc++ objects, but we choose to make it safe.
* signal_impl_exec_holder: Make a constructor explicit.Murray Cumming2017-07-211-1/+1
| | | | | Because it has only one parameter. Noticed by clang-tidy.
* trackable: Use emplace_back() instead of push_back().Murray Cumming2017-07-211-1/+1
| | | | Found by clang-tidy.
* slot_base: Destructor: No need for null check before delete.Murray Cumming2017-07-211-2/+1
| | | | Found by clang-tidy.
* signal.h: Correct some strange comment formatting.Murray Cumming2017-07-211-3/+4
|
* trackable: Make move operations noexcept.Murray Cumming2017-07-213-5/+9
| | | | | I don't think there is any reason not to. Noticed by clang-tidy.
* weak_raw_ptr: Minor use of autoMurray Cumming2017-07-211-1/+1
| | | | Noticed by clang-tidy.
* trackable: Don't bother checking for null before using delete.Murray Cumming2017-07-211-3/+1
| | | | | Because deleting null is allowed. Noticed by clang-tidy.
* track_obj_functor: Make the constructor explicit.Murray Cumming2017-07-211-1/+1
| | | | | Because it can take just one argument. Noticed by clang-tidy.
* tests: Initialize a member variable.Murray Cumming2017-07-211-1/+1
| | | | Noticed by clang-tidy.
* tests: Some use of auto.Murray Cumming2017-07-211-2/+2
| | | | Noticed by clang-tidy.
* tests: Make some casts explicit.Murray Cumming2017-07-213-3/+3
| | | | Noticed by clang-tidy.
* tests: Include cstring instead of string.hMurray Cumming2017-07-211-1/+1
| | | | Noticed by clang-tidy.
* Update method names in commentsKjell Ahlstedt2017-07-173-13/+15
| | | | | | | | | | Some method names have changed from libsigc++2 to libsigc++3, but not all comments have been changed accordingly. * sigc++/connection.h: Correct some parameter names in doxygen comments. connection::notify() has been replaced by a private method in weak_raw_ptr. * sigc++/signal_base.[cc|h]: signal_impl::notify() has been renamed notify_self_and_iter_of_invalidated_slot().
* Remove signal_base::erase() and signal_impl::erase()Kjell Ahlstedt2017-07-172-37/+1
| | | | They are not used in libsigc++3. Bug 784550
* test_signal: Test calls to signal_base::clear()Kjell Ahlstedt2017-07-171-0/+31
| | | | Call it both during signal emission and otherwise. Bug 784550
* signal_impl::clear(): Don't clear the slot list during signal emissionKjell Ahlstedt2017-07-171-3/+10
| | | | | | If signal_impl::clear() is called during signal emission, don't call slots_.clear(). Let signal_impl::sweep() erase all slots after the signal emission. Bug 784550
* tests: Implement a function.Murray Cumming2017-04-181-1/+1
| | | | | We don't actually call the function, but it avoids an inspection warning from Jetbrains CLion, and doesn't seem unreasonable.
* tests: Remove unnecessary includes.Murray Cumming2017-04-1831-93/+0
| | | | Found by Jetbrains CLion.
* MSVC_Net2017/filelist.am: Fix listingChun-wei Fan2017-03-161-2/+0
| | | | | The test_functor_trait project was removed, so it ought to be removed from MSVC_Net2017/filelist.am as well.
* Visual Studio builds: Update "install"Chun-wei Fan2017-03-141-1/+11
| | | | | Numerous headers have been added or deleted during the development phase of 3.0, so make sure we are copying the right items.
* Visual Studio builds: Rename libsigc++2 projects to libsigc++3Chun-wei Fan2017-03-1432-246/+30
| | | | This makes it clearer to people that this is 3.x-to-be, not 2.x.
* 2.99.82.99.8Murray Cumming2017-02-142-1/+23
|
* slot_rep: Fix the notify_slot_rep_invalidated() name in commentsKjell Ahlstedt2017-02-133-7/+7
| | | | | slot_rep::notify() has been renamed to notify_slot_rep_invalidated(), but the name was not updated in all comments.
* slot_rep: Rename dup() to clone()Kjell Ahlstedt2017-02-133-10/+10
| | | | because clone() is the usual name of such a function. Bug 777618
* slot_rep: Make destructor, destroy() and dup() virtualKjell Ahlstedt2017-02-132-46/+19
| | | | | | * sigc++/functors/slot_base.h: * sigc++/functors/slot.h: Make ~slot_rep(), slot_rep::destroy() and slot_rep::dup() virtual. Bug 777618
* Visual Studio builds: Rename MSVC_Net2013 to MSVC_Net2017Chun-wei Fan2016-12-1970-8/+8
| | | | | | 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.
* Add tests/memleakcheck.shKjell Ahlstedt2016-12-111-0/+23
| | | | | This shell script runs the test cases with valgrind, searching for memory leaks. Bug 775871
* signal_impl: Use std::weak_ptr<signal_impl> in connected slotsKjell Ahlstedt2016-12-111-6/+18
| | | | | | 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
* signal_impl::clear(): Really avoid erasing the slots prematurelyKjell Ahlstedt2016-12-081-1/+1
| | | | | | | 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().
* Visual Studio builds: Use Visual Studio 2017.Chun-wei Fan2016-12-0532-124/+120
| | | | | | | | | 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.
* tests: Catch exceptions by const ref.Murray Cumming2016-11-231-2/+2
| | | | Noticed by cppcheck.
* Make --disable-benchmark workChristophe Lermytte2016-11-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* slot_rep::dup(): Remove an unnecessary static_cast.Murray Cumming2016-07-281-1/+1
| | | | Found by CLion's code inspection.
* Build: Fix silent buildsKjell Ahlstedt2016-07-182-5/+12
| | | | | | | | | * 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
* Correct a comment.Murray Cumming2016-07-061-1/+1
|
* 2.99.7Murray Cumming2016-06-272-1/+13
|
* Remove trailing whitespace.Murray Cumming2016-05-162-8/+8
|
* slot_base: Use weak_raw_ptr instead of destroy_notify_struct.Murray Cumming2016-05-021-28/+6
| | | | This seems cleaner.
* connection: Use weak_raw_ptr for slot_base.Murray Cumming2016-05-022-28/+5
| | | | | Instead of connection deriving from notifiable and setting/unsetting its own notification callbacks. This simplifies the code.
* Added sigc::internal::weak_raw_ptr<>.Murray Cumming2016-05-026-2/+189
| | | | | As a simpler way to null a pointer to an object when that object is deleted.
* connection: Update the documentation.Murray Cumming2016-04-291-9/+2
| | | | This no longer needs to (or can be) created from an iterator.
* Docs: Fix some minor typos.Murray Cumming2016-04-294-4/+4
|
* Docs: Fix invokation->invocation typos.Murray Cumming2016-04-296-20/+20
|
* signal_base: Remove unnecessary trackable.h include.Murray Cumming2016-04-281-1/+0
|
* signal_base: Do not derive from trackable.Murray Cumming2016-04-282-4/+3
| | | | | | | | 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.