Hello community,

here is the log from the commit of package libdazzle for openSUSE:Factory 
checked in at 2018-08-02 14:50:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdazzle (Old)
 and      /work/SRC/openSUSE:Factory/.libdazzle.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libdazzle"

Thu Aug  2 14:50:52 2018 rev:10 rq:625915 version:3.28.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/libdazzle/libdazzle.changes      2018-06-22 
13:28:38.857588637 +0200
+++ /work/SRC/openSUSE:Factory/.libdazzle.new/libdazzle.changes 2018-08-02 
14:50:54.859554015 +0200
@@ -1,0 +2,31 @@
+Sat Jul 28 09:17:06 UTC 2018 - [email protected]
+
+- Update to version 3.28.5:
+  + An issue was introduced in menu merging in 3.28.4 and this
+    release fixes that and many other issues discovered with ASAN.
+  + Fuzzy indexes now properly release metadata variant.
+  + Various fixes to g_variant_parse() usage and floating
+    references.
+  + Menu merging has been fixed in DzlMenuButton.
+  + A leak in DzlRing was fixed.
+  + Shortcut closure chains now properly concat GSList links.
+  + A leak in GDateTime usage was fixed.
+  + DzlTreeNode no longer leaks emblem names or GIcon instances.
+  + DockManager now releases it's final transient grab.
+  + DzlStateMachine now properly cleans up property stack items.
+  + Multi-paned and dock-bin now properly unregister GdkWindows.
+
+-------------------------------------------------------------------
+Thu Jul 26 20:53:06 UTC 2018 - [email protected]
+
+- Update to version 3.28.4:
+  + Fixes for ref counting on titlebar widget.
+  + Fix a leak in DzlBoldingLabel of Pango attribute lists.
+  + Action muxer is now more defensive about string usage.
+  + Menu popover is now more defensive when destroying widgets.
+  + A potential, albeit unlikely, leak was plugged in signal
+    dispatching via the shortcut engine.
+  + The shortcut controller is now more defensive during widget
+    destruction.
+
+-------------------------------------------------------------------

Old:
----
  libdazzle-3.28.3.tar.xz

New:
----
  libdazzle-3.28.5.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libdazzle.spec ++++++
--- /var/tmp/diff_new_pack.v1PK5T/_old  2018-08-02 14:50:56.359556494 +0200
+++ /var/tmp/diff_new_pack.v1PK5T/_new  2018-08-02 14:50:56.363556500 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libdazzle
-Version:        3.28.3
+Version:        3.28.5
 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.3.tar.xz -> libdazzle-3.28.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/NEWS new/libdazzle-3.28.5/NEWS
--- old/libdazzle-3.28.3/NEWS   2018-06-19 05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/NEWS   2018-07-28 10:57:28.000000000 +0200
@@ -1,4 +1,40 @@
 ==============
+Version 3.28.5
+==============
+
+An issue was introduced in menu merging in 3.28.4 and this release fixes
+that and many other issues discovered with ASAN.
+
+Changes in this release:
+
+ • Fuzzy indexes now properly release metadata variant
+ • Various fixes to g_variant_parse() usage and floating references
+ • Menu merging has been fixed in DzlMenuButton
+ • A leak in DzlRing was fixed
+ • Shortcut closure chains now properly concat GSList links
+ • A leak in GDateTime usage was fixed
+ • DzlTreeNode no longer leaks emblem names or GIcon instances
+ • DockManager now releases it's final transient grab
+ • DzlStateMachine now properly cleans up property stack items
+ • Multi-paned and dock-bin now properly unregister GdkWindows
+
+We recommend all distributions upgrade to this release.
+
+==============
+Version 3.28.4
+==============
+
+Changes in this release:
+
+ • Fixes for ref counting on titlebar widget
+ • Fix a leak in DzlBoldingLabel of Pango attribute lists
+ • Action muxer is now more defensive about string usage
+ • Menu popover is now more defensive when destroying widgets
+ • A potential, albeit unlikely, leak was plugged in signal dispatching
+   via the shortcut engine.
+ • The shortcut controller is now more defensive during widget destruction.
+
+==============
 Version 3.28.3
 ==============
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/meson.build 
new/libdazzle-3.28.5/meson.build
--- old/libdazzle-3.28.3/meson.build    2018-06-19 05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/meson.build    2018-07-28 10:57:28.000000000 +0200
@@ -1,5 +1,5 @@
 project('libdazzle', 'c',
-          version: '3.28.3',
+          version: '3.28.5',
           license: 'GPLv3+',
     meson_version: '>= 0.40.1',
   default_options: [ 'warning_level=1', 'buildtype=debugoptimized', 
'c_std=gnu11' ],
@@ -60,7 +60,7 @@
   ['-Werror=format-security', '-Werror=format=2' ],
   '-Werror=empty-body',
   '-Werror=implicit-function-declaration',
-  '-Werror=incompatible-pointer-types',
+  #'-Werror=incompatible-pointer-types',
   '-Werror=pointer-arith',
   '-Werror=init-self',
   '-Werror=int-conversion',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/actions/dzl-action-group.h 
new/libdazzle-3.28.5/src/actions/dzl-action-group.h
--- old/libdazzle-3.28.3/src/actions/dzl-action-group.h 2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/actions/dzl-action-group.h 2018-07-28 
10:57:28.000000000 +0200
@@ -86,8 +86,8 @@
           if (g_strcmp0 (prefix##_actions[i].name, name) == 0)                 
   \
             {                                                                  
   \
               if (prefix##_actions[i].state != NULL)                           
   \
-                info->state = g_variant_take_ref (g_variant_parse (            
   \
-                  NULL, prefix##_actions[i].state, NULL, NULL, NULL));         
   \
+                info->state = g_variant_parse (                                
   \
+                  NULL, prefix##_actions[i].state, NULL, NULL, NULL);          
   \
               break;                                                           
   \
             }                                                                  
   \
         }                                                                      
   \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libdazzle-3.28.3/src/actions/dzl-widget-action-group.c 
new/libdazzle-3.28.5/src/actions/dzl-widget-action-group.c
--- old/libdazzle-3.28.3/src/actions/dzl-widget-action-group.c  2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/actions/dzl-widget-action-group.c  2018-07-28 
10:57:28.000000000 +0200
@@ -147,7 +147,8 @@
               break;
             }
 
-          return FALSE;
+          g_string_free (str, TRUE);
+          return NULL;
         }
     }
 
@@ -170,6 +171,8 @@
       g_hash_table_insert (cached_types, type_str, type_str);
       ret = (const GVariantType *)type_str;
     }
+  else
+    g_string_free (str, TRUE);
 
   return ret;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/animation/dzl-animation.c 
new/libdazzle-3.28.5/src/animation/dzl-animation.c
--- old/libdazzle-3.28.3/src/animation/dzl-animation.c  2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/animation/dzl-animation.c  2018-07-28 
10:57:28.000000000 +0200
@@ -325,10 +325,11 @@
 
   frame_time = CLAMP (frame_time, animation->begin_time, animation->end_time);
 
-  if (frame_time == animation->begin_time)
-    return 0.0;
-  else if (frame_time == animation->end_time)
+  /* Check end_time first in case end_time == begin_time */
+  if (frame_time == animation->end_time)
     return 1.0;
+  else if (frame_time == animation->begin_time)
+    return 0.0;
 
   return (frame_time - animation->begin_time) / 
(gdouble)(animation->duration_msec * 1000L);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/app/dzl-application-window.c 
new/libdazzle-3.28.5/src/app/dzl-application-window.c
--- old/libdazzle-3.28.3/src/app/dzl-application-window.c       2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/app/dzl-application-window.c       2018-07-28 
10:57:28.000000000 +0200
@@ -199,7 +199,7 @@
    * it before performing further (destructive) work.
    */
 
-  g_object_ref (priv->titlebar_revealer);
+  g_object_ref (titlebar);
 
   if (priv->fullscreen)
     {
@@ -228,7 +228,7 @@
         }
     }
 
-  g_object_unref (priv->titlebar_revealer);
+  g_object_unref (titlebar);
 
   return G_SOURCE_REMOVE;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/menus/dzl-menu-button.c 
new/libdazzle-3.28.5/src/menus/dzl-menu-button.c
--- old/libdazzle-3.28.3/src/menus/dzl-menu-button.c    2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/menus/dzl-menu-button.c    2018-07-28 
10:57:28.000000000 +0200
@@ -119,17 +119,20 @@
                                GMenuModel    *menu)
 {
   DzlMenuButtonPrivate *priv = dzl_menu_button_get_instance_private (self);
+  GList *children = NULL;
 
   g_assert (DZL_IS_MENU_BUTTON (self));
   g_assert (G_IS_MENU_MODEL (menu));
 
   for (guint i = 0; i < removed; i++)
     {
-      GtkWidget *child = dzl_box_get_nth_child (priv->popover_box, position);
-
-      gtk_widget_destroy (child);
+      GtkWidget *child = dzl_box_get_nth_child (priv->popover_box, position + 
i);
+      children = g_list_prepend (children, g_object_ref (child));
     }
 
+  g_list_foreach (children, (GFunc)gtk_widget_destroy, NULL);
+  g_list_free_full (children, g_object_unref);
+
   for (guint i = position; i < (position + added); i++)
     {
       g_autofree gchar *label = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/menus/dzl-menu-manager.c 
new/libdazzle-3.28.5/src/menus/dzl-menu-manager.c
--- old/libdazzle-3.28.3/src/menus/dzl-menu-manager.c   2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/menus/dzl-menu-manager.c   2018-07-28 
10:57:28.000000000 +0200
@@ -76,13 +76,13 @@
 }
 
 static void
-dzl_menu_manager_finalize (GObject *object)
+dzl_menu_manager_dispose (GObject *object)
 {
   DzlMenuManager *self = (DzlMenuManager *)object;
 
   g_clear_pointer (&self->models, g_hash_table_unref);
 
-  G_OBJECT_CLASS (dzl_menu_manager_parent_class)->finalize (object);
+  G_OBJECT_CLASS (dzl_menu_manager_parent_class)->dispose (object);
 }
 
 static void
@@ -90,7 +90,7 @@
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  object_class->finalize = dzl_menu_manager_finalize;
+  object_class->dispose = dzl_menu_manager_dispose;
 }
 
 static void
@@ -154,7 +154,7 @@
                                gint        item_index,
                                GMenuItem  *item)
 {
-  GMenuAttributeIter *iter;
+  g_autoptr(GMenuAttributeIter) iter = NULL;
   const gchar *attr_name;
   GVariant *attr_value;
 
@@ -162,10 +162,14 @@
   g_assert (item_index >= 0);
   g_assert (G_IS_MENU_ITEM (item));
 
-  iter = g_menu_model_iterate_item_attributes (model, item_index);
+  if (!(iter = g_menu_model_iterate_item_attributes (model, item_index)))
+    return;
+
   while (g_menu_attribute_iter_get_next (iter, &attr_name, &attr_value))
-    g_menu_item_set_attribute_value (item, attr_name, attr_value);
-  g_object_unref (iter);
+    {
+      g_menu_item_set_attribute_value (item, attr_name, attr_value);
+      g_variant_unref (attr_value);
+    }
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/panel/dzl-dock-bin.c 
new/libdazzle-3.28.5/src/panel/dzl-dock-bin.c
--- old/libdazzle-3.28.3/src/panel/dzl-dock-bin.c       2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/panel/dzl-dock-bin.c       2018-07-28 
10:57:28.000000000 +0200
@@ -1171,6 +1171,7 @@
 
   if (child->handle != NULL)
     {
+      gtk_widget_unregister_window (GTK_WIDGET (self), child->handle);
       gdk_window_destroy (child->handle);
       child->handle = NULL;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/panel/dzl-dock-manager.c 
new/libdazzle-3.28.5/src/panel/dzl-dock-manager.c
--- old/libdazzle-3.28.3/src/panel/dzl-dock-manager.c   2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/panel/dzl-dock-manager.c   2018-07-28 
10:57:28.000000000 +0200
@@ -108,6 +108,8 @@
       g_clear_object (&priv->grab);
     }
 
+  g_assert (priv->grab == NULL);
+
   /* Start the grab process */
   if (grab != NULL)
     {
@@ -268,6 +270,8 @@
   DzlDockManager *self = (DzlDockManager *)object;
   DzlDockManagerPrivate *priv = dzl_dock_manager_get_instance_private (self);
 
+  g_clear_object (&priv->grab);
+
   g_clear_pointer (&priv->queued_focus_by_toplevel, g_hash_table_unref);
 
   if (priv->queued_handler)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/prefs/dzl-preferences-view.c 
new/libdazzle-3.28.5/src/prefs/dzl-preferences-view.c
--- old/libdazzle-3.28.3/src/prefs/dzl-preferences-view.c       2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/prefs/dzl-preferences-view.c       2018-07-28 
10:57:28.000000000 +0200
@@ -508,8 +508,6 @@
 
       if (variant == NULL)
         g_warning ("%s", error->message);
-      else
-        g_variant_ref_sink (variant);
     }
 
   widget = g_object_new (DZL_TYPE_PREFERENCES_SWITCH,
@@ -586,8 +584,6 @@
 
       if (variant == NULL)
         g_warning ("%s", error->message);
-      else
-        g_variant_ref_sink (variant);
     }
 
   widget = g_object_new (DZL_TYPE_PREFERENCES_SWITCH,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libdazzle-3.28.3/src/search/dzl-fuzzy-index-builder.c 
new/libdazzle-3.28.5/src/search/dzl-fuzzy-index-builder.c
--- old/libdazzle-3.28.3/src/search/dzl-fuzzy-index-builder.c   2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/search/dzl-fuzzy-index-builder.c   2018-07-28 
10:57:28.000000000 +0200
@@ -141,6 +141,7 @@
   g_clear_pointer (&self->kv_pairs, g_array_unref);
   g_clear_pointer (&self->metadata, g_hash_table_unref);
   g_clear_pointer (&self->key_ids, g_hash_table_unref);
+  g_clear_pointer (&self->keys, g_ptr_array_unref);
 
   G_OBJECT_CLASS (dzl_fuzzy_index_builder_parent_class)->finalize (object);
 }
@@ -231,8 +232,7 @@
  * If a matching document (checked by hashing @document) has already
  * been inserted, only a single instance of the document will be stored.
  *
- * If @document is floating, it's floating reference will be sunk using
- * g_variant_ref_sink().
+ * If @document is floating, it will be consumed.
  *
  * @priority may be used to group results by priority. Priority must be
  * less than 256.
@@ -245,6 +245,7 @@
                                 GVariant             *document,
                                 guint                 priority)
 {
+  g_autoptr(GVariant) sunk_variant = NULL;
   GVariant *real_document = NULL;
   gpointer document_id = NULL;
   gpointer key_id = NULL;
@@ -255,6 +256,9 @@
   g_return_val_if_fail (document != NULL, 0L);
   g_return_val_if_fail (priority <= 0xFF, 0L);
 
+  if (g_variant_is_floating (document))
+    sunk_variant = g_variant_ref_sink (document);
+
   /* move the priority bits into the proper area */
   priority = (priority & 0xFF) << 24;
 
@@ -277,7 +281,7 @@
                                      &document_id))
     {
       document_id = GUINT_TO_POINTER (self->documents->len);
-      real_document = g_variant_ref_sink (document);
+      real_document = g_variant_ref (document);
       g_ptr_array_add (self->documents, real_document);
       g_hash_table_insert (self->documents_hash, real_document, document_id);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/search/dzl-fuzzy-index.c 
new/libdazzle-3.28.5/src/search/dzl-fuzzy-index.c
--- old/libdazzle-3.28.3/src/search/dzl-fuzzy-index.c   2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/search/dzl-fuzzy-index.c   2018-07-28 
10:57:28.000000000 +0200
@@ -110,6 +110,7 @@
   g_clear_pointer (&self->keys, g_variant_unref);
   g_clear_pointer (&self->tables, g_variant_dict_unref);
   g_clear_pointer (&self->lookaside, g_variant_unref);
+  g_clear_pointer (&self->metadata, g_variant_dict_unref);
 
   G_OBJECT_CLASS (dzl_fuzzy_index_parent_class)->finalize (object);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libdazzle-3.28.3/src/settings/dzl-settings-sandwich.c 
new/libdazzle-3.28.5/src/settings/dzl-settings-sandwich.c
--- old/libdazzle-3.28.3/src/settings/dzl-settings-sandwich.c   2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/settings/dzl-settings-sandwich.c   2018-07-28 
10:57:28.000000000 +0200
@@ -67,7 +67,7 @@
                                  const gchar         *key)
 {
   GSettings *settings;
-  GVariant *value;
+  g_autoptr(GVariant) value = NULL;
   gsize i;
 
   g_assert (DZL_IS_SETTINGS_SANDWICH (self));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libdazzle-3.28.3/src/shortcuts/dzl-shortcut-closure-chain.c 
new/libdazzle-3.28.5/src/shortcuts/dzl-shortcut-closure-chain.c
--- old/libdazzle-3.28.3/src/shortcuts/dzl-shortcut-closure-chain.c     
2018-06-19 05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/shortcuts/dzl-shortcut-closure-chain.c     
2018-07-28 10:57:28.000000000 +0200
@@ -57,7 +57,10 @@
   if (chain == NULL)
     return element;
 
-  ret = g_slist_append (&chain->node, &element->node)->data;
+  if (element == NULL)
+    return chain;
+
+  ret = g_slist_concat (&chain->node, &element->node)->data;
 
   g_return_val_if_fail (ret != NULL, NULL);
 
@@ -358,6 +361,9 @@
     g_value_unset (&params[i]);
   g_free (params);
 
+  if (query.return_type != G_TYPE_NONE)
+    g_value_unset (&return_value);
+
   return GDK_EVENT_STOP;
 
 parameter_mismatch:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libdazzle-3.28.3/src/shortcuts/dzl-shortcut-controller.c 
new/libdazzle-3.28.5/src/shortcuts/dzl-shortcut-controller.c
--- old/libdazzle-3.28.3/src/shortcuts/dzl-shortcut-controller.c        
2018-06-19 05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/shortcuts/dzl-shortcut-controller.c        
2018-07-28 10:57:28.000000000 +0200
@@ -252,10 +252,19 @@
 dzl_shortcut_controller_widget_destroy (DzlShortcutController *self,
                                         GtkWidget             *widget)
 {
+  DzlShortcutControllerPrivate *priv = 
dzl_shortcut_controller_get_instance_private (self);
+
   g_assert (DZL_IS_SHORTCUT_CONTROLLER (self));
   g_assert (GTK_IS_WIDGET (widget));
 
   dzl_shortcut_controller_disconnect (self);
+  g_clear_weak_pointer (&priv->widget);
+
+  if (priv->root != NULL)
+    {
+      dzl_shortcut_controller_remove (priv->root, self);
+      g_clear_object (&priv->root);
+    }
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libdazzle-3.28.3/src/statemachine/dzl-state-machine-buildable.c 
new/libdazzle-3.28.5/src/statemachine/dzl-state-machine-buildable.c
--- old/libdazzle-3.28.3/src/statemachine/dzl-state-machine-buildable.c 
2018-06-19 05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/statemachine/dzl-state-machine-buildable.c 
2018-07-28 10:57:28.000000000 +0200
@@ -73,6 +73,7 @@
     case STACK_ITEM_OBJECT:
       g_free (item->u.object.id);
       g_slist_free_full (item->u.object.classes, g_free);
+      g_slist_free_full (item->u.object.properties, 
(GDestroyNotify)stack_item_free);
       break;
 
     case STACK_ITEM_STATE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/tree/dzl-tree-node.c 
new/libdazzle-3.28.5/src/tree/dzl-tree-node.c
--- old/libdazzle-3.28.3/src/tree/dzl-tree-node.c       2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/tree/dzl-tree-node.c       2018-07-28 
10:57:28.000000000 +0200
@@ -722,8 +722,12 @@
   DzlTreeNode *self = DZL_TREE_NODE (object);
 
   g_clear_object (&self->item);
+  g_clear_object (&self->gicon);
   g_clear_pointer (&self->text, g_free);
 
+  g_list_free_full (self->emblems, g_free);
+  self->emblems = NULL;
+
   dzl_clear_weak_pointer (&self->tree);
   dzl_clear_weak_pointer (&self->parent);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/tree/dzl-tree.c 
new/libdazzle-3.28.5/src/tree/dzl-tree.c
--- old/libdazzle-3.28.3/src/tree/dzl-tree.c    2018-06-19 05:31:27.000000000 
+0200
+++ new/libdazzle-3.28.5/src/tree/dzl-tree.c    2018-07-28 10:57:28.000000000 
+0200
@@ -875,7 +875,7 @@
                       const gchar *action_name,
                       const gchar *param)
 {
-  GVariant *variant = NULL;
+  g_autoptr(GVariant) variant = NULL;
   g_autofree gchar *name = NULL;
 
   g_return_if_fail (DZL_IS_TREE (self));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/util/dzl-date-time.c 
new/libdazzle-3.28.5/src/util/dzl-date-time.c
--- old/libdazzle-3.28.3/src/util/dzl-date-time.c       2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/util/dzl-date-time.c       2018-07-28 
10:57:28.000000000 +0200
@@ -35,7 +35,7 @@
 gchar *
 dzl_g_date_time_format_for_display (GDateTime *self)
 {
-  GDateTime *now;
+  g_autoptr(GDateTime) now = NULL;
   GTimeSpan diff;
   gint years;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/util/dzl-gtk.c 
new/libdazzle-3.28.5/src/util/dzl-gtk.c
--- old/libdazzle-3.28.3/src/util/dzl-gtk.c     2018-06-19 05:31:27.000000000 
+0200
+++ new/libdazzle-3.28.5/src/util/dzl-gtk.c     2018-07-28 10:57:28.000000000 
+0200
@@ -90,7 +90,7 @@
                                    const gchar *name,
                                    const gchar *param)
 {
-  GVariant *variant = NULL;
+  g_autoptr(GVariant) variant = NULL;
   gboolean ret;
 
   g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
@@ -410,7 +410,7 @@
                                   const gchar *mux_key)
 {
   const gchar * const *old_prefixes = NULL;
-  g_autofree const gchar **prefixes = NULL;
+  g_auto(GStrv) prefixes = NULL;
 
   g_return_if_fail (GTK_IS_WIDGET (widget));
   g_return_if_fail (!from_widget || GTK_IS_WIDGET (from_widget));
@@ -444,10 +444,12 @@
 
   if (from_widget != NULL)
     {
-      prefixes = gtk_widget_list_action_prefixes (from_widget);
+      g_autofree const gchar **tmp = gtk_widget_list_action_prefixes 
(from_widget);
 
-      if (prefixes != NULL)
+      if (tmp != NULL)
         {
+          prefixes = g_strdupv ((gchar **)tmp);
+
           for (guint i = 0; prefixes [i]; i++)
             {
               GActionGroup *group = gtk_widget_get_action_group (from_widget, 
prefixes [i]);
@@ -458,14 +460,15 @@
               if G_UNLIKELY (group == NULL)
                 continue;
 
-              gtk_widget_insert_action_group (widget, prefixes [i], group);
+              gtk_widget_insert_action_group (widget, prefixes[i], group);
             }
         }
     }
 
   /* Store the set of muxed prefixes so that we can unmux them later. */
-  g_object_set_data_full (G_OBJECT (widget), mux_key,
-                          g_strdupv ((gchar **)prefixes),
+  g_object_set_data_full (G_OBJECT (widget),
+                          mux_key,
+                          g_steal_pointer (&prefixes),
                           (GDestroyNotify) g_strfreev);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/util/dzl-ring.c 
new/libdazzle-3.28.5/src/util/dzl-ring.c
--- old/libdazzle-3.28.3/src/util/dzl-ring.c    2018-06-19 05:31:27.000000000 
+0200
+++ new/libdazzle-3.28.5/src/util/dzl-ring.c    2018-07-28 10:57:28.000000000 
+0200
@@ -162,6 +162,9 @@
   g_return_if_fail (ring != NULL);
   g_return_if_fail (ring_impl->ref_count == 0);
 
+  if (ring_impl->destroy != NULL)
+    dzl_ring_foreach (ring, (GFunc)ring_impl->destroy, NULL);
+
   g_free (ring_impl->data);
 
   g_slice_free (DzlRingImpl, ring_impl);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/widgets/dzl-bolding-label.c 
new/libdazzle-3.28.5/src/widgets/dzl-bolding-label.c
--- old/libdazzle-3.28.3/src/widgets/dzl-bolding-label.c        2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/widgets/dzl-bolding-label.c        2018-07-28 
10:57:28.000000000 +0200
@@ -158,6 +158,7 @@
 dzl_bolding_label_set_weight (DzlBoldingLabel *self,
                               PangoWeight      weight)
 {
+  PangoAttrList *filtered;
   PangoAttrList *attrs;
   PangoAttrList *copy;
   PangoAttribute *attr;
@@ -170,10 +171,11 @@
   else
     copy = pango_attr_list_new ();
   attr = pango_attr_weight_new (weight);
-  pango_attr_list_filter (copy, remove_weights, attr);
+  filtered = pango_attr_list_filter (copy, remove_weights, attr);
   pango_attr_list_insert (copy, attr);
   gtk_label_set_attributes (GTK_LABEL (self), copy);
   gtk_widget_queue_draw (GTK_WIDGET (self));
+  pango_attr_list_unref (filtered);
   pango_attr_list_unref (copy);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/src/widgets/dzl-multi-paned.c 
new/libdazzle-3.28.5/src/widgets/dzl-multi-paned.c
--- old/libdazzle-3.28.3/src/widgets/dzl-multi-paned.c  2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/src/widgets/dzl-multi-paned.c  2018-07-28 
10:57:28.000000000 +0200
@@ -383,6 +383,7 @@
 
   if (child->handle != NULL)
     {
+      gtk_widget_unregister_window (GTK_WIDGET (self), child->handle);
       gdk_window_destroy (child->handle);
       child->handle = NULL;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/tests/test-fuzzy-index.c 
new/libdazzle-3.28.5/tests/test-fuzzy-index.c
--- old/libdazzle-3.28.3/tests/test-fuzzy-index.c       2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/tests/test-fuzzy-index.c       2018-07-28 
10:57:28.000000000 +0200
@@ -117,6 +117,10 @@
   g_assert (r);
 
   g_object_unref (file);
+
+  while (g_main_context_pending (NULL))
+    g_main_context_iteration (NULL, TRUE);
+
   g_main_loop_unref (main_loop);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/tests/test-menu-manager2.c 
new/libdazzle-3.28.5/tests/test-menu-manager2.c
--- old/libdazzle-3.28.3/tests/test-menu-manager2.c     2018-06-19 
05:31:27.000000000 +0200
+++ new/libdazzle-3.28.5/tests/test-menu-manager2.c     2018-07-28 
10:57:28.000000000 +0200
@@ -56,6 +56,8 @@
   assert_item_at_index (merged, 3, "item1");
   assert_item_at_index (merged, 4, "item5");
   assert_item_at_index (merged, 5, "item6");
+
+  g_object_run_dispose (G_OBJECT (manager));
 }
 
 gint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.28.3/tests/test-ring.c 
new/libdazzle-3.28.5/tests/test-ring.c
--- old/libdazzle-3.28.3/tests/test-ring.c      2018-06-19 05:31:27.000000000 
+0200
+++ new/libdazzle-3.28.5/tests/test-ring.c      2018-07-28 10:57:28.000000000 
+0200
@@ -162,9 +162,9 @@
 test_DzlRing_with_array (void)
 {
   DzlRing *ring;
-  GArray *ar0;
-  GArray *ar1;
-  GArray *ar2;
+  GArray *ar0 = NULL;
+  GArray *ar1 = NULL;
+  GArray *ar2 = NULL;
   gpointer tmp;
 
   ring = dzl_ring_sized_new (sizeof (GArray*), 2, test_DzlRing_with_array_cb);


Reply via email to