Hello community,

here is the log from the commit of package epiphany for openSUSE:Factory 
checked in at 2019-06-24 21:52:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/epiphany (Old)
 and      /work/SRC/openSUSE:Factory/.epiphany.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "epiphany"

Mon Jun 24 21:52:13 2019 rev:165 rq:711471 version:3.32.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/epiphany/epiphany.changes        2019-06-13 
23:02:41.059427958 +0200
+++ /work/SRC/openSUSE:Factory/.epiphany.new.4615/epiphany.changes      
2019-06-24 21:53:30.248112547 +0200
@@ -1,0 +2,7 @@
+Wed Jun 19 20:04:45 UTC 2019 - Bjørn Lie <bjorn....@gmail.com>
+
+- Add epiphany-web-app-utils_Fix-crash.patch: Fix crash when web
+  app profile lacks .app file and broken web apps should crash in a
+  nicer way.
+
+-------------------------------------------------------------------

New:
----
  epiphany-web-app-utils_Fix-crash.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ epiphany.spec ++++++
--- /var/tmp/diff_new_pack.myUHUF/_old  2019-06-24 21:53:31.116113217 +0200
+++ /var/tmp/diff_new_pack.myUHUF/_new  2019-06-24 21:53:31.120113220 +0200
@@ -25,6 +25,8 @@
 URL:            https://wiki.gnome.org/Apps/Web
 Source0:        
https://download.gnome.org/sources/epiphany/3.32/%{name}-%{version}.tar.xz
 Source99:       %{name}-rpmlintrc
+# PATCH-FIX-UPSTREAM epiphany-web-app-utils_Fix-crash.patch -- Add 2 upstream 
crash fixes.
+Patch0:         epiphany-web-app-utils_Fix-crash.patch
 
 BuildRequires:  fdupes
 BuildRequires:  meson >= 0.42.0

++++++ epiphany-web-app-utils_Fix-crash.patch ++++++
>From 4111f158a9498898a27535fc68914738002f6631 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanz...@igalia.com>
Date: Wed, 19 Jun 2019 12:46:37 -0500
Subject: [PATCH] web-app-utils: Fix crash when web app profile lacks .app file

We free with the wrong free function
---
 lib/ephy-web-app-utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/ephy-web-app-utils.c b/lib/ephy-web-app-utils.c
index 64ace3fc3..715fd4ef1 100644
--- a/lib/ephy-web-app-utils.c
+++ b/lib/ephy-web-app-utils.c
@@ -627,7 +627,7 @@ ephy_web_application_get_application_list_internal 
(gboolean only_legacy)
           if (g_file_test (app_file, G_FILE_TEST_EXISTS))
             applications = g_list_prepend (applications, app);
           else
-            g_object_unref (app);
+            g_free (app);
         } else
           applications = g_list_prepend (applications, app);
       }
-- 
2.21.0


>From 75f0212b8edbf1771cacc08a195546bee3e0df63 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanz...@igalia.com>
Date: Tue, 18 Jun 2019 21:15:03 +0000
Subject: [PATCH] Broken web apps should crash in a nicer way

Although #713 is fixed for new users, anyone who previously suffered
from a broken web app migration is doomed to eternal crashes. We
probably can't reasonably recover the broken profile dir, but we should
at least try to warn users what is going on.


(cherry picked from commit 53724537137c593076e9ca58add46387babdf16b)
---
 lib/ephy-settings.c | 36 +++++++++++++++++++++++++++++-------
 1 file changed, 29 insertions(+), 7 deletions(-)

diff --git a/lib/ephy-settings.c b/lib/ephy-settings.c
index 97e6a631a..f7e5ead69 100644
--- a/lib/ephy-settings.c
+++ b/lib/ephy-settings.c
@@ -89,15 +89,37 @@ ephy_settings_get (const char *schema)
   ephy_settings_init ();
 
   gsettings = g_hash_table_lookup (settings, schema);
-
-  if (gsettings == NULL) {
-    gsettings = g_settings_new (schema);
-    if (gsettings == NULL)
-      g_warning ("Invalid schema %s requested", schema);
-    else
-      g_hash_table_insert (settings, g_strdup (schema), gsettings);
+  if (gsettings)
+    return gsettings;
+
+  if (strcmp (schema, EPHY_PREFS_WEB_APP_SCHEMA) == 0) {
+    /* EPHY_PREFS_WEB_APP_SCHEMA won't be added to the settings table if the
+     * ephy_profile_dir_is_web_application() is FALSE. But we can still get
+     * here in EPHY_EMBED_SHELL_MODE_APPLICATION if the profile dir is broken
+     * such that its .app file is missing. This includes any web apps created 
by
+     * Epiphany 3.30 or earlier that were migrated to 3.32 before 3.32.3 before
+     * the main profile migration. This generally means anybody using Epiphany
+     * only for web apps has wound up with broken web apps after the migration.
+     *
+     * We can only crash, but it's nicer to crash here rather than crash later.
+     *
+     * https://gitlab.gnome.org/GNOME/epiphany/issues/713
+     */
+    g_error ("Epiphany is trying to access web app settings outside web app"
+             " mode. Your web app may be broken. If so, you must delete it and"
+             " recreate. See epiphany#713.");
   }
 
+  /* schema must not be relocatable, or g_settings_new() will crash. */
+  for (guint i = 0; i < G_N_ELEMENTS (ephy_prefs_relocatable_schemas); i++)
+    g_assert (strcmp (schema, ephy_prefs_relocatable_schemas[i].schema) != 0);
+
+  gsettings = g_settings_new (schema);
+  if (gsettings == NULL)
+    g_warning ("Invalid schema %s requested", schema);
+  else
+    g_hash_table_insert (settings, g_strdup (schema), gsettings);
+
   return gsettings;
 }
 
-- 
2.21.0

Reply via email to