[gegl] code cleanups - move an unref to where it is meant to be
- From: Ãyvind KolÃs <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] code cleanups - move an unref to where it is meant to be
- Date: Tue, 13 Mar 2012 16:39:54 +0000 (UTC)
commit adf09aa3be025687084713b3c30a0bfd29563a58
Author: Ãyvind KolÃs <pippin gimp org>
Date: Tue Mar 13 16:05:02 2012 +0000
code cleanups - move an unref to where it is meant to be
gegl/buffer/gegl-buffer.c | 39 +++++++++++++++++++--------------------
gegl/buffer/gegl-tile-storage.c | 1 -
2 files changed, 19 insertions(+), 21 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer.c b/gegl/buffer/gegl-buffer.c
index 7c18aef..b6b7179 100644
--- a/gegl/buffer/gegl-buffer.c
+++ b/gegl/buffer/gegl-buffer.c
@@ -486,8 +486,7 @@ gegl_buffer_constructor (GType type,
else if (GEGL_IS_BUFFER (source))
buffer->format = GEGL_BUFFER (source)->format;
}
-
- if (!source)
+ else
{
/* if no source is specified if a format is specified, we
* we need to create our own
@@ -495,13 +494,15 @@ gegl_buffer_constructor (GType type,
* all "allocated from format", type buffers.
*/
if (buffer->backend)
- {
+ {
void *storage;
storage = gegl_tile_storage_new (buffer->backend);
source = g_object_new (GEGL_TYPE_BUFFER, "source", storage, NULL);
+ g_object_unref (storage);
+
gegl_tile_handler_set_source ((GeglTileHandler*)(buffer), source);
g_object_unref (source);
@@ -511,8 +512,8 @@ gegl_buffer_constructor (GType type,
g_assert (source);
backend = gegl_buffer_backend (GEGL_BUFFER (source));
g_assert (backend);
- g_assert (backend == buffer->backend);
- }
+ g_assert (backend == buffer->backend);
+ }
else if (buffer->path && g_str_equal (buffer->path, "RAM"))
{
source = GEGL_TILE_SOURCE (gegl_buffer_new_from_format (buffer->format,
@@ -537,12 +538,12 @@ gegl_buffer_constructor (GType type,
GeglBufferHeader *header;
void *storage;
- backend = g_object_new (GEGL_TYPE_TILE_BACKEND_FILE,
- "tile-width", 128,
- "tile-height", 64,
- "format", buffer->format?buffer->format:babl_format ("RGBA float"),
- "path", buffer->path,
- NULL);
+ backend = g_object_new (GEGL_TYPE_TILE_BACKEND_FILE,
+ "tile-width", 128,
+ "tile-height", 64,
+ "format", buffer->format?buffer->format:babl_format ("RGBA float"),
+ "path", buffer->path,
+ NULL);
storage = gegl_tile_storage_new (backend);
source = g_object_new (GEGL_TYPE_BUFFER, "source", storage, NULL);
@@ -589,19 +590,17 @@ gegl_buffer_constructor (GType type,
{
g_warning ("not enough data to have a tile source for our buffer");
}
- {
/* we reset the size if it seems to have been set to 0 during a on
* disk buffer creation, nasty but it seems to do the job.
*/
- if (buffer->extent.width == 0)
- {
- buffer->extent.width = width;
- buffer->extent.height = height;
- buffer->extent.x = x;
- buffer->extent.y = y;
- }
- }
+ if (buffer->extent.width == 0)
+ {
+ buffer->extent.width = width;
+ buffer->extent.height = height;
+ buffer->extent.x = x;
+ buffer->extent.y = y;
+ }
}
g_assert (backend);
diff --git a/gegl/buffer/gegl-tile-storage.c b/gegl/buffer/gegl-tile-storage.c
index 769f6a1..e4689cb 100644
--- a/gegl/buffer/gegl-tile-storage.c
+++ b/gegl/buffer/gegl-tile-storage.c
@@ -107,7 +107,6 @@ gegl_tile_storage_new (GeglTileBackend *backend)
}
}
- g_object_unref (handler->source); /* eeek */
backend = GEGL_TILE_BACKEND (handler->source);
#if 0
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]