[gegl] buffer: Inherit path from backend at construction
- From: Daniel Sabo <daniels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] buffer: Inherit path from backend at construction
- Date: Fri, 31 Jan 2014 05:02:20 +0000 (UTC)
commit fa400ec99ff5989935cb55cc4c36adc16d398fa0
Author: Daniel Sabo <DanielSabo gmail com>
Date: Mon Jan 27 22:14:10 2014 -0800
buffer: Inherit path from backend at construction
Also mark BackendFile's path as construct only because there
is no machinery to change it after construction.
gegl/buffer/gegl-buffer.c | 21 +++++++++------------
gegl/buffer/gegl-tile-backend-file-async.c | 2 +-
2 files changed, 10 insertions(+), 13 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer.c b/gegl/buffer/gegl-buffer.c
index ebe475d..80b6fe5 100644
--- a/gegl/buffer/gegl-buffer.c
+++ b/gegl/buffer/gegl-buffer.c
@@ -135,17 +135,6 @@ gegl_buffer_get_property (GObject *gobject,
break;
case PROP_PATH:
- {
- GeglTileBackend *backend = gegl_buffer_backend (buffer);
-
- if (GEGL_IS_TILE_BACKEND_FILE (backend))
- {
- if (buffer->path)
- g_free (buffer->path);
- buffer->path = NULL;
- g_object_get (backend, "path", &buffer->path, NULL);
- }
- }
g_value_set_string (value, buffer->path);
break;
@@ -544,6 +533,14 @@ gegl_buffer_constructor (GType type,
buffer->format = gegl_tile_backend_get_format (backend);
buffer->tile_width = gegl_tile_backend_get_tile_width (backend);
buffer->tile_height = gegl_tile_backend_get_tile_height (backend);
+
+ if (buffer->path)
+ g_free (buffer->path);
+
+ if (GEGL_IS_TILE_BACKEND_FILE (backend))
+ g_object_get (backend, "path", &buffer->path, NULL);
+ else
+ buffer->path = NULL;
}
else
{
@@ -883,7 +880,7 @@ gegl_buffer_class_init (GeglBufferClass *class)
"URI to where the buffer is stored",
NULL,
G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT));
+ G_PARAM_CONSTRUCT_ONLY));
gegl_buffer_signals[CHANGED] =
g_signal_new ("changed",
diff --git a/gegl/buffer/gegl-tile-backend-file-async.c b/gegl/buffer/gegl-tile-backend-file-async.c
index 9898954..90cda77 100644
--- a/gegl/buffer/gegl-tile-backend-file-async.c
+++ b/gegl/buffer/gegl-tile-backend-file-async.c
@@ -1275,7 +1275,7 @@ gegl_tile_backend_file_class_init (GeglTileBackendFileClass *klass)
"path",
"The base path for this backing file for a buffer",
NULL,
- G_PARAM_CONSTRUCT |
+ G_PARAM_CONSTRUCT_ONLY |
G_PARAM_READWRITE));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]