Commit Graph

98 Commits

Author SHA1 Message Date
John Cupitt 697311bc9f typo 2022-11-28 10:29:47 +00:00
John Cupitt cbfbeb6e2d don't parse floats with scanf
since scanf uses the current locale, duh

see https://github.com/libvips/libvips/issues/3191
2022-11-28 08:51:13 +00:00
Corentin Noël 5fcca56fe8
Introspection improvements (#3079)
* vala: Enhance the metadata to contain more symbols

* Enhance the introspection coverage

Always set data with destroy function as transfer full.
2022-10-06 17:28:33 +01:00
Kleis Auke Wolthuizen 07edfe37b1
Improve symbol visibility (#2688)
* Improve symbol visibility

* Decorate required internal symbols with VIPS_API

* Remove a couple of stray header decls

* Incorporate review comment

- Ensure symbol visibility is also set on static libraries.
- Prefer to use `cc.has_function_attribute('visibility:hidden')`.

* Don't export internal deprecated symbols

* Move deprecated symbols to vips7compat.h

* `IM_FORMAT_H` -> `VIPS_FORMAT_H`

* Move `vips_window_ref` compat stub to `vips7compat.c`

* Disable deprecation warnings internally

* `vips_image_get_kill` -> `vips_image_iskilled`

* Ensure API compatibility

* Add missing include directives

* Move `vips__init` decl to vips7compat

* Move `vips__get_sizeof_vipsobject` to vips7compat

* Fix introspection build

* Fix 2 introspection warnings

* Ensure compatibility with vipsdisp

/usr/bin/ld: tilesource.o: in function `tile_source_new_from_source':
vipsdisp/tilesource.c:1627: undefined reference to `vips__region_no_ownership'
2022-04-16 10:58:55 +01:00
John Cupitt 3073ee90b7
Improve edge handling for mapim (#2681)
* almost there

* smol changes

* getting close now

segv on the test suite, annoyingly

* argh still not quite thert

* phew
2022-02-28 09:12:09 +00:00
Kleis Auke Wolthuizen 0337c09700
Cleanup gettext handling (#2695)
Use GLib's i18n support instead of copying and pasting that
logic into its own header. This deprecates the vips/intl.h
header in favour of glib/gi18n.h.
2022-02-27 15:27:28 +00:00
Kleis Auke Wolthuizen 50a74ceeec
Mark some functions and variables as static (#2691)
These are only used in the same file, and not exported.
2022-02-27 13:41:39 +00:00
Corentin Noël 69bf2be12b
Enhance the introspection support by fixing annotations (#2657)
Also refine the .metadata file
2022-02-15 10:54:40 +00:00
John Cupitt 82a8df2a1f fix some more small introspection warnings 2022-02-15 10:10:21 +00:00
John Cupitt 362adae8c6
Revert "Enhance the introspection support by fixing annotations (#2655)" (#2656)
This reverts commit 47796dcda0.
2022-02-15 10:08:07 +00:00
Corentin Noël 47796dcda0
Enhance the introspection support by fixing annotations (#2655)
* Ensure that double asterisk characters are only used for gtk-doc comments

This triggers warnings when parsing the files with the introspection scanner
and gtk-doc

* Enhance the introspection support by fixing annotations

Also refine the .metadata file

Co-authored-by: John Cupitt <jcupitt@gmail.com>
2022-02-15 09:54:32 +00:00
John Cupitt 257d84108e fix some more introspection warnings 2022-02-15 09:48:01 +00:00
Kleis Auke Wolthuizen 8a1e1eda34
Prefer g_malloc over vips_malloc in vips_blob_copy (#2489)
The use of vips_malloc is not necessary here and could potentially
be slower since it uses g_malloc0 (i.e. calloc).
2021-10-20 14:22:00 +01:00
John Cupitt 799f720c13 Merge branch 'master' into add-libnsgif 2021-02-27 23:57:14 +00:00
John Cupitt 1f4f975e7d make leak test exit with an error code
and run the libvips leak test in CI
2021-02-08 11:25:56 +00:00
John Cupitt d6c4d23d6c Merge branch 'master' into add-libnsgif 2020-07-03 02:24:09 +01:00
Kleis Auke Wolthuizen 9246094033 Fix function pointer cast issues
It is undefined behavior in C and C++ to cast a function pointer
to another type and call it that way. This does work in most native
platforms, however, despite it being UB, but in WASM it can fail.

See:
https://emscripten.org/docs/porting/guidelines/function_pointer_issues.html
2020-06-30 13:35:41 +02:00
John Cupitt 345fee4917 Merge branch 'master' into add-libnsgif 2020-06-29 23:07:13 +01:00
Lovell Fuller 3ca21ee2e8 Increase minimum glib-2.0 dependency to v2.15 (released March 2012) 2020-03-26 19:13:21 +00:00
John Cupitt cbbd4ae6dd seems to work!
just a bit more cleaning up needed ...
2019-10-27 18:19:43 +00:00
John Cupitt a2d57180b1 jpg stream output passes tests 2019-10-12 13:11:22 +01:00
John Cupitt fe4ec6d11a save int arrays to vips files
and fix a tiny memleak in loadgifns
2019-09-18 18:06:33 +01:00
John Cupitt 28999aa5b6 add vips_profile_load()
and use it in icc_transform
2019-01-10 22:48:21 +00:00
John Cupitt b8a158b69b seems to work
added some more consts as well
2019-01-03 13:34:13 +00:00
John Cupitt 9179156132 almost working
get a 1x1 pixel output now
2018-07-19 16:06:21 +01:00
John Cupitt d99a189846 missing cast 2017-10-19 17:00:56 +01:00
John Cupitt dd503c03c6 add vips_value_set_blob_free()
simpler for language bindings to call
2017-10-19 16:37:43 +01:00
John Cupitt 62e6edaace add double -> enum conversion 2017-10-03 10:55:03 +01:00
Alistair Thomas 7452d046ca Update GObject introspection annotations for libvips/iofuncs directory 2017-09-30 13:31:00 +01:00
John Cupitt c4e8e31007 try to stop non-utf8 strings getting into metadata
still seems possible, strangely, investigate
2017-08-16 18:36:25 +01:00
John Cupitt 34970d0cf2 remove some casts
and use VIPS_AREA instead
2017-07-26 14:57:27 +01:00
John Cupitt 7b64246af2 fix a couple of issues with huge profiles
The base64 encode limit was 1MB, but some huge profiles can get over
that, so it's now 10MB.

transform_save_string_blob() was incorrectly setting a refstring not a
blob as an error fallback, potentially leaving a dangling pointer.

Thanks Jaume!

See https://github.com/jcupitt/libvips/issues/666
2017-05-26 09:04:15 +01:00
John Cupitt 89509337d1 fix segv for length 0 blob print
"vipsheader -f icc-profile-data" could segv for zero-length blob
2016-09-04 06:01:11 +01:00
John Cupitt ee1874c5ca much better handling of arrayimage cli args
we were not setting the access hint on arrayimage args, so

arrayjoin "$(echo *.jpg)" x.tif[bigtiff] --across 10

would open all the jpg images to memory, usually, in random mode

now arrayimage args see the operation's access hint (seq in this case),
for much better behaviour

also, we allow any whitespace as an arg separator in arrayimage from
string
2016-02-27 20:37:20 +00:00
John Cupitt 0deb640bc4 load and save TIFFTAG_IMAGEDESCRIPTION
this often has useful metadata in, for example the OME spec has all the
metadata in there as an XML document

see https://github.com/jcupitt/libvips/issues/358
2015-12-21 13:53:33 +00:00
John Cupitt 5160010eda add vips_array_image_empty()/_append()
to help bindings without init from array
2015-10-25 17:15:45 +00:00
John Cupitt 36617bd2e4 added vips_blob_copy()
helps ruby-vips8
2015-10-24 11:12:08 +01:00
John Cupitt 180e5efe6f store all string metadata as refstr
various things break if you attach a G_TYPE_STRING as metadata, so make
sure it's always VIPS_TYPE_REF_STRING

also, type convert on read
2015-07-16 14:46:20 +01:00
John Cupitt 69fc2c1b7c getting closer ...
fix RefString handling, add a test case
2015-07-16 11:14:33 +01:00
John Cupitt 2a6dd4e3d2 oops in ref_string_get
duh typo
2015-07-15 14:52:07 +01:00
John Cupitt c35e2e5427 add RefString getter
to python now unpacks VipsRefString on get_value()
2015-06-02 13:32:48 +01:00
John Cupitt bfeeb3eb27 better leak reporting
Vips::print_all now shows VipsArea leaks as well
2015-05-01 16:42:23 +01:00
John Cupitt 240f0f1fd2 more doc work 2014-11-17 12:25:46 +00:00
John Cupitt 394149e9e8 fix all docs warnings 2014-11-17 10:32:40 +00:00
John Cupitt be4ffa6d8a more pyvips8 docs
and cleanups of various small doc markup errors
2014-11-07 14:49:18 +00:00
John Cupitt 2a992375fe add more type conversions
so we automatically do int and double -> doublevec and intvec
2014-10-31 18:11:26 +00:00
John Cupitt d012cef3b4 add some simple extras
.bandjoin(), .bandsplit(), .sin() etc etc
2014-10-29 09:47:02 +00:00
John Cupitt 63d4370043 split to a separate branch 2014-10-27 18:17:49 +00:00
John Cupitt 3788c85e54 gmic uses an imagevec for input images 2014-10-06 21:52:27 +01:00
John Cupitt d7083d7a03 make arrayimage ref/unref 2014-09-23 14:38:46 +01:00