Only allow deleting files that have been created by
authorMatthias Clasen <matthiasc@src.gnome.org>
Fri, 28 Nov 2008 07:27:13 +0000 (07:27 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 28 Nov 2008 07:27:13 +0000 (07:27 +0000)
        * gdesktopappinfo.c (g_app_info_can_delete): Only allow deleting
        files that have been created by g_app_info_create_from_commandline.

svn path=/trunk/; revision=7693

gio/ChangeLog
gio/gdesktopappinfo.c

index 03a8f82..b4a408e 100644 (file)
@@ -1,5 +1,10 @@
 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
 
+       * gdesktopappinfo.c (g_app_info_can_delete): Only allow deleting
+       files that have been created by g_app_info_create_from_commandline.
+
+2008-11-28  Matthias Clasen  <mclasen@redhat.com>
+
        Bug 541715 – win32 : patch for warnings and signature problems in 
        recent code
        
index dbf3867..ec85744 100644 (file)
@@ -1532,8 +1532,8 @@ g_desktop_app_info_remove_supports_type (GAppInfo    *appinfo,
 }
 
 static gboolean
-g_desktop_app_info_ensure_saved (GDesktopAppInfo *info,
-                                GError **error)
+g_desktop_app_info_ensure_saved (GDesktopAppInfo  *info,
+                                GError          **error)
 {
   GKeyFile *key_file;
   char *dirname;
@@ -1628,7 +1628,10 @@ g_desktop_app_info_can_delete (GAppInfo *appinfo)
   GDesktopAppInfo *info = G_DESKTOP_APP_INFO (appinfo);
 
   if (info->filename)
-    return g_access (info->filename, W_OK) == 0;
+    {
+      if (strstr (info->filename, "/userapp-"))
+        return g_access (info->filename, W_OK) == 0;
+    }
 
   return FALSE;
 }