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


Reply via email to