diff options
author | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2022-08-15 15:35:05 +0200 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2022-08-15 15:35:05 +0200 |
commit | cd68de2df3b9e80b5b25a087fbf94b432b9ef84b (patch) | |
tree | 5105f737e7d8d36c131fbdedfd7ecab43feec6e2 | |
parent | b995711638f9fb4f72b053cd25d59dc229b8e551 (diff) | |
download | sigc++-libsigc++-2-10.tar.gz |
Fix build with -Dbuild-deprecated-api=falselibsigc++-2-10
Fixes #82
-rw-r--r-- | examples/meson.build | 2 | ||||
-rw-r--r-- | meson.build | 2 | ||||
-rw-r--r-- | tests/test_disconnect.cc | 15 |
3 files changed, 17 insertions, 2 deletions
diff --git a/examples/meson.build b/examples/meson.build index c55bfdd..3c575ae 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -20,7 +20,7 @@ foreach ex : examples endforeach exe_file = executable(ex_name, ex_sources, - cpp_args: '-DSIGCXX_DISABLE_DEPRECATED', + cpp_args: '-DSIGCXX_DISABLE_DEPRECATED=1', dependencies: sigcxx_own_dep, implicit_include_directories: false, build_by_default: build_examples diff --git a/meson.build b/meson.build index 97096be..79e6c67 100644 --- a/meson.build +++ b/meson.build @@ -202,7 +202,7 @@ pkg_conf_data.set('PACKAGE_VERSION', meson.project_version()) pkg_conf_data.set('SIGCXX_API_VERSION', sigcxx_api_version) if not build_deprecated_api - pkg_conf_data.set('SIGCXX_DISABLE_DEPRECATED', true) + pkg_conf_data.set('SIGCXX_DISABLE_DEPRECATED', 1) endif pkg_conf_data.set('SIGCXX_MAJOR_VERSION', sigcxx_major_version) pkg_conf_data.set('SIGCXX_MINOR_VERSION', sigcxx_minor_version) diff --git a/tests/test_disconnect.cc b/tests/test_disconnect.cc index 85b1680..2d040d8 100644 --- a/tests/test_disconnect.cc +++ b/tests/test_disconnect.cc @@ -2,6 +2,12 @@ * Assigned to public domain. Use as you wish without restriction. */ +// sigc::signal<>.slots() is deprecated, but let's keep the test if possible. +// If libsigc++ is configured with -Dbuild-deprecated-api=false +// (--disable-deprecated-api), SIGCXX_DISABLE_DEPRECATED is defined in +// sigc++config.h. An undef at the start of this file has no effect. +#undef SIGCXX_DISABLE_DEPRECATED + #include "testutilities.h" #include <sigc++/trackable.h> #include <sigc++/signal.h> @@ -103,11 +109,20 @@ int main(int argc, char* argv[]) util->check_result(result_stream, "sig is connected to foo, bar (size=2): foo(2) bar(2) "); A a; // iterators stay valid after further connections. +#ifndef SIGCXX_DISABLE_DEPRECATED cona = sig.slots().insert(conbar, sigc::mem_fun1(a, &A::foo)); +#else + cona = sig.connect(sigc::mem_fun1(a, &A::foo)); +#endif result_stream << "sig is connected to foo, A::foo, bar (size=" << sig.size() << "): "; sig(3); +#ifndef SIGCXX_DISABLE_DEPRECATED util->check_result(result_stream, "sig is connected to foo, A::foo, bar (size=3): foo(3) A::foo(3) bar(3) "); +#else + util->check_result(result_stream, + "sig is connected to foo, A::foo, bar (size=3): foo(3) bar(3) A::foo(3) "); +#endif conbar->disconnect(); // manual disconnection result_stream << "sig is connected to foo, A::foo (size=" << sig.size() << "): "; |