[gimp] app: use gimp_viewable_is_ancestor() instead of gimp_item_is_ancestor().



commit 057b94f5f5c964a620502b4afa6db5b0be449924
Author: Jehan <jehan girinstud io>
Date:   Thu Oct 22 12:43:51 2020 +0200

    app: use gimp_viewable_is_ancestor() instead of gimp_item_is_ancestor().
    
    I had recently created gimp_item_is_ancestor() but realize it duplicates
    gimp_viewable_is_ancestor() (which works on GimpItem since it's a parent
    class). No need for duplicate code.

 app/actions/layers-commands.c |  4 ++--
 app/core/gimpimage-merge.c    |  4 ++--
 app/core/gimpitem.c           | 19 -------------------
 app/core/gimpitem.h           |  2 --
 4 files changed, 4 insertions(+), 25 deletions(-)
---
diff --git a/app/actions/layers-commands.c b/app/actions/layers-commands.c
index 2bcba70c49..2542160416 100644
--- a/app/actions/layers-commands.c
+++ b/app/actions/layers-commands.c
@@ -869,7 +869,7 @@ layers_merge_group_cmd_callback (GimpAction *action,
               /* Do not merge a layer when we already merge one of its
                * ancestors.
                */
-              if (gimp_item_is_ancestor (iter->data, iter2->data))
+              if (gimp_viewable_is_ancestor (iter2->data, iter->data))
                 break;
             }
 
@@ -929,7 +929,7 @@ layers_delete_cmd_callback (GimpAction *action,
       for (iter2 = removed_layers; iter2; iter2 = iter2->next)
         {
           if (iter->data != iter2->data &&
-              gimp_item_is_ancestor (iter->data, iter2->data))
+              gimp_viewable_is_ancestor (iter2->data, iter->data))
             {
               removed_layers = g_list_delete_link (removed_layers, iter);
               iter = removed_layers;
diff --git a/app/core/gimpimage-merge.c b/app/core/gimpimage-merge.c
index 3cc8422a70..1a5cfd0224 100644
--- a/app/core/gimpimage-merge.c
+++ b/app/core/gimpimage-merge.c
@@ -108,7 +108,7 @@ gimp_image_merge_visible_layers (GimpImage     *image,
               break;
 
           /* No need to list selected groups if any selected layer is
-           * to-level.
+           * top-level.
            */
           if (iter == NULL)
             {
@@ -120,7 +120,7 @@ gimp_image_merge_visible_layers (GimpImage     *image,
                        * other selected layers are its parents.
                        */
                       if (iter->data != iter2->data &&
-                          gimp_item_is_ancestor (iter->data, iter2->data))
+                          gimp_viewable_is_ancestor (iter2->data, iter->data))
                         break;
                     }
                   if (iter2 == NULL &&
diff --git a/app/core/gimpitem.c b/app/core/gimpitem.c
index 23f82e3f22..32598a07f2 100644
--- a/app/core/gimpitem.c
+++ b/app/core/gimpitem.c
@@ -841,25 +841,6 @@ gimp_item_get_parent (GimpItem *item)
   return GIMP_ITEM (gimp_viewable_get_parent (GIMP_VIEWABLE (item)));
 }
 
-gboolean
-gimp_item_is_ancestor (GimpItem *item,
-                       GimpItem *ancestor)
-{
-  GimpItem *parent;
-
-  g_return_val_if_fail (GIMP_IS_ITEM (item), FALSE);
-  g_return_val_if_fail (GIMP_IS_ITEM (ancestor), FALSE);
-
-  parent = item;
-  while ((parent = gimp_item_get_parent (parent)))
-    {
-      if (parent == ancestor)
-        return TRUE;
-    }
-
-  return FALSE;
-}
-
 GimpItemTree *
 gimp_item_get_tree (GimpItem *item)
 {
diff --git a/app/core/gimpitem.h b/app/core/gimpitem.h
index 4ee842dcdc..f71e32b017 100644
--- a/app/core/gimpitem.h
+++ b/app/core/gimpitem.h
@@ -174,8 +174,6 @@ void            gimp_item_unset_removed      (GimpItem           *item);
 gboolean        gimp_item_is_attached        (GimpItem           *item);
 
 GimpItem      * gimp_item_get_parent         (GimpItem           *item);
-gboolean        gimp_item_is_ancestor        (GimpItem           *item,
-                                              GimpItem           *ancestor);
 
 GimpItemTree  * gimp_item_get_tree           (GimpItem           *item);
 GimpContainer * gimp_item_get_container      (GimpItem           *item);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]