[arch-commits] Commit in ring-gnome/trunk (2 files)

Baptiste Jonglez zorun at archlinux.org
Wed Apr 18 07:51:00 UTC 2018


    Date: Wednesday, April 18, 2018 @ 07:50:59
  Author: zorun
Revision: 316849

upgpkg: ring-gnome 3:20180414.2.2c51f89-2

Fix FS#58234 (segfault issue)

Added:
  ring-gnome/trunk/0001-settings-check-if-g_get_user_special_dir-fails.patch
Modified:
  ring-gnome/trunk/PKGBUILD

-----------------------------------------------------------+
 0001-settings-check-if-g_get_user_special_dir-fails.patch |   36 ++++++++++++
 PKGBUILD                                                  |   13 +++-
 2 files changed, 46 insertions(+), 3 deletions(-)

Added: 0001-settings-check-if-g_get_user_special_dir-fails.patch
===================================================================
--- 0001-settings-check-if-g_get_user_special_dir-fails.patch	                        (rev 0)
+++ 0001-settings-check-if-g_get_user_special_dir-fails.patch	2018-04-18 07:50:59 UTC (rev 316849)
@@ -0,0 +1,36 @@
+From 1946b536d75fc47f16bf3accb9b18c98145280b1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
+ <sebastien.blin at savoirfairelinux.com>
+Date: Tue, 17 Apr 2018 09:47:47 -0400
+Subject: [PATCH] settings: check if g_get_user_special_dir fails
+
+g_get_user_special_dir can return a nullptr, so the string
+construction will fails badly. Must be checked or fallback to
+G_USER_DIRECTORY_DESKTOP ($HOME/Desktop)
+
+Change-Id: I04b72221f14091db2cfd880a9b35b8ab92e46ae4
+Reviewed-by: Philippe Gorley <philippe.gorley at savoirfairelinux.com>
+---
+ src/generalsettingsview.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/generalsettingsview.cpp b/src/generalsettingsview.cpp
+index 4c6a15a..4fa2d9c 100644
+--- a/src/generalsettingsview.cpp
++++ b/src/generalsettingsview.cpp
+@@ -248,7 +248,11 @@ general_settings_view_init(GeneralSettingsView *self)
+     auto* download_directory_variant = g_settings_get_value(priv->settings, "download-folder");
+     char* download_directory_value;
+     g_variant_get(download_directory_variant, "&s", &download_directory_value);
+-    std::string default_download_dir = g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD);
++    std::string default_download_dir = {};
++    if (auto* directory = g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD))
++        default_download_dir = directory;
++    else
++        default_download_dir = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
+     auto current_value = std::string(download_directory_value);
+     if (current_value.empty()) {
+         g_settings_set_value(priv->settings, "download-folder", g_variant_new("s", default_download_dir.c_str()));
+-- 
+2.17.0
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-04-18 07:43:38 UTC (rev 316848)
+++ PKGBUILD	2018-04-18 07:50:59 UTC (rev 316849)
@@ -2,7 +2,7 @@
 
 pkgname=ring-gnome
 pkgver=20180414.2.2c51f89
-pkgrel=1
+pkgrel=2
 epoch=3
 pkgdesc="Ring is a free and universal communication platform which preserves the users' privacy and freedoms (GNOME client)"
 arch=("x86_64")
@@ -14,9 +14,16 @@
          "qt5-base" "gtk-update-icon-cache" "desktop-file-utils"
          "evolution-data-server" "libnotify" "libcanberra" "libnm")
 makedepends=('git' 'cmake')
-source=("git+https://gerrit-ring.savoirfairelinux.com/ring-client-gnome#commit=1e2dd354a324c37561500440524864d778f3b614")
-sha256sums=('SKIP')
+source=("git+https://gerrit-ring.savoirfairelinux.com/ring-client-gnome#commit=1e2dd354a324c37561500440524864d778f3b614"
+        "0001-settings-check-if-g_get_user_special_dir-fails.patch")
+sha256sums=('SKIP'
+            'f6e36863d5d4e7a6d7e5a29abb46a674186f2842dadea28ab1fd57a267b0bc5b')
 
+prepare() {
+  cd "${srcdir}/ring-client-gnome"
+  patch -p1 < "${srcdir}/0001-settings-check-if-g_get_user_special_dir-fails.patch"
+}
+
 build() {
   cd "ring-client-gnome"
 



More information about the arch-commits mailing list