Hello community,
here is the log from the commit of package cinnamon-menus for openSUSE:Factory checked in at 2016-06-02 09:39:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-menus (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-menus.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-menus"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-menus/cinnamon-menus.changes 2016-05-29 03:12:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cinnamon-menus.new/cinnamon-menus.changes 2016-06-02 09:39:51.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Jun 1 12:43:15 UTC 2016 - sor.alexei@meowr.ru
+
+- Update to version 3.0.2:
+ * Go back to loading .desktop files as GDesktopAppInfo – this
+ is the only way g_desktop_app_info_get_filename() will work
+ properly.
+
+-------------------------------------------------------------------
Old:
----
cinnamon-menus-3.0.1.tar.gz
New:
----
cinnamon-menus-3.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-menus.spec ++++++
--- /var/tmp/diff_new_pack.V46DtU/_old 2016-06-02 09:39:52.000000000 +0200
+++ /var/tmp/diff_new_pack.V46DtU/_new 2016-06-02 09:39:52.000000000 +0200
@@ -20,7 +20,7 @@
%define soname libcinnamon-menu-3
%define sover 0
Name: cinnamon-menus
-Version: 3.0.1
+Version: 3.0.2
Release: 0
Summary: A menu system for the Cinnamon Desktop
License: LGPL-2.1+
++++++ cinnamon-menus-3.0.1.tar.gz -> cinnamon-menus-3.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-menus-3.0.1/configure.ac new/cinnamon-menus-3.0.2/configure.ac
--- old/cinnamon-menus-3.0.1/configure.ac 2016-05-23 13:55:09.000000000 +0200
+++ new/cinnamon-menus-3.0.2/configure.ac 2016-05-30 16:47:10.000000000 +0200
@@ -1,6 +1,6 @@
AC_PREREQ(2.62)
-AC_INIT([cinnamon-menus], [3.0.1])
+AC_INIT([cinnamon-menus], [3.0.2])
AC_CONFIG_SRCDIR(libmenu/gmenu-tree.h)
AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-menus-3.0.1/debian/changelog new/cinnamon-menus-3.0.2/debian/changelog
--- old/cinnamon-menus-3.0.1/debian/changelog 2016-05-23 13:55:09.000000000 +0200
+++ new/cinnamon-menus-3.0.2/debian/changelog 2016-05-30 16:47:10.000000000 +0200
@@ -1,3 +1,11 @@
+cinnamon-menus (3.0.2) sarah; urgency=medium
+
+ [ Michael Webster ]
+ * Fix a couple issues with incorrect result evaluations when loading desktop files caused by 44ee2de737e53b0
+ * Revert 44ee2de737e53b and go back to loading .desktop files *as* GDesktopAppInfo - this is the only way g_desktop_app_info_get_filename() will work properly.
+
+ -- Clement Lefebvre Mon, 30 May 2016 15:45:57 +0100
+
cinnamon-menus (3.0.1) sarah; urgency=medium
[ Michael Webster ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-menus-3.0.1/libmenu/desktop-entries.c new/cinnamon-menus-3.0.2/libmenu/desktop-entries.c
--- old/cinnamon-menus-3.0.1/libmenu/desktop-entries.c 2016-05-23 13:55:09.000000000 +0200
+++ new/cinnamon-menus-3.0.2/libmenu/desktop-entries.c 2016-05-30 16:47:10.000000000 +0200
@@ -266,65 +266,54 @@
static DesktopEntryResultCode
desktop_entry_load (DesktopEntry *entry)
{
- DesktopEntryResultCode rescode = DESKTOP_ENTRY_LOAD_FAIL_OTHER;
-
if (strstr (entry->path, "/menu-xdg/"))
- return rescode;
-
+ return DESKTOP_ENTRY_LOAD_FAIL_OTHER;
if (entry->type == DESKTOP_ENTRY_DESKTOP)
{
GKeyFile *key_file = NULL;
DesktopEntryDesktop *entry_desktop = (DesktopEntryDesktop*)entry;
+ const char *categories_str;
- key_file = g_key_file_new ();
-
- if (g_key_file_load_from_file (key_file, entry->path, 0, NULL))
+ entry_desktop->appinfo = g_desktop_app_info_new_from_filename (entry->path);
+ if (!entry_desktop->appinfo ||
+ !g_app_info_get_name (G_APP_INFO (entry_desktop->appinfo)) ||
+ !g_app_info_get_executable (G_APP_INFO (entry_desktop->appinfo)))
{
- entry_desktop->appinfo = g_desktop_app_info_new_from_keyfile (key_file);
-
- if (!entry_desktop->appinfo ||
- !g_app_info_get_name (G_APP_INFO (entry_desktop->appinfo)) ||
- !g_app_info_get_executable (G_APP_INFO (entry_desktop->appinfo)))
- {
- menu_verbose ("Failed to load appinfo for \"%s\"\n", entry->path);
- rescode = DESKTOP_ENTRY_LOAD_FAIL_APPINFO;
- }
- else
- {
- const char *categories_str;
- categories_str = g_desktop_app_info_get_categories (entry_desktop->appinfo);
+ menu_verbose ("Failed to load \"%s\"\n", entry->path);
+ return DESKTOP_ENTRY_LOAD_FAIL_APPINFO;
+ }
- if (categories_str)
- {
- char **categories;
- int i;
+ categories_str = g_desktop_app_info_get_categories (entry_desktop->appinfo);
+ if (categories_str)
+ {
+ char **categories;
+ int i;
- categories = g_strsplit (categories_str, ";", -1);
- entry_desktop->categories = g_new0 (GQuark, g_strv_length (categories) + 1);
+ categories = g_strsplit (categories_str, ";", -1);
+ entry_desktop->categories = g_new0 (GQuark, g_strv_length (categories) + 1);
- for (i = 0; categories[i]; i++)
- entry_desktop->categories[i] = g_quark_from_string (categories[i]);
+ for (i = 0; categories[i]; i++)
+ entry_desktop->categories[i] = g_quark_from_string (categories[i]);
- g_strfreev (categories);
- }
+ g_strfreev (categories);
+ }
- entry_desktop->showin = key_file_get_show_in (key_file);
+ key_file = g_key_file_new ();
- rescode = DESKTOP_ENTRY_LOAD_SUCCESS;
- }
- }
+ if (!g_key_file_load_from_file (key_file, entry->path, 0, NULL))
+ entry_desktop->showin = TRUE;
else
- {
- menu_verbose ("Failed to read contents of \"%s\"\n", entry->path);
- rescode = DESKTOP_ENTRY_LOAD_FAIL_OTHER;
- }
+ entry_desktop->showin = key_file_get_show_in (key_file);
+
g_key_file_free (key_file);
+
+ return DESKTOP_ENTRY_LOAD_SUCCESS;
}
else if (entry->type == DESKTOP_ENTRY_DIRECTORY)
{
GKeyFile *key_file = NULL;
GError *error = NULL;
- rescode = DESKTOP_ENTRY_LOAD_SUCCESS;
+ DesktopEntryResultCode rescode = DESKTOP_ENTRY_LOAD_SUCCESS;
key_file = g_key_file_new ();
@@ -355,18 +344,13 @@
else
menu_verbose ("Failed to load \"%s\"\n", entry->path);
}
+
+ return rescode;
}
else
g_assert_not_reached ();
- return rescode;
-}
-
-static gboolean
-code_failed (DesktopEntryResultCode code)
-{
- return code == DESKTOP_ENTRY_LOAD_FAIL_OTHER ||
- code == DESKTOP_ENTRY_LOAD_FAIL_APPINFO;
+ return DESKTOP_ENTRY_LOAD_FAIL_OTHER;
}
DesktopEntry *
@@ -405,7 +389,7 @@
code = desktop_entry_load (retval);
*res_code = code;
- if (code_failed (code))
+ if (code < DESKTOP_ENTRY_LOAD_SUCCESS)
{
desktop_entry_unref (retval);
return NULL;
@@ -447,7 +431,7 @@
else
g_assert_not_reached ();
- if (code_failed (desktop_entry_load (entry)))
+ if (desktop_entry_load (entry) < DESKTOP_ENTRY_LOAD_SUCCESS)
{
desktop_entry_unref (entry);
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-menus-3.0.1/libmenu/desktop-entries.h new/cinnamon-menus-3.0.2/libmenu/desktop-entries.h
--- old/cinnamon-menus-3.0.1/libmenu/desktop-entries.h 2016-05-23 13:55:09.000000000 +0200
+++ new/cinnamon-menus-3.0.2/libmenu/desktop-entries.h 2016-05-30 16:47:10.000000000 +0200
@@ -33,9 +33,9 @@
typedef enum
{
- DESKTOP_ENTRY_LOAD_SUCCESS = 0,
- DESKTOP_ENTRY_LOAD_FAIL_OTHER,
- DESKTOP_ENTRY_LOAD_FAIL_APPINFO
+ DESKTOP_ENTRY_LOAD_FAIL_OTHER = 0,
+ DESKTOP_ENTRY_LOAD_FAIL_APPINFO,
+ DESKTOP_ENTRY_LOAD_SUCCESS
} DesktopEntryResultCode;
typedef struct DesktopEntry DesktopEntry;