summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@src.gnome.org>2005-05-04 21:09:49 +0000
committerMurray Cumming <murrayc@src.gnome.org>2005-05-04 21:09:49 +0000
commit521bc37df16b25abbb8615b586d6a0f6e80abf3d (patch)
treedd1ff050861bd3452cc7fc6d991e35782ec42dc9
parentd753e056a769ebf74722810f05622085cf745b9c (diff)
downloadsigc++-521bc37df16b25abbb8615b586d6a0f6e80abf3d.tar.gz
Added missing file
-rw-r--r--tests/test_virtualbase_delete_ref_param.cc41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/test_virtualbase_delete_ref_param.cc b/tests/test_virtualbase_delete_ref_param.cc
new file mode 100644
index 0000000..f65df0a
--- /dev/null
+++ b/tests/test_virtualbase_delete_ref_param.cc
@@ -0,0 +1,41 @@
+#include <sigc++/sigc++.h>
+
+
+class Base : virtual public sigc::trackable
+{
+public:
+
+};
+
+class Base2
+{
+public:
+ virtual ~Base2()
+ {}
+};
+
+
+class Derived
+ : virtual public Base,
+ public Base2
+{
+public:
+ Derived()
+ {
+
+ }
+};
+
+void handler(Derived &dlg)
+{}
+
+int main(int argc, char **argv)
+{
+ sigc::signal<void> signal_something;
+
+ Derived* param = new Derived();
+ signal_something.connect(sigc::bind( sigc::ptr_fun(&handler), sigc::ref(*param) ));
+ delete param;
+
+ return 0;
+}