mirror of https://github.com/GNOME/gimp.git
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.
This commit is contained in:
parent
784a98d170
commit
c91702917e
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue