[gimp] libgimp: gimp_drawable_get_buffer(): return NULL for an invalid drawable
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimp: gimp_drawable_get_buffer(): return NULL for an invalid drawable
- Date: Sat, 22 Sep 2012 18:35:13 +0000 (UTC)
commit c91702917e629336c59d7f2bb9beb016d3459ae4
Author: Michael Natterer <mitch gimp org>
Date: Sat Sep 22 20:33:03 2012 +0200
libgimp: gimp_drawable_get_buffer(): return NULL for an invalid drawable
instead of repeating the crappy behavior of gimp_drawable_get() which
would return something even for bogus drawable IDs.
libgimp/gimpdrawable.c | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)
---
diff --git a/libgimp/gimpdrawable.c b/libgimp/gimpdrawable.c
index 29d5be6..7f37fb2 100644
--- a/libgimp/gimpdrawable.c
+++ b/libgimp/gimpdrawable.c
@@ -667,22 +667,25 @@ gimp_drawable_attach_new_parasite (gint32 drawable_ID,
GeglBuffer *
gimp_drawable_get_buffer (gint32 drawable_ID)
{
- GimpDrawable *drawable;
-
gimp_plugin_enable_precision ();
- drawable = gimp_drawable_get (drawable_ID);
-
- if (drawable)
+ if (gimp_item_is_valid (drawable_ID))
{
- GeglTileBackend *backend;
- GeglBuffer *buffer;
+ GimpDrawable *drawable;
- backend = _gimp_tile_backend_plugin_new (drawable, FALSE);
- buffer = gegl_buffer_new_for_backend (NULL, backend);
- g_object_unref (backend);
+ drawable = gimp_drawable_get (drawable_ID);
- return buffer;
+ if (drawable)
+ {
+ GeglTileBackend *backend;
+ GeglBuffer *buffer;
+
+ backend = _gimp_tile_backend_plugin_new (drawable, FALSE);
+ buffer = gegl_buffer_new_for_backend (NULL, backend);
+ g_object_unref (backend);
+
+ return buffer;
+ }
}
return NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]