summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-14 16:28:44 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-14 17:36:12 -0500
commit9d5f14751fb209411872f202a8712ac84bec333e (patch)
treea998040a5fdd397ba6e384c939bfb575ee6fc6fb /gnu/packages
parent459d5187d9e9aa91d155db1204f1830845b9fe6b (diff)
downloadguix-9d5f14751fb209411872f202a8712ac84bec333e.tar.gz
gnu: jami: Fix crash on exit.
* gnu/packages/patches/jami-fix-crash-on-quit.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (jami): Apply it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/jami.scm4
-rw-r--r--gnu/packages/patches/jami-fix-crash-on-quit.patch34
2 files changed, 37 insertions, 1 deletions
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 21f8c07934..72282bc68e 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -560,7 +560,9 @@ decentralized calling using P2P-DHT.")
   (package
     (name "jami")
     (version %jami-version)
-    (source %jami-sources)
+    (source (origin
+              (inherit %jami-sources)
+              (patches (search-patches "jami-fix-crash-on-quit.patch"))))
     (build-system qt-build-system)
     (outputs '("out" "debug"))
     (arguments
diff --git a/gnu/packages/patches/jami-fix-crash-on-quit.patch b/gnu/packages/patches/jami-fix-crash-on-quit.patch
new file mode 100644
index 0000000000..c25bce588a
--- /dev/null
+++ b/gnu/packages/patches/jami-fix-crash-on-quit.patch
@@ -0,0 +1,34 @@
+Retrieved from:
+https://git.jami.net/savoirfairelinux/jami-client-qt/-/commit/83f68573324a453a6d26e025fd6439f175a79d1b.diff.
+
+With the 'client-qt' prefix added to match the file hierarchy of the release tarball.
+
+diff --git a/client-qt/src/mainapplication.cpp b/client-qt/src/mainapplication.cpp
+index 0c3209fc6fa7c528bec197f1cf9332758170441c..278f19287b86dd2c916935ab0930cbe0abb35d26 100644
+--- a/client-qt/src/mainapplication.cpp
++++ b/client-qt/src/mainapplication.cpp
+@@ -155,7 +155,11 @@ MainApplication::MainApplication(int& argc, char** argv)
+     QObject::connect(this, &QApplication::aboutToQuit, [this] { cleanup(); });
+ }
+ 
+-MainApplication::~MainApplication() {}
++MainApplication::~MainApplication()
++{
++    engine_.reset();
++    lrcInstance_.reset();
++}
+ 
+ bool
+ MainApplication::init()
+diff --git a/src/mainapplication.h b/src/mainapplication.h
+index 51306be829478b9fbc1c61a08aeb96938be26dac..4047e3abb3cfd3e6250387a37fa5a896e9bc4161 100644
+--- a/client-qt/src/mainapplication.h
++++ b/client-qt/src/mainapplication.h
+@@ -80,7 +80,6 @@ private:
+ private:
+     QScopedPointer<QFile> debugFile_;
+     QScopedPointer<QQmlApplicationEngine> engine_;
+-
+     QScopedPointer<LRCInstance> lrcInstance_;
+ 
+     QScopedPointer<ConnectivityMonitor> connectivityMonitor_;