Commit Graph

44772 Commits

Author SHA1 Message Date
Michael Natterer 68f9b540c7 libgimp: fix all GIMP_PROC_ARG,AUX_ARG,VAL_FOO() macros
They all had "class" as first argument (copied from gimpconfig-params.h)
and only worked accidentially because all functions they are used in
happen to have the right local "procedure" variable...
2019-10-02 22:17:37 +02:00
Michael Natterer 871a31f70c plug-ins: remove ddsplugin.h and add ddsread.h and ddswrite.h 2019-10-02 20:54:16 +02:00
Michael Natterer 42564c076a plug-ins: port file-dds-save to GimpProcedureConfig 2019-10-02 20:47:33 +02:00
Ell ec6bbd1937 app: update drawable bounding box when floating-selection bounding box changes
When the bounding box of a floating selection changes, update the
bounding box of the associated drawable, since floating selections
are no longer clipped to the drawable's bounds in general.
2019-10-02 21:35:21 +03:00
Ell d17dc3112f libgimp: fix segfault in gimp_procedure_config_load_default() with NULL error 2019-10-02 20:51:59 +03:00
Ell 1e9bf288ba app: fix CRITICAL when translating selected content
Fix a CRITICAL when creating a floating selection by Alt-dragging a
selection using one of the selection tools.
2019-10-02 18:38:01 +03:00
Ell 64b979c2f3 Issue #2837 - Floating selection is clipped to base layer
When attaching a floating selection to a layer, don't clip the
floating selection to the layer's boundary, and instead resize the
layer to include the entire floating selection when it's anchored.
As per the last commit, this can be prevented by locking the
layer's position.
2019-10-02 18:20:50 +03:00
Ell 6ed6cd78d8 app: don't resize layer when applying filter if its position/size are locked
When applying a filter to a layer whose position and size are
locked, avoid resizing the layer to the result size in ADJUST mode.
We do this by always returning GIMP_TRANSFORM_RESIZE_CLIP in
gimp_item_get_clip() when the position is locked, and properly
updating the drawable-filter's clip mode, and the filter-tool's UI,
when the position lock changes.
2019-10-02 18:20:49 +03:00
Ell aa02f1f35c app: fix use of Clone tool with "sample merged" across images
In GimpSourceCore, when "sample merged" is enabled, derive the
source pickable from the source drawable's image according to the
paint-core's show-all flag manually, instead of using
gimp_paint_core_get_image_pickable(), which uses the destination
image, and would therefore only work when the source and
destination images are the same.

In GimpSourceTool, override GimpPaintTool::paint_prepare() to set
the paint-core's show-all flag according to the source display,
rather than the destination display.
2019-10-02 17:14:36 +03:00
Ell ffd6c2eda2 app: add GimpPaintTool::paint_prepare() vfunc
... which is called when starting to paint, before the tool's
paint-core is started, allowing the tool to configure the core.
Move the call to gimp_paint_core_set_show_all() to the default
implementation of paint_prepare().
2019-10-02 17:14:36 +03:00
Jehan 35f55ef07a devel-docs: update a reference to 32-bit pointers.
Though the description of the POINTER type clearly tells of the new type
size, it was still refered as 32-bit only in this introductory text.
Let's fix this.
2019-10-02 01:13:23 +02:00
Michael Natterer 75396106d1 plug-ins: port file-dds-load to GimpProcedureConfig 2019-10-01 23:31:06 +02:00
Michael Natterer e2ec4e0bd2 plug-ins: more file-dds cleanup 2019-10-01 18:29:42 +02:00
Ell 6b8ffd419d app: add missing SET_SENSITIVE() for new filter actions 2019-10-01 19:03:22 +03:00
Jehan e65639ecc3 plug-ins: generated rc files depends on git-version.h.
We must make sure that git-version.h has already been generated before
we run windows.compile_resources() for the Windows host.
2019-10-01 00:38:28 +02:00
Jehan 203509fe46 gitlab-ci: run gdk-pixbuf-query-loaders.
It was not necessary when I was only running the cross-build job. Not
sure why it is needed now. What do the parallel jobs share exactly in
this CI system? Anyway…
2019-09-30 23:05:01 +02:00
Jehan f87ae8cc6c libgimp: fix meson build. 2019-09-30 23:05:01 +02:00
Jehan e17efb7a07 build, gitlab-ci: add a script to cross-build GIMP with Gitlab CI.
It looks like Arch does not have mingw64 cross-compilers in core package
repository. It does have some package in the user repository (AUR), but
I assume that such a repository cannot be deemed as safe.

Anyway I still tried, but apparently these AUR packages have to be built
and when I tried, I got this error:
>  ERROR: Running makepkg as root is not allowed as it can cause
> permanent, catastrophic damage to your system.

Anyway it's all a big mess. Then I tried to move the cross-CI to Debian
testing, which is anyway our base compatibility system. Unfortunately I
encountered like what looked like some glibc++ macro problem on some
packages (most likely because the pre-built packages I use are Fedora
ones which likely uses a cross-compiler differently built from the
Debian one).

So in the end, for simplicity, I use a Fedora image, then I am sure to
get a good match between the system cross-compiler and the pre-built
dependencies.
2019-09-30 23:05:01 +02:00
Michael Natterer d3cfae2795 plug-ins: same cleanup in the DDS load dialog
and some more general cleanups.
2019-09-30 15:28:42 +02:00
Michael Natterer b10bdf88fd plug-ins: prepare file-dds for GimpProcedureConfig porting
by replacing its own combo box code by GimpIntComboBox which is
trivially portable to propwidgets. Also some formatting cleanup in the
save code.
2019-09-30 14:22:25 +02:00
Rodrigo Lledó de03dbed44 Update Spanish translation 2019-09-30 09:26:42 +00:00
Ell 88c6f8296d Issue #3994 - Artifacts when committing half-cached filters
In gimp_gegl_apply_cached_operation(), when applying a non-point
filter with the same source and destination buffers, render the
result to a temporary buffer to avoid chunking artifacts.  We'd
previously duplicate the source buffer instead (with commit
35729ee02a erroneously copying the
cached results to the source/destination buffer before duplicating
it, causing this bug), but we now use a temporary result buffer
instead; this has roughly the same overhead, but would allow us to
keep the original operation-node input when committing a drawable
filter in a future commit, which would avoid dropping any cached
data.
2019-09-30 10:25:17 +03:00
Piotr Drąg 49cd319b60 Update Polish translation 2019-09-29 16:16:20 +02:00
Martin Srebotnjak 67b3d78911 Updated Slovenian translation 2019-09-28 21:26:17 +02:00
Martin Srebotnjak 8bb1c6eff3 Updated Slovenian translation 2019-09-28 21:25:37 +02:00
Martin Srebotnjak 711aa71e7a Updated Slovenian translation 2019-09-28 21:13:10 +02:00
Michael Natterer e1a9b9242e libgimp: remove underscores from the procedure conifig load/save functions
They are needed by GimpProcedureDialog wich is in libgimp. Keep them
in the private header anyway for now.
2019-09-28 20:53:21 +02:00
Michael Natterer b6b77feae2 plug-ins: port file-bmp to GimpProcedureConfig and propwidgets 2019-09-28 19:59:03 +02:00
Michael Natterer 68c3574569 plug-ins: clean up file-bmp-save in preparation for GimpProcedureConfig
and get rid of all these expanders and frames in the dialog.
2019-09-28 16:24:25 +02:00
Ell 24731851e4 app: add missing change to last commit 2019-09-28 11:36:25 +03:00
Ell a6ebbfe317 app: avoid updating image bounding box multiple times when reordering layer
Add internal gimp_image_{freeze,thaw}_bounding_box() functions, and
use them in gimp_image_reorder_item() to avoid updating the
bounding box multiple times while moving a layer across group
boundary, to prevent flickering.
2019-09-28 11:14:11 +03:00
Ell 2a753170b9 app: update image bounding box when moving layer inside/outside of group
In GimpImage, update the image's bounding box in response to the
layer container's "add" and "remove" signals, instead of during
gimp_image_{add,remove}_layer(), so that the bounding box is
properly updated when moving an existing layer inside/outside of a
layer group, instead of only when adding/removing a new layer.

Even though moving a layer across group boundary doesn't change the
overall image bounding box, it does change the group's bounding
box, affecting the image bounding box.  It's therefore necessary to
update the image bounding box again when the layer is re-added to
the layer stack, so that the bounding box doesn't get stuck in an
intermediate state.
2019-09-28 11:14:10 +03:00
Michael Natterer 1b48c687ca plug-ins: port file-webp to GimpProcedureConfig 2019-09-27 16:24:16 +02:00
Ell 04280690b2 app: fix offset handling in spiral gradients
In gimp:gradient, properly scale the "offset" property in spiral
graidnets.
2019-09-27 16:07:21 +03:00
Michael Natterer 2e18a91916 plug-ins: saner argument name in blinds 2019-09-27 12:08:10 +02:00
Michael Natterer 5cccad9867 plug-ins: move around and clean up some code in file-webp
as preparation for GimpProcedureConfig porting.
2019-09-27 12:07:20 +02:00
Jehan 80e2e0a508 Issue #3990: make the status of the XCF docs a bit clearer (hopefully).
Though it may have started as an unofficial document, it is clearly now
an official one (which should be obvious since it is in our source
repository, but apparently some people get misled by the historical
"Status" text to think this to be somehow unofficial).
So first of all, change the s/official/unofficial/ mention.

Secondly, add a small paragraph explicitly telling that the document is
complete (and meant to be), to the best of our knowledge. This document
is a detailed, full and exhaustive written "specification" of the XCF
format up to GIMP 2.10.x (even though the normative spec is still the
code itself). Now we are humans, we may have missed something, and if
so, this is just to be considered as any other bug, and reported to us
nicely to be fixed.
2019-09-27 01:15:56 +02:00
Jordi Mas ab16f001e0 Update Catalan translation 2019-09-26 21:32:54 +02:00
Martin Srebotnjak eb0703430b Updated Slovenian translation 2019-09-26 20:52:31 +02:00
Martin Srebotnjak 5c966343a0 Updated Slovenian translation 2019-09-26 20:52:03 +02:00
Martin Srebotnjak 8829a728d8 Updated Slovenian translation 2019-09-26 20:51:37 +02:00
Martin Srebotnjak 44ad1a6740 Updated Slovenian translation 2019-09-26 20:50:51 +02:00
Martin Srebotnjak 2ea77e8780 Updated Slovenian translation 2019-09-26 20:50:34 +02:00
Michael Natterer 45e96a0ff4 libgimp: improve handling of procedure default values a lot
Add internal GimpProcedureConfig API to load/save "default values"
which are to be treated as if they were the hardcoded GParamSpec
defaults, but user-configurable. Also make all other load/save
functions available to other libgimp files.

In gimp_procedure_run(), if incomplete arguments are passed, don't
just complete them with the GParamSpec defaults, but look up the
user-saved defaults and use them if they exist. This happens before
everything else and brings back the PNG export feature of using
user-saved defaults also in non-interactive mode (but for all
procedures not just PNG export).

In GimpProcedureDialog, add "Load Defaults" and "Save Defaults"
buttons, they are the only way of managing the user-configurable
procedure defaults.

When clicking "Reset", show a popover with the reset options "Initial
Values" and "Factory Defaults".
2019-09-26 19:26:23 +02:00
Michael Natterer e4acb969ba plug-ins: port file-xpm to GimpProcedureConfig 2019-09-26 12:09:41 +02:00
Michael Natterer 9cb62f5f9a libgimp: move "image" and "run_mode" from gimp_procedure_config_end_run()
and remember them internally between begin_run() and end_run().
Simplifies plug-in code even more.

Move the begin_run() before gimp_export_image() block in all export
plug-ins.
2019-09-26 00:44:52 +02:00
Michael Natterer 1f7c823a90 libgimpwidgets: remove the gimp_radio_group_*() functions
they are antique cruft and unused.
2019-09-25 23:37:03 +02:00
Michael Natterer e8ed263e63 plug-ins: port file-sunras to GimpProcedureConfig 2019-09-25 23:26:28 +02:00
Michael Natterer 505473ab76 plug-ins: gih_save(): file-gih-save-internal takes a GFile now 2019-09-25 22:41:07 +02:00
Michael Natterer cb40cfd10e Issue #3983 - gimp_get_images returns NULL pointer whilst num_images > 0
In libgimp/gimp.c: gimp_main() make sure that GIMP_TYPE_OBJECT_ARRAY
and GIMP_TYPE_PARAM_OBJECT_ARRAY are known to the type system and can
be looked up by name.
2019-09-25 20:47:25 +02:00