Hello community, here is the log from the commit of package libdazzle for openSUSE:Factory checked in at 2018-06-02 11:55:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libdazzle (Old) and /work/SRC/openSUSE:Factory/.libdazzle.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdazzle" Sat Jun 2 11:55:11 2018 rev:8 rq:612860 version:3.28.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libdazzle/libdazzle.changes 2018-04-19 15:24:54.210267098 +0200 +++ /work/SRC/openSUSE:Factory/.libdazzle.new/libdazzle.changes 2018-06-02 11:55:14.309199355 +0200 @@ -1,0 +2,6 @@ +Thu May 24 20:02:49 UTC 2018 - bjorn....@gmail.com + +- Update to version 3.28.2: + + theming: avoid creating unnecessary css providers. + +------------------------------------------------------------------- Old: ---- libdazzle-3.28.1.tar.xz New: ---- libdazzle-3.28.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libdazzle.spec ++++++ --- /var/tmp/diff_new_pack.JbBuka/_old 2018-06-02 11:55:15.189167077 +0200 +++ /var/tmp/diff_new_pack.JbBuka/_new 2018-06-02 11:55:15.205166490 +0200 @@ -17,7 +17,7 @@ Name: libdazzle -Version: 3.28.1 +Version: 3.28.2 Release: 0 Summary: Collection of fancy features for GLib and Gtk+ License: GPL-3.0-or-later AND LGPL-2.1-or-later ++++++ libdazzle-3.28.1.tar.xz -> libdazzle-3.28.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdazzle-3.28.1/NEWS new/libdazzle-3.28.2/NEWS --- old/libdazzle-3.28.1/NEWS 2018-04-10 05:54:50.000000000 +0200 +++ new/libdazzle-3.28.2/NEWS 2018-05-23 23:04:13.000000000 +0200 @@ -1,4 +1,12 @@ ============== +Version 3.28.2 +============== + +Changes in this release: + + • theming: avoid creating unnecessary css providers + +============== Version 3.28.1 ============== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdazzle-3.28.1/meson.build new/libdazzle-3.28.2/meson.build --- old/libdazzle-3.28.1/meson.build 2018-04-10 05:54:50.000000000 +0200 +++ new/libdazzle-3.28.2/meson.build 2018-05-23 23:04:13.000000000 +0200 @@ -1,5 +1,5 @@ project('libdazzle', 'c', - version: '3.28.1', + version: '3.28.2', license: 'GPLv3+', meson_version: '>= 0.40.1', default_options: [ 'warning_level=1', 'buildtype=debugoptimized', 'c_std=gnu11' ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdazzle-3.28.1/src/theming/dzl-theme-manager.c new/libdazzle-3.28.2/src/theming/dzl-theme-manager.c --- old/libdazzle-3.28.1/src/theming/dzl-theme-manager.c 2018-04-10 05:54:50.000000000 +0200 +++ new/libdazzle-3.28.2/src/theming/dzl-theme-manager.c 2018-05-23 23:04:13.000000000 +0200 @@ -66,6 +66,19 @@ return g_object_new (DZL_TYPE_THEME_MANAGER, NULL); } +static gboolean +has_child_resources (const gchar *path) +{ + g_auto(GStrv) children = NULL; + + if (g_str_has_prefix (path, "resource://")) + path += strlen ("resource://"); + + children = g_resources_enumerate_children (path, 0, NULL); + + return children != NULL && children[0] != NULL; +} + /** * dzl_theme_manager_add_resources: * @self: a #DzlThemeManager @@ -94,8 +107,8 @@ g_autoptr(GtkCssProvider) provider = NULL; g_autofree gchar *css_dir = NULL; g_autofree gchar *icons_dir = NULL; - GtkIconTheme *theme; const gchar *real_path = resource_path; + GtkIconTheme *theme; g_return_if_fail (DZL_IS_THEME_MANAGER (self)); g_return_if_fail (resource_path != NULL); @@ -112,11 +125,15 @@ */ css_dir = g_build_path ("/", resource_path, "themes/", NULL); g_debug ("Including CSS overrides from %s", css_dir); - provider = dzl_css_provider_new (css_dir); - g_hash_table_insert (self->providers_by_path, g_strdup (resource_path), g_object_ref (provider)); - gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), - GTK_STYLE_PROVIDER (provider), - GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + + if (has_child_resources (css_dir)) + { + provider = dzl_css_provider_new (css_dir); + g_hash_table_insert (self->providers_by_path, g_strdup (resource_path), g_object_ref (provider)); + gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), + GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + } /* * Add the icons sub-directory so that Gtk can locate the themed