app: don't leave dangling GimpUIManager weak pointers around

in gimpmenumodel.c and gimpmenushell.c
This commit is contained in:
Michael Natterer 2023-05-22 03:20:05 +02:00
parent bf15c9d128
commit 8f42731074
2 changed files with 4 additions and 1 deletions

View file

@ -146,7 +146,8 @@ static gboolean gimp_menu_model_ui_removed (GimpUIManager
GimpMenuModel *model);
G_DEFINE_TYPE_WITH_CODE (GimpMenuModel, gimp_menu_model, G_TYPE_MENU_MODEL, G_ADD_PRIVATE (GimpMenuModel))
G_DEFINE_TYPE_WITH_CODE (GimpMenuModel, gimp_menu_model, G_TYPE_MENU_MODEL,
G_ADD_PRIVATE (GimpMenuModel))
#define parent_class gimp_menu_model_parent_class
@ -222,6 +223,7 @@ gimp_menu_model_finalize (GObject *object)
{
GimpMenuModel *model = GIMP_MENU_MODEL (object);
g_clear_weak_pointer (&model->priv->manager);
g_clear_object (&model->priv->model);
g_list_free_full (model->priv->items, g_object_unref);
g_free (model->priv->path);

View file

@ -267,6 +267,7 @@ gimp_menu_shell_get_private (GimpMenuShell *menu_shell)
static void
gimp_menu_shell_private_finalize (GimpMenuShellPrivate *priv)
{
g_clear_weak_pointer (&priv->manager);
g_free (priv->path_prefix);
g_clear_pointer (&priv->path_regex, g_regex_unref);
g_clear_object (&priv->model);