Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xapps for openSUSE:Factory checked in at 2021-03-06 21:18:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xapps (Old) and /work/SRC/openSUSE:Factory/.xapps.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xapps" Sat Mar 6 21:18:50 2021 rev:17 rq:877260 version:2.0.7 Changes: -------- --- /work/SRC/openSUSE:Factory/xapps/xapps.changes 2021-01-21 21:57:23.257857477 +0100 +++ /work/SRC/openSUSE:Factory/.xapps.new.2378/xapps.changes 2021-03-06 21:18:52.225250745 +0100 @@ -1,0 +2,10 @@ +Fri Mar 5 15:18:27 UTC 2021 - Aaron Stern <ukbeas...@protonmail.com> + +- Update to version 2.0.7. + * Don't build the gtk module for lib-only builds (flatpak). + * xapp-favorites.c: Don't crash trying to remove a previously-removed favorite. + * favorite-vfs-file-monitor.c: When handling folder updates, send out removals before additions. + * xapp-util: Add a function to check whether the session is fully active. + * xapp-sn-watcher.c: Skip the startup delay if the session has not finished loading. + +------------------------------------------------------------------- Old: ---- xapp-2.0.6.tar.gz New: ---- xapp-2.0.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xapps.spec ++++++ --- /var/tmp/diff_new_pack.ZMmjRc/_old 2021-03-06 21:18:52.669251200 +0100 +++ /var/tmp/diff_new_pack.ZMmjRc/_new 2021-03-06 21:18:52.669251200 +0100 @@ -20,7 +20,7 @@ %define soname libxapp %define sover 1 Name: xapps -Version: 2.0.6 +Version: 2.0.7 Release: 0 Summary: XApp library and common files License: GPL-3.0-or-later ++++++ xapp-2.0.6.tar.gz -> xapp-2.0.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/data/meson.build new/xapp-2.0.7/data/meson.build --- old/xapp-2.0.6/data/meson.build 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/data/meson.build 2021-02-26 12:36:06.000000000 +0100 @@ -1,4 +1,7 @@ -install_data(['80xapp-gtk3-module.sh'], - install_dir: join_paths(get_option('sysconfdir'), 'X11', 'xinit', 'xinitrc.d'), - install_mode: 'rwxr-xr-x' -) + +if not app_lib_only + install_data(['80xapp-gtk3-module.sh'], + install_dir: join_paths(get_option('sysconfdir'), 'X11', 'xinit', 'xinitrc.d'), + install_mode: 'rwxr-xr-x' + ) +endif \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/debian/changelog new/xapp-2.0.7/debian/changelog --- old/xapp-2.0.6/debian/changelog 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/debian/changelog 2021-02-26 12:36:06.000000000 +0100 @@ -1,3 +1,14 @@ +xapp (2.0.7) ulysa; urgency=medium + + [ Michael Webster ] + * Don't build the gtk module for lib-only builds (flatpak). + * xapp-favorites.c: Don't crash trying to remove a previously-removed favorite. + * favorite-vfs-file-monitor.c: When handling folder updates, send out removals before additions. + * xapp-util: Add a function to check whether the session is fully active. + * xapp-sn-watcher.c: Skip the startup delay if the session has not finished loading. + + -- Clement Lefebvre <r...@linuxmint.com> Fri, 26 Feb 2021 10:59:48 +0000 + xapp (2.0.6) ulyssa; urgency=medium [ Michael Webster ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/libxapp/favorite-vfs-file-monitor.c new/xapp-2.0.7/libxapp/favorite-vfs-file-monitor.c --- old/xapp-2.0.6/libxapp/favorite-vfs-file-monitor.c 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/libxapp/favorite-vfs-file-monitor.c 2021-02-26 12:36:06.000000000 +0100 @@ -206,6 +206,7 @@ XAppFavoriteInfo *info = (XAppFavoriteInfo *) ptr_a; const gchar *uri = (gchar *) ptr_b; + // GCompareFunc returns 0 when there's a match. return g_strcmp0 (info->uri, uri); } @@ -254,16 +255,16 @@ } } - for (iter = added; iter != NULL; iter = iter->next) + for (iter = removed; iter != NULL; iter = iter->next) { - XAppFavoriteInfo *added_info = (XAppFavoriteInfo *) iter->data; + XAppFavoriteInfo *removed_info = (XAppFavoriteInfo *) iter->data; - GFile *file = _favorite_vfs_file_new_for_info (added_info); + GFile *file = _favorite_vfs_file_new_for_info (removed_info); g_file_monitor_emit_event (G_FILE_MONITOR (monitor), file, NULL, - G_FILE_MONITOR_EVENT_CREATED); + G_FILE_MONITOR_EVENT_DELETED); g_file_monitor_emit_event (G_FILE_MONITOR (monitor), file, NULL, @@ -271,16 +272,16 @@ g_object_unref (file); } - for (iter = removed; iter != NULL; iter = iter->next) + for (iter = added; iter != NULL; iter = iter->next) { - XAppFavoriteInfo *removed_info = (XAppFavoriteInfo *) iter->data; + XAppFavoriteInfo *added_info = (XAppFavoriteInfo *) iter->data; - GFile *file = _favorite_vfs_file_new_for_info (removed_info); + GFile *file = _favorite_vfs_file_new_for_info (added_info); g_file_monitor_emit_event (G_FILE_MONITOR (monitor), file, NULL, - G_FILE_MONITOR_EVENT_DELETED); + G_FILE_MONITOR_EVENT_CREATED); g_file_monitor_emit_event (G_FILE_MONITOR (monitor), file, NULL, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/libxapp/meson.build new/xapp-2.0.7/libxapp/meson.build --- old/xapp-2.0.6/libxapp/meson.build 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/libxapp/meson.build 2021-02-26 12:36:06.000000000 +0100 @@ -147,10 +147,12 @@ install: true ) -gtk3_module = shared_module( - 'xapp-gtk3-module', ['xapp-gtk3-module.c'], - include_directories: [top_inc], - dependencies: [gtk3_dep, libxapp_dep], - install: true, - install_dir: join_paths(gtk3_dep.get_pkgconfig_variable('libdir'),'gtk-3.0','modules') -) \ No newline at end of file +if not app_lib_only + gtk3_module = shared_module( + 'xapp-gtk3-module', ['xapp-gtk3-module.c'], + include_directories: [top_inc], + dependencies: [gtk3_dep, libxapp_dep], + install: true, + install_dir: join_paths(gtk3_dep.get_pkgconfig_variable('libdir'),'gtk-3.0','modules') + ) +endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/libxapp/xapp-favorites.c new/xapp-2.0.7/libxapp/xapp-favorites.c --- old/xapp-2.0.6/libxapp/xapp-favorites.c 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/libxapp/xapp-favorites.c 2021-02-26 12:36:06.000000000 +0100 @@ -402,6 +402,8 @@ real_uri = g_strdup (uri); } + g_return_if_fail (real_uri != NULL); + g_debug ("XAppFavorites: remove favorite: %s", real_uri); // It may be orphaned for some reason.. even if it's not in gsettings, still try diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/libxapp/xapp-util.c new/xapp-2.0.7/libxapp/xapp-util.c --- old/xapp-2.0.6/libxapp/xapp-util.c 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/libxapp/xapp-util.c 2021-02-26 12:36:06.000000000 +0100 @@ -44,3 +44,63 @@ return g_strstr_len (contents, -1, "on-demand") != NULL; } + +// Copied from cinnamon:main.c +/** + * xapp_util_get_session_is_running: + * + * Check if the Session Manager is currently in the "Running" phase. + * + * Returns: %TRUE if the session is running. + * + * Since: 2.0 + */ +gboolean +xapp_util_get_session_is_running (void) +{ + GDBusConnection *session_bus; + GError *error; + GVariant *session_result; + gboolean session_running; + + error = NULL; + + session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, + NULL, + &error); + + if (error != NULL) + { + g_critical ("Unable to determine if session is running, could not get session bus: %s\n", error->message); + g_clear_error (&error); + + return FALSE; + } + + session_result = g_dbus_connection_call_sync (session_bus, + "org.gnome.SessionManager", + "/org/gnome/SessionManager", + "org.gnome.SessionManager", + "IsSessionRunning", + NULL, + G_VARIANT_TYPE ("(b)"), + G_DBUS_CALL_FLAGS_NONE, + 1000, + NULL, + &error); + + if (session_result != NULL) + { + g_variant_get (session_result, "(b)", &session_running); + g_variant_unref (session_result); + } + else + { + session_running = FALSE; + g_clear_error (&error); + } + + g_object_unref (session_bus); + + return session_running; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/libxapp/xapp-util.h new/xapp-2.0.7/libxapp/xapp-util.h --- old/xapp-2.0.6/libxapp/xapp-util.h 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/libxapp/xapp-util.h 2021-02-26 12:36:06.000000000 +0100 @@ -6,6 +6,7 @@ G_BEGIN_DECLS gboolean xapp_util_gpu_offload_supported (void); +gboolean xapp_util_get_session_is_running (void); G_END_DECLS #endif /* __XAPP_UTIL_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/meson.build new/xapp-2.0.7/meson.build --- old/xapp-2.0.6/meson.build 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/meson.build 2021-02-26 12:36:06.000000000 +0100 @@ -1,6 +1,6 @@ project('xapp', 'c', - version : '2.0.6', + version : '2.0.7', default_options : [ 'buildtype=debugoptimized' ], ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xapp-2.0.6/xapp-sn-watcher/xapp-sn-watcher.c new/xapp-2.0.7/xapp-sn-watcher/xapp-sn-watcher.c --- old/xapp-2.0.6/xapp-sn-watcher/xapp-sn-watcher.c 2021-01-12 12:13:22.000000000 +0100 +++ new/xapp-2.0.7/xapp-sn-watcher/xapp-sn-watcher.c 2021-02-26 12:36:06.000000000 +0100 @@ -3,6 +3,7 @@ #include <gtk/gtk.h> #include <libxapp/xapp-status-icon.h> +#include <libxapp/xapp-util.h> #include <glib-unix.h> #include "sn-watcher-interface.h" @@ -672,7 +673,16 @@ gboolean should_start; int status; - sleep (1); + if (xapp_util_get_session_is_running ()) + { + // The session manager tries to restart this immediately in the event of a crash, + // and we need a small delay between instances of xapp-sn-watcher to allow dbus and + // status-notifier apps to cleanly process removal of the old one. + // + // Skip this at startup, as it would cause a delay during login, and there's no + // existing process to replace anyhow. + sleep (2); + } current_desktop = g_getenv ("XDG_CURRENT_DESKTOP"); xapp_settings = g_settings_new (STATUS_ICON_SCHEMA);