summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjell Ahlstedt <kjellahlstedt@gmail.com>2022-05-30 18:38:28 +0200
committerKjell Ahlstedt <kjellahlstedt@gmail.com>2022-05-30 18:38:28 +0200
commitd6271316157b6478aca068b6f972da7e839fe90a (patch)
treea61ae2d296c39a3bb018194b72badd6a20401b55
parent8fb78907ccf3c4425d23ba1555f365f22d376685 (diff)
downloadsigc++-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.cc6
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, "");