| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Because it has only one parameter.
Noticed by clang-tidy.
|
|
|
|
| |
Found by clang-tidy.
|
|
|
|
| |
Found by clang-tidy.
|
| |
|
|
|
|
|
| |
I don't think there is any reason not to.
Noticed by clang-tidy.
|
|
|
|
| |
Noticed by clang-tidy.
|
|
|
|
|
| |
Because deleting null is allowed.
Noticed by clang-tidy.
|
|
|
|
|
| |
Because it can take just one argument.
Noticed by clang-tidy.
|
|
|
|
| |
Noticed by clang-tidy.
|
|
|
|
| |
Noticed by clang-tidy.
|
|
|
|
| |
Noticed by clang-tidy.
|
|
|
|
| |
Noticed by clang-tidy.
|
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
| |
They are not used in libsigc++3. Bug 784550
|
|
|
|
| |
Call it both during signal emission and otherwise. Bug 784550
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
We don't actually call the function, but it avoids an inspection
warning from Jetbrains CLion, and doesn't seem unreasonable.
|
|
|
|
| |
Found by Jetbrains CLion.
|
|
|
|
|
| |
The test_functor_trait project was removed, so it ought to be removed from
MSVC_Net2017/filelist.am as well.
|
|
|
|
|
| |
Numerous headers have been added or deleted during the development phase
of 3.0, so make sure we are copying the right items.
|
|
|
|
| |
This makes it clearer to people that this is 3.x-to-be, not 2.x.
|
| |
|
|
|
|
|
| |
slot_rep::notify() has been renamed to notify_slot_rep_invalidated(),
but the name was not updated in all comments.
|
|
|
|
| |
because clone() is the usual name of such a function. Bug 777618
|
|
|
|
|
|
| |
* sigc++/functors/slot_base.h:
* sigc++/functors/slot.h: Make ~slot_rep(), slot_rep::destroy() and
slot_rep::dup() virtual. Bug 777618
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This shell script runs the test cases with valgrind, searching for
memory leaks. Bug 775871
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Noticed by cppcheck.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Found by CLion's code inspection.
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
|
|
|
| |
This seems cleaner.
|
|
|
|
|
| |
Instead of connection deriving from notifiable and setting/unsetting
its own notification callbacks. This simplifies the code.
|
|
|
|
|
| |
As a simpler way to null a pointer to an object when that object
is deleted.
|
|
|
|
| |
This no longer needs to (or can be) created from an iterator.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|