commit libdazzle for openSUSE:Factory
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 - bjorn.lie@gmail.com + +- 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 - bjorn.lie@gmail.com + +- 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 (¶ms[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);
participants (1)
-
root