diff options
author | Daniel Boles <dboles@src.gnome.org> | 2018-07-01 22:02:55 +0100 |
---|---|---|
committer | U-eagle\daniel.boles <daniel.boles@IM100881.eagle.local> | 2018-07-02 09:57:39 +0100 |
commit | a12ff14046f4e53a435076cdcdc18b5e0f327066 (patch) | |
tree | d2db0e3537c4b24eaa830a3f7d5848d693c7d4c8 | |
parent | dbf346a680e82100d766f389fef336e15bd2a522 (diff) | |
download | glibmm-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.hg | 4 |
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) }; |