[gimp] app: add gimp_item_peek_node() and use it
- From: Michael Natterer <mitch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp] app: add gimp_item_peek_node() and use it
- Date: Sun, 14 Feb 2010 19:28:36 +0000 (UTC)
commit 5f46061830258d929901acfe257709cbc37986de
Author: Michael Natterer <mitch gimp org>
Date: Sun Feb 14 13:55:45 2010 +0100
app: add gimp_item_peek_node() and use it
so we can avoid peeking into the GimpItem struct if we want to get to
the item's node without implicitly creating it if it doesn't already
exist.
app/core/gimpdrawable.c | 9 ++++++---
app/core/gimpitem.c | 8 ++++++++
app/core/gimpitem.h | 1 +
3 files changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/app/core/gimpdrawable.c b/app/core/gimpdrawable.c
index 090a9a2..5818c5b 100644
--- a/app/core/gimpdrawable.c
+++ b/app/core/gimpdrawable.c
@@ -355,17 +355,20 @@ static void
gimp_drawable_visibility_changed (GimpItem *item)
{
GimpDrawable *drawable = GIMP_DRAWABLE (item);
+ GeglNode *item_node;
/* don't use gimp_item_get_node() because that would create
* the node.
*/
- if (item->node)
+ item_node = gimp_item_peek_node (item);
+
+ if (item_node)
{
GeglNode *input;
GeglNode *output;
- input = gegl_node_get_input_proxy (item->node, "input");
- output = gegl_node_get_output_proxy (item->node, "output");
+ input = gegl_node_get_input_proxy (item_node, "input");
+ output = gegl_node_get_output_proxy (item_node, "output");
if (gimp_item_get_visible (item) &&
! (GIMP_IS_LAYER (item) &&
diff --git a/app/core/gimpitem.c b/app/core/gimpitem.c
index 0b75016..de679cb 100644
--- a/app/core/gimpitem.c
+++ b/app/core/gimpitem.c
@@ -1422,6 +1422,14 @@ gimp_item_get_node (GimpItem *item)
}
GeglNode *
+gimp_item_peek_node (GimpItem *item)
+{
+ g_return_val_if_fail (GIMP_IS_ITEM (item), NULL);
+
+ return item->node;
+}
+
+GeglNode *
gimp_item_get_offset_node (GimpItem *item)
{
g_return_val_if_fail (GIMP_IS_ITEM (item), NULL);
diff --git a/app/core/gimpitem.h b/app/core/gimpitem.h
index 966aa65..6b01b87 100644
--- a/app/core/gimpitem.h
+++ b/app/core/gimpitem.h
@@ -247,6 +247,7 @@ gboolean gimp_item_stroke (GimpItem *item,
GError **error);
GeglNode * gimp_item_get_node (GimpItem *item);
+GeglNode * gimp_item_peek_node (GimpItem *item);
GeglNode * gimp_item_get_offset_node (GimpItem *item);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]