Commit Graph

39555 Commits

Author SHA1 Message Date
Милош Поповић 0aeb61efc5 Update Serbian translation 2017-12-24 18:18:44 +00:00
Милош Поповић 5008283e1c Update Serbian translation 2017-12-24 18:17:02 +00:00
Piotr Drąg 43b23df81e Update Polish translation 2017-12-24 17:06:41 +01:00
Sveinn í Felli af17ac600e Update Icelandic translation 2017-12-24 15:00:57 +00:00
Ell c6cb985733 app: fix rotated brush boundary position
... after commit a0b73420ec.
2017-12-24 09:13:25 -05:00
Jehan 2d4715bee9 Bug 791901 - GeglBuffers leaked with Zealous Crop. 2017-12-24 00:39:02 +01:00
Sveinn í Felli fdb9e5056f Update Icelandic translation 2017-12-23 20:11:36 +00:00
Kristjan SCHMIDT 31713ac331 Update Esperanto translation 2017-12-23 19:53:59 +00:00
Jehan e2664f1d29 devel-docs: add a new file "debugging-tips.txt".
This will be a neat reminder for some of the hidden environment
variables helpful to debug GIMP in some cases, as well as some other
tricks, which we often have to tell people or even which we forget (or
don't even know sometimes) ourselves.
This will be less annoying to just remember to check this file if we
forget the name of some environment variable than to try and grep the
git log or the code.
If someone adds another environment variable which changes some behavior
of the code, please add it here. Also if you know some other helpful
tricks, share with all. Thanks.
2017-12-23 20:44:29 +01:00
Jehan 6bd43d73d8 app: add back helper features to output possible flags for GIMP_DEBUG.
Since commit a427213fb8, the special glib value "help" does not work
anymore as a helper (listing the list of available flags).
This means that to use GIMP_DEBUG environment variable, one has to
either know them all by heart or check the app/gimp-log.c file.
This commit still leaves "help" as a normal flag for GIMP_LOG_HELP
domain in GIMP, but creates instead "list-all" as the new helper value.

Moreover as a fallback, setting a random value to GIMP_DEBUG with no
valid flags in it will also output the list of available flags. This
way, one doesn't even have to remember a specific string to obtain the
list.
2017-12-23 20:41:55 +01:00
Alexandre Prokoudine b84874a798 Fix the 1280x720 document template 2017-12-23 22:25:29 +03:00
Sveinn í Felli 54158342ca Update Icelandic translation 2017-12-23 16:09:27 +00:00
Sveinn í Felli a73565f7c3 Update Icelandic translation 2017-12-23 13:43:52 +00:00
Sveinn í Felli 4e3cadc9c7 Update Icelandic translation 2017-12-23 08:45:04 +00:00
Sveinn í Felli 6dcb0f76eb Update Icelandic translation 2017-12-23 07:44:26 +00:00
Jehan 3f60a80d91 NEWS: still keeping the NEWS up-to-date. 2017-12-23 00:49:06 +01:00
Piotr Drąg 4df282a6fb app: fix a typo (realtive) 2017-12-23 00:13:18 +01:00
Piotr Drąg 09035bc3f5 Update POTFILES.in 2017-12-23 00:09:33 +01:00
Ell eded91e118 Bug 753412 - New Canvas rotation feature rotates brush.
Replace the "lock brush size to zoom" paint option with a "lock
brush to view" option, which links the entire brush transform to
the view transform, so that the brush remains invariant in display
space under scaling, rotation, and reflection.
2017-12-22 17:52:29 -05:00
Ell a0b73420ec app: add support for brush reflection
Add support for reflecting brushes as part of their transformation.
The reflection is performed as the last step of the transformation,
across the vertical axis.

The option to reflect the brush is not exposed in the UI, or
through the PDB, but is intended to be used for linking the brush
transformation to the view transformation, in the next commit.
2017-12-22 17:52:29 -05:00
Ell 27688ee752 app: fix angle calculation of generated brushes
... so that we don't effectively take the absolute values of
angles.
2017-12-22 17:52:29 -05:00
Ell 067277340d app: fix brush zoom verification in gimp_brush_core_pre_paint() 2017-12-22 17:52:29 -05:00
Jehan 5f00c189e6 app: also show line info (distance, angle) when moving an endpoint.
When you move an endpoint in the Blend Tool, angle and distance
information are especially important, in case you want to draw a
gradient with specific values.
2017-12-22 23:41:40 +01:00
Jehan e1621c32d3 app: use gimp_display_shell_get_line_status() for GimpToolLine.
Currently Blend tool only shows the vector coordinates whose usefulness
is a bit of a question. Now it will also show distance (in current shell
unit) and angle!
2017-12-22 23:24:24 +01:00
Jehan 2069496af3 app: use the new gimp_display_shell_get_line_status() for measure...
... and paint tools (shift-click mode). The feature was already there
but reimplemented twice. Just replace the code to use the same function.
2017-12-22 23:24:24 +01:00
Jehan 0116d7316a app: new gimp_display_shell_get_line_status().
Factorize the code to show status for tools needing to show line
information.
2017-12-22 23:24:24 +01:00
Sveinn í Felli ae12413bfd Update Icelandic translation 2017-12-22 22:20:47 +00:00
Jehan 317f7fa5ca Bug 791514 - Cannot export to webp file.
fopen() modes "wb+" and "w+b" are aliases of the same opening mode
(truncate/create in binary read/write). But it turns out that Windows
implementation does not understand "wb+". The alias "w+b" works fine in
my tests.
2017-12-22 19:25:11 +01:00
Jehan eb21819081 plug-ins: clean the rest of the file-fli plug-in.
While I am at it, let's just do all the files in there. Other also had a
bunch of tabs and wrong coding style.
2017-12-22 18:08:19 +01:00
Jehan 375b767928 plug-ins: clean-up coding style of fli plug-in code.
There should be absolutely no code change semantic in this commit. If
there is, that's a mistake and it's on me. I only cleaned up the syntax
in the C file which basically was following none of GIMP coding style
(tabs everywhere, brackets at end of lines, nearly no space anywhere so
all the code was a compressed mess which was hard to read, indentation
absolutely wrong everywhere, etc.).
I cleaned it up with a bunch of regexp search-and-replace followed by a
lot of manual cleaning and verification as well.

I also tested with various FLI files found on the web, and they were
loading fine in GIMP. So I believe/hope that I didn't mess up somewhere,
but it looks as the cleaning went all fine.
2017-12-22 16:00:34 +01:00
Tobias Stoeckmann edb251a7ef Bug 739133 - (CVE-2017-17785) Heap overflow while parsing FLI files.
It is possible to trigger a heap overflow while parsing FLI files. The
RLE decoder is vulnerable to out of boundary writes due to lack of
boundary checks.

The variable "framebuf" points to a memory area which was allocated
with fli_header->width * fli_header->height bytes. The RLE decoder
therefore must never write beyond that limit.

If an illegal frame is detected, the parser won't stop, which means
that the next valid sequence is properly parsed again. This should
allow GIMP to parse FLI files as good as possible even if they are
broken by an attacker or by accident.

While at it, I changed the variable xc to be of type size_t, because
the multiplication of width and height could overflow a 16 bit type.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2017-12-22 13:32:21 +01:00
Ell fff57f84a0 app: add gimpdisplayshell-utils.[ch]
... should have been part of last commit.
2017-12-22 06:59:21 -05:00
Ell 984ed6cefd app: constrain line angles in display space, not image space
Add an offset_angle parameter to gimp_constrain_line(), which
offsets the radial lines by a given angle.

Add gimpdisplayshell-utils.[ch], with two new functions:

  - gimp_display_shell_get_constrained_line_offset_angle():
    Returns the offset angle to be passed to
    gimp_constrain_line(), in order to constrain line angles in
    display space, according to the shell's rotation angle and
    flip mode.

  - gimp_display_shell_constrain_line():  A convenience function
    which calls gimp_constrain_line() with the said offset angle.

Use the new functions in all instances where we constrain line
angles, so that angles are constrained in display space, rather
than image space.

The only exception is GimpEditSelectionTool, which keeps
constraining angles in image space, since it's not entirely obvious
that we want to constrain angles of dragged layers/selections in
display space.
2017-12-22 06:32:24 -05:00
Jehan 59fd0315c2 NEWS: keep it up-to-date! 2017-12-22 03:16:24 +01:00
Jehan ba759fbcfd Revert "Bug 790784 - (CVE-2017-17784) heap overread in gbr parser / load_image."
This reverts commit 06d24a79af.

The CVE is still fixed but now in a different way. Commit 4fa0cd4dcf
passes instead the accurate string length when using the string, hence
making it work even when not NUL-terminated. This has the advantage of
having the GBR file loaded in the end, despite such file format error. I
am personally not persuaded this is the best path since a file with such
an error may either be corrupted, or worse may have been constructed on
purpose to be harmful, so rejecting it directly may be the safe choice.
Nevertheless I may also be too doubtful and maybe trying to save a
slightly corrupted file may be the nicest choice indeed.
2017-12-21 22:14:39 +01:00
Tobias Stoeckmann 4fa0cd4dcf gbr/pat: Fix out of boundary read on illegal names
The file formats GBR and PAT contain names which are supposed to be
NUL-terminated within the files. If no such terminating NUL byte
exists, the parsers of GBR and PAT trigger an out of boundary read
during utf-8 conversion.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2017-12-21 22:09:54 +01:00
Piotr Drąg f01fa4541f Update Polish translation 2017-12-21 22:04:50 +01:00
Jehan 5b9e277625 app, plug-ins: clean up previous commit by using g_error_set()...
... instead of g_message().
2017-12-21 21:55:04 +01:00
Massimo Valentini 657a754f98 Bug 789610: invalid gbr brush crashing GIMP 2017-12-21 21:50:09 +01:00
Jehan 877e79b935 plug-ins: properly propagate GError.
Some g_message() stay when they are used as debug or warning message
(without actually cancelling load action). But all fatal errors now use
g_set_error().
2017-12-21 21:47:25 +01:00
Jehan 037cc8586b plug-ins: use g_set_error() instead of g_message().
Also simplifies a bit the check for PSP version support.
2017-12-21 20:32:17 +01:00
Alan Mortensen 3ff911d348 Updated Danish translation of gimp-tips 2017-12-21 18:40:25 +01:00
Jehan eb2980683e Bug 790853 - (CVE-2017-17787) heap overread in psp importer.
As any external data, we have to check that strings being read at fixed
length are properly nul-terminated.
2017-12-21 12:49:41 +01:00
Jehan 06d24a79af Bug 790784 - (CVE-2017-17784) heap overread in gbr parser / load_image.
We were assuming the input name was well formed, hence was
nul-terminated. As any data coming from external input, this has to be
thorougly checked.
2017-12-21 12:15:34 +01:00
Jehan 28e95fbeb5 Bug 790849 - (CVE-2017-17789) CVE-2017-17789 Heap buffer overflow...
... in PSP importer.
Check if declared block length is valid (i.e. within the actual file)
before going further.
Consider the file as broken otherwise and fail loading it.
2017-12-20 16:44:20 +01:00
Jehan 3d5732e23e plug-ins: some minor coding style fix.
Just some missing spaces between function name and parenthese which I
came across.
2017-12-20 15:12:10 +01:00
Jehan 8ea316667c plug-ins: TGA 16-bit RGB (without alpha bit) is also valid.
According to some spec on the web, 16-bit RGB is also valid. In this
case, the last bit is simply ignored (at least that's how it is
implemented right now).
2017-12-20 13:28:44 +01:00
Jehan 674b62ad45 Bug 739134 - (CVE-2017-17786) Out of bounds read / heap overflow in...
... TGA importer.

Be more thorough on valid TGA RGB and RGBA images.
In particular current TGA plug-in can import RGBA as 32 bits (8 bits per
channel) and 16 bits (5 bits per color channel and 1 bit for alpha), and
RGB as 15 and 24 bits.
Maybe there exist more variants, but if they do exist, we simply don't
support them yet.

Thanks to Hanno Böck for the report and a first patch attempt.
2017-12-20 13:02:38 +01:00
Alexandre Prokoudine 9d31d4caf5 Technical fix for updated ru.po 2017-12-20 01:04:44 +03:00
Alexandre Prokoudine 0952114df0 Update Russian translation 2017-12-20 00:59:44 +03:00