summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch
blob: ea644fb985a5e04852f3d0fc649ccf937e09353b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
From 49f435217873e679b142f64d3e7def919fb642bb Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@igalia.com>
Date: Wed, 8 May 2019 15:58:32 +0000
Subject: [PATCH] web-app-utils: Clean up ephy_web_application_create()

Fixes #764

(cherry picked from commit 4e998d45e4cc549a7ca561a33895b0fbcf7ba6bb)
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/epiphany/commit/a6a022c9c498ad5dcf7f2220644a7520df74ca31]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 lib/ephy-web-app-utils.c | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/lib/ephy-web-app-utils.c b/lib/ephy-web-app-utils.c
index 97f3f24..fc68a96 100644
--- a/lib/ephy-web-app-utils.c
+++ b/lib/ephy-web-app-utils.c
@@ -374,46 +374,42 @@ ephy_web_application_create (const char *id,
                              const char *name,
                              GdkPixbuf  *icon)
 {
-  char *profile_dir;
-  char *desktop_file_path = NULL;
+  g_autofree char *app_file = NULL;
+  g_autofree char *profile_dir = NULL;
+  g_autofree char *desktop_file_path = NULL;
 
   /* If there's already a WebApp profile for the contents of this
    * view, do nothing. */
   profile_dir = ephy_web_application_get_profile_directory (id);
   if (g_file_test (profile_dir, G_FILE_TEST_IS_DIR)) {
     g_warning ("Profile directory %s already exists", profile_dir);
-    goto out;
+    return NULL;
   }
 
   /* Create the profile directory, populate it. */
   if (g_mkdir_with_parents (profile_dir, 488) == -1) {
     g_warning ("Failed to create directory %s", profile_dir);
-    goto out;
+    return NULL;
   }
 
   /* Skip migration for new web apps. */
   ephy_profile_utils_set_migration_version_for_profile_dir (EPHY_PROFILE_MIGRATION_VERSION, profile_dir);
 
   /* Create an .app file. */
-  g_autofree char *app_file = g_build_filename (profile_dir, ".app", NULL);
+  app_file = g_build_filename (profile_dir, ".app", NULL);
   int fd = g_open (app_file, O_WRONLY|O_CREAT|O_TRUNC, 0644);
   if (fd < 0) {
-    LOG ("Failed to create .app file: %s", g_strerror (errno));
-    goto out;
-  } else {
-    close (fd);
+    g_warning ("Failed to create .app file: %s", g_strerror (errno));
+    return NULL;
   }
+  close (fd);
 
   /* Create the deskop file. */
   desktop_file_path = create_desktop_file (id, name, address, profile_dir, icon);
   if (desktop_file_path)
     ephy_web_application_initialize_settings (profile_dir);
 
- out:
-  if (profile_dir)
-    g_free (profile_dir);
-
-  return desktop_file_path;
+  return g_steal_pointer (&desktop_file_path);
 }
 
 char *
-- 
2.21.0