sort out SET_ONCE usage
This commit is contained in:
parent
5cd0b89981
commit
3107ec0d34
46
TODO
46
TODO
@ -1,5 +1,14 @@
|
|||||||
|
|
||||||
|
|
||||||
|
- don't do vips_image_write() at the end of a pipeline, instead try:
|
||||||
|
|
||||||
|
g_object_set( object, "output", t );
|
||||||
|
|
||||||
|
ie. replace the output object
|
||||||
|
|
||||||
|
in cache.c, we must not include the hash of the output objects, I guess we
|
||||||
|
don't
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -9,43 +18,6 @@
|
|||||||
|
|
||||||
can be reused
|
can be reused
|
||||||
|
|
||||||
- we should cache on "written" ... we should emit written for all objects, and
|
|
||||||
there should be a a vipsarg flag to block updates after written
|
|
||||||
|
|
||||||
- we have a "written" method/signal in image.h, move this to object.h
|
|
||||||
|
|
||||||
- the lifetime of an object is
|
|
||||||
|
|
||||||
new
|
|
||||||
set base params
|
|
||||||
build
|
|
||||||
set more params
|
|
||||||
write
|
|
||||||
... and now it's frozen and read-only, except for things like "kill"
|
|
||||||
unref
|
|
||||||
|
|
||||||
we have
|
|
||||||
|
|
||||||
gboolean constructed; /* Construct done and checked */
|
|
||||||
|
|
||||||
I suppose we need to add
|
|
||||||
|
|
||||||
gboolean written; /* Object done and frozen */
|
|
||||||
|
|
||||||
and a "written" virtual method I guess
|
|
||||||
|
|
||||||
this seems like a big change :-( can we avoid it?
|
|
||||||
|
|
||||||
bodge it for now, fix properly after we merge
|
|
||||||
|
|
||||||
- don't do vips_image_write() at the end of a pipeline, instead try:
|
|
||||||
|
|
||||||
g_object_set( object, "output", t );
|
|
||||||
|
|
||||||
ie. replace the output object
|
|
||||||
|
|
||||||
fails due to "assign once only" rule ... we need "don't assign after
|
|
||||||
written" instead
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,24 +87,20 @@ VIPS_ARGUMENT_OPTIONAL_OUTPUT Eg. the x pos of the image minimum
|
|||||||
#define VIPS_ARGUMENT_REQUIRED_INPUT \
|
#define VIPS_ARGUMENT_REQUIRED_INPUT \
|
||||||
(VIPS_ARGUMENT_INPUT | \
|
(VIPS_ARGUMENT_INPUT | \
|
||||||
VIPS_ARGUMENT_REQUIRED | \
|
VIPS_ARGUMENT_REQUIRED | \
|
||||||
VIPS_ARGUMENT_CONSTRUCT | \
|
VIPS_ARGUMENT_CONSTRUCT)
|
||||||
VIPS_ARGUMENT_SET_ONCE)
|
|
||||||
|
|
||||||
#define VIPS_ARGUMENT_OPTIONAL_INPUT \
|
#define VIPS_ARGUMENT_OPTIONAL_INPUT \
|
||||||
(VIPS_ARGUMENT_INPUT | \
|
(VIPS_ARGUMENT_INPUT | \
|
||||||
VIPS_ARGUMENT_CONSTRUCT | \
|
VIPS_ARGUMENT_CONSTRUCT)
|
||||||
VIPS_ARGUMENT_SET_ONCE)
|
|
||||||
|
|
||||||
#define VIPS_ARGUMENT_REQUIRED_OUTPUT \
|
#define VIPS_ARGUMENT_REQUIRED_OUTPUT \
|
||||||
(VIPS_ARGUMENT_OUTPUT | \
|
(VIPS_ARGUMENT_OUTPUT | \
|
||||||
VIPS_ARGUMENT_REQUIRED | \
|
VIPS_ARGUMENT_REQUIRED | \
|
||||||
VIPS_ARGUMENT_CONSTRUCT | \
|
VIPS_ARGUMENT_CONSTRUCT)
|
||||||
VIPS_ARGUMENT_SET_ONCE)
|
|
||||||
|
|
||||||
#define VIPS_ARGUMENT_OPTIONAL_OUTPUT \
|
#define VIPS_ARGUMENT_OPTIONAL_OUTPUT \
|
||||||
(VIPS_ARGUMENT_OUTPUT | \
|
(VIPS_ARGUMENT_OUTPUT | \
|
||||||
VIPS_ARGUMENT_CONSTRUCT | \
|
VIPS_ARGUMENT_CONSTRUCT)
|
||||||
VIPS_ARGUMENT_SET_ONCE)
|
|
||||||
|
|
||||||
extern int _vips__argument_id;
|
extern int _vips__argument_id;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user