diff options
author | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2022-05-30 18:38:28 +0200 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2022-05-30 18:38:28 +0200 |
commit | d6271316157b6478aca068b6f972da7e839fe90a (patch) | |
tree | a61ae2d296c39a3bb018194b72badd6a20401b55 | |
parent | 8fb78907ccf3c4425d23ba1555f365f22d376685 (diff) | |
download | sigc++-d6271316157b6478aca068b6f972da7e839fe90a.tar.gz |
test_limit_reference.cc: Don't use auto where a slot is required
The return values of sigc::bind() and sigc::bind_return() shall be
converted to sigc::slot, otherwise automatic disconnection does not work.
Fixes #44
-rw-r--r-- | tests/test_limit_reference.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/test_limit_reference.cc b/tests/test_limit_reference.cc index 8d1340d..a115d6d 100644 --- a/tests/test_limit_reference.cc +++ b/tests/test_limit_reference.cc @@ -14,6 +14,8 @@ class Base : virtual public sigc::trackable public: Base() {} + Base(const Base& src) = default; + Base& operator=(const Base& src) = default; Base(Base&& src) = delete; Base& operator=(Base&& src) = delete; }; @@ -47,11 +49,11 @@ main(int argc, char* argv[]) handler(); util->check_result(result_stream, "method()"); - auto param = sigc::bind(sigc::slot<void(Derived&)>(), std::ref(*instance)); + sigc::slot<void()> param = sigc::bind(sigc::slot<void(Derived&)>(), std::ref(*instance)); param(); util->check_result(result_stream, ""); - auto ret = sigc::bind_return(sigc::slot<void()>(), std::ref(*instance)); + sigc::slot<Derived()> ret = sigc::bind_return(sigc::slot<void()>(), std::ref(*instance)); ret(); util->check_result(result_stream, ""); |