From 7a286e548e28491605d31f5e4b9306191d2ae0ae Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Fri, 24 Jul 2020 16:18:17 -0400 Subject: [PATCH] fix: creating a copy of signalstring --- vendor/DOtherSide/lib/src/DOtherSide.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vendor/DOtherSide/lib/src/DOtherSide.cpp b/vendor/DOtherSide/lib/src/DOtherSide.cpp index c31198388e..2b8612d472 100644 --- a/vendor/DOtherSide/lib/src/DOtherSide.cpp +++ b/vendor/DOtherSide/lib/src/DOtherSide.cpp @@ -766,7 +766,8 @@ bool dos_qurl_isValid(const ::DosQUrl *vptr) void dos_signal(::DosQObject *vptr, const char *signal, const char *slot) // { auto qobject = static_cast(vptr); - QMetaObject::invokeMethod(qobject, slot, Qt::QueuedConnection, Q_ARG(QString, signal)); + std::string copy = signal; // signal comes from nim, and might be GC. Creating a copy (QT will handle the freeing) + QMetaObject::invokeMethod(qobject, slot, Qt::QueuedConnection, Q_ARG(QString, copy.c_str())); } void dos_qmetaobject_delete(::DosQMetaObject *vptr)