summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Boles <dboles@src.gnome.org>2018-07-01 22:02:55 +0100
committerU-eagle\daniel.boles <daniel.boles@IM100881.eagle.local>2018-07-02 09:57:39 +0100
commita12ff14046f4e53a435076cdcdc18b5e0f327066 (patch)
treed2db0e3537c4b24eaa830a3f7d5848d693c7d4c8
parentdbf346a680e82100d766f389fef336e15bd2a522 (diff)
downloadglibmm-a12ff14046f4e53a435076cdcdc18b5e0f327066.tar.gz
SocketClient: Take copy in RefPtrs for signal args
Without doing so, the C++ arguments take ownership of the C GObjects passed to the handler, so both go out of scope on exiting the handler. https://gitlab.gnome.org/GNOME/glibmm/issues/28
-rw-r--r--gio/src/socketclient.hg4
1 files changed, 2 insertions, 2 deletions
diff --git a/gio/src/socketclient.hg b/gio/src/socketclient.hg
index 4b896a18..152b06fd 100644
--- a/gio/src/socketclient.hg
+++ b/gio/src/socketclient.hg
@@ -168,8 +168,8 @@ public:
_WRAP_PROPERTY("tls-validation-flags", TlsCertificateFlags)
_WRAP_PROPERTY("proxy-resolver", Glib::RefPtr<ProxyResolver>)
-#m4 _CONVERSION(`GSocketConnectable*',`const Glib::RefPtr<SocketConnectable>&',`Glib::wrap($3)')
-#m4 _CONVERSION(`GIOStream*',`const Glib::RefPtr<IOStream>&',`Glib::wrap($3)')
+#m4 _CONVERSION(`GSocketConnectable*',`const Glib::RefPtr<SocketConnectable>&',`Glib::wrap($3, true)')
+#m4 _CONVERSION(`GIOStream*',`const Glib::RefPtr<IOStream>&',`Glib::wrap($3, true)')
_WRAP_SIGNAL(void event(SocketClientEvent event, const Glib::RefPtr<SocketConnectable>& connectable, const Glib::RefPtr<IOStream>& connection), event, no_default_handler)
};