Commit Graph

44107 Commits

Author SHA1 Message Date
Ell
b58ccec833 tools: add performance-log-close-tags.py, use in performance-log-viewer
Add a new performance-log-close-tags.py tool, which closes unclosed
tags in incomplete performance logs, allowing the rest of the
perofmance-log tools to process them.  This is necessary for
unfinished progressive logs.

Use the new tool as part of the pipeline in performance-log-viewer.

(cherry picked from commit e5fe1ef152)
2020-07-30 01:06:55 +03:00
Ell
60ca611096 app: add progressive performance logs
Add an option to record progressive performance logs.  Progressive
logs contain complete information after each recorded sample, by
writing partial address maps at each sample, containing all new
addresses introduced by the sample.  Furthermore, when recording a
progressive log, the output stream is flushed after each sample.

This allows recording complete logs even in cases where they can't
be properly terminated, such as when GIMP crashes or freezes in the
middle of the log.

Progressive logs are disabled by default, since they potentially
increase the sampling cost.  They can be enabled through a toggle
in the log file-dialog, or through the
GIMP_PERFORMANCE_LOG_PROGRESSIVE environment varaible.

(cherry picked from commit 146c234350)
2020-07-30 01:06:55 +03:00
Ell
7e21f79270 app: allow controlling performance-log parameters through the UI
When recording a performance log, allow setting the log parametrs
through the file dialog.  Currently, this includes the sample
frequency, and the option to include backtraces.

These options are still controllable through the
GIMP_PERFORMANCE_LOG_SAMPLE_FREQUENCY and
GIMP_PERFORMANCE_LOG_BACKTRACE environment variables.  When set,
the variables override the values entered through the UI.

(cherry picked from commit 126002c5c9)
2020-07-30 01:06:54 +03:00
Ell
5fc30e59d3 app: in GimpBacktrace Windows backend, return NULL backtrace if not initialized
In the Windows implementation of gimp_backtrace_new(), return NULL
if the backend is not fully initialized.

(cherry picked from commit 95b69dd77b)
2020-07-30 01:06:54 +03:00
Ell
22690abac3 Issue #5472 - CRITICAL while using Move tool with arrow keys
In gimp_edit_selection_tool_translate(), perform the active-item
checks even when the effective translation offset is 0, and only
bail afterwards.  This avoids erroneously calling
gimp_tool_message_literal() with a NULL message in this case.

(cherry picked from commit 3a462a5e63)
2020-07-29 20:08:27 +03:00
0bf0f31a5b Issue 2874 - gimp-tool-pencil.svg icon size is corrected on Color icon theme 2020-07-28 16:55:10 +00:00
a6c66e49fb build: add an additional distcheck step to .gitlab-ci.yml
Runs in the gimp stage in parallel to the make && make check build.
May catch dist errors.

Distcheck is allowed to fail. The idea is that being able to build GIMP
is more important and should get fast feedback, while make distcheck is
usually only used when a release is prepared.

Reviewer note: not sure about the "allowed to fail" part because we also
want to fix dist bugs as soon as we can (it's easier to find a bug
source when we get notified as soon as a guilty commit breaks the CI).
But anyway this is a step forward from current CI. So let's merge this
for now.
2020-07-28 16:41:54 +00:00
Ell
c38a23b90c Issue #4536 - Seg fault when trying to open image on Google Drive (Gnome 3.34.3)
In file_open_image(), mount non-native files *before* looking up a
file-proc.  Previously, we'd only mount the file after the initial
lookup, and fail to perform a second lookup if the mount succeeded,
leaving us with a NULL file-proc and a subsequent segfault.

Additionally, simplify the rest of the remote-file code-path.

(cherry picked from commit 0829dba97f)
2020-07-28 11:20:18 +03:00
040c7b8b03 NEWS: update. 2020-07-26 14:02:26 +02:00
8f539680de plug-ins: fix #5357 Image marked as compressed, but DDSD_LINEARSIZE is not set.
(cherry picked from commit 81a3370e1d)
2020-07-26 13:46:09 +02:00
430e60a898 Stop writing file paths into TIFF DocumentNames
File paths can contain confidential information such as usernames
and directory structures, making the previous behaviour a potential
privacy and security risk.

(cherry picked from commit a3a88bf6b9)
2020-07-26 12:05:04 +02:00
4d0db02081 NEWS: update. 2020-07-22 22:56:47 +02:00
08ae0a9bb9 Offer image/webp content type in .desktop file
Nautilus will only offer to open WebP files in applications that accept
the `image/webp` content type, not `image/x-webp`.  Even though it isn’t
on the [official
list](https://www.iana.org/assignments/media-types/media-types.xhtml#image),
`image/webp` seems to be more
[widely](https://en.wikipedia.org/wiki/WebP)
[recommended](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#Image_types)
than `image/x-webp`.

(cherry picked from commit 84c08e55e1)
2020-07-22 19:47:54 +02:00
7942fe66b7 Update Kazakh translation 2020-07-21 04:50:31 +00:00
3f0ffaa461 Update Kazakh translation 2020-07-21 04:44:05 +00:00
08d94826d5 Update German translation 2020-07-18 09:22:56 +00:00
40586036ee NEWS: kickstart the 2.10.22 section! 2020-07-17 22:41:23 +02:00
a897b48921 app: show playground if any of the experimental feature is enabled.
Basically if you enabled OpenCL or any of the experimental tools, it
will show the Playground in Preferences. Otherwise, say you enabled some
experimental feature months ago (e.g. with the CLI option) and you now
experience crashes or whatnot. And you forgot how to change it, and only
remembered that there was something in Preferences. It would make you
crazy to not find the tab again to disable the option.

This is even more important as OpenCL is moving from a normal option to
a playground option. So you might not even have ever seen the Playground
tab in Preferences and would not know how to disable OpenCL after you
enabled it originally in "System Resources" tab.

So now Playground is visible with any of these 3 conditions:
* If you use an unstable version.
* If you run GIMP with --show-playground option.
* If you previously enabled one of the playground options.

(cherry picked from commit d3ef6cfb18)
2020-07-17 22:22:05 +02:00
ebb5c3c0d2 app: move OpenCL settings into the Playground.
After discussions on IRC, it was decided that our current level of
support of OpenCL was not good enough. As a normal settings, people just
see it as a normal acceleration checkbox, even despite the warning text
and emoticone saying the opposite (i.e. it may even slow things down in
some cases).
Basically this feature needs more love to be back into mainstream
Preferences.

(cherry picked from commit 0f806d0e9c)
2020-07-17 22:21:56 +02:00
a0c1a2cc36 app: add contents of /.flatpak-info in the verbose info.
This file is available in a flatpak sandbox and will contain various
info such as the build commit, very useful info as we can have several
builds for a same version. For instance if we have exactly the right
commit, we can load exactly the same binary as a bug reporter very
easily, hence are able to get source correspondance without necessarily
asking reporters to install debug symbols (though it stays easier if
they can do it).

Other interesting info contained in this file are the exact runtime
used, the installed application or runtime extensions, the permissions
(people may override our flatpak permissions so it's useful to be able
to check when they did) and environment variables…

(cherry picked from commit bc5f6371e9)
2020-07-17 22:21:47 +02:00
b0a4a95be4 Issue #5069: Gfig uses the Stroke color for filling instead of the fill color
(cherry picked from commit 0a611bd8ad)
2020-07-16 15:46:05 +02:00
5feae636f3 Update Chinese (China) translation 2020-07-15 16:07:23 +00:00
Ell
88ef1d9156 libgimpwidgets: handle Enter/Esc keys in GimpSpinButton
In GimpSpinButton, don't propagate Enter key-press events if
updating the spin-button's value in response changes the entered
text.  This prevents confirming dialogs when hitting Enter after
entering a math expression in size entries, updating their value
instead.

Likewise, don't propagate Escape key-press events if a new value
was entered, and restore the original value instead.

(cherry picked from commit e531023031)
2020-07-14 13:01:35 +03:00
1fc254a48a Update Chinese (China) translation 2020-07-11 19:07:13 +00:00
aeed6fcb85 app: make "gegl:matting-levin" default engine of Foreground Select tool.
Even though this engine is optional, we already have the code to detect
its absence at runtime, and to fallback to "gegl:matting-global". So it
won't be a problem even then.

When the operation is present though, it definitely makes a lot more
sense than matting global as default, because it performs a lot better
in most cases (as far as I could see as well as others).

(cherry picked from commit b52cdf4c90)
2020-07-09 22:43:58 +02:00
2953d70620 Update Catalan translation 2020-07-02 14:56:02 +02:00
fd58984350 Update Polish translation 2020-06-28 13:00:18 +02:00
Ell
3212da715b app: increase idle priority for hiding on-hover tool-group menu
In GimpToolButton, when in "show menu on hover" mode, increase the
idle priority for hiding the the tool-group menu upon button/menu
leave-notify.  Make the priority one step below the normal event
priority, so that a subsequent button/menu enter-notify event
canceling the idle is processed beforehand, while the idle is
otherwise still processed before ordinary lower-priority sources,
in particular, before projection rendering timeouts.
2020-06-28 12:12:36 +03:00
b177c98e32 Update Swedish translation 2020-06-25 23:42:54 +00:00
b62098d2ec Update Swedish translation 2020-06-25 20:20:26 +00:00
acef860ea7 Update Ukrainian translation 2020-06-25 19:24:37 +00:00
911b85fb3d Update Ukrainian translation 2020-06-25 19:22:51 +00:00
Ell
04d56bf31c plug-ins: add option to crop layers to image bounds when exporting TIFF
In file-tiff, add an option to crop the layers to the image bounds
when exporting individual layers (using GIMP_EXPORT_NEEDS_CROP
added in the previous commit), since TIFF has no concept of global
image bounds otherwise.  Cropping is enabled by default.
2020-06-25 18:34:20 +03:00
Ell
6c44e51b83 libgimp: add GIMP_EXPORT_NEEDS_CROP export capability
Add a new GIMP_EXPORT_NEEDS_CROP export capability, which causes
gimp_export_image() to crop the exported image content to the image
bounds; this is useful for formats that support layers, but have no
concept of global image bounds, hence cropping is the only way to
enforce the image bounds.

When showing the export dialog, give an option to either crop the
layers to the image bounds, or to resize the image to fit the
layers.
2020-06-25 18:34:20 +03:00
Ell
00d1a21b78 Issue #5274 - Exporting as TIFF fails for layers with a negative offset
When exporting a TIFF file without merging the image, make sure non
of the exported layers has a negative offset, by offsetting all the
layers as necessary.  TIFF doesn't support negative page offsets,
giving an error in libtiff.
2020-06-25 18:34:20 +03:00
Ell
33e76338d8 plug-ins: fix last commit for PLANARCONFIG == SEPARATE
(cherry picked from commit 46cb5a5e79)
2020-06-24 15:52:00 +03:00
Ell
7d5188db49 Issue #5275 - TIFF files with signed-int samples are misinterpreted as unsigned
When loading a TIFF file with signed-int samples, convert the
samples to unsigned-int by offsetting them to the unsigned range,
instead of misinterpreting them as unsigned values.

(cherry picked from commit 8b9819339d)
2020-06-24 15:36:24 +03:00
68f27d7592 Updated Italian translation 2020-06-18 16:37:59 +02:00
7e75ada64c Update Spanish translation 2020-06-18 06:36:50 +00:00
44ba3238af Fixes to Catalan translation 2020-06-18 00:02:37 +02:00
93cf53564e Updated Italian translation 2020-06-16 16:53:39 +02:00
f4ff636dd3 devel-docs: Fix typo 2020-06-16 14:18:01 +00:00
Ell
00145da370 Issue #5226 - hover over toolgroup not working
In gimp_tool_button_enter_notify(), only mask-in the mouse-button
state for determining whether to show the tool-group menu.  This
avoids other bits of state -- in particular, certain keyboard
locks, including keyboard-layout state -- from preventing the menu
from showing.
2020-06-16 13:12:34 +03:00
e8f6d848d6 Update Swedish translation 2020-06-15 20:30:10 +00:00
1c57f1a410 Another small fix in italian translation 2020-06-15 15:38:48 +02:00
23e09f2e24 Fixed plural in Italian translation 2020-06-15 15:27:03 +02:00
e5018d43a7 Fixed 3D transformation option name 2020-06-15 10:45:29 +02:00
Ell
ab15245eb1 Issue #5219 - Color>Info>Export histogram counts pixels twice
gimp_histogram() takes an inclusive range -- the plug-in has been
counting non-zero pixels twice.

(cherry picked from commit 6a01bf2df2)
2020-06-14 17:05:12 +03:00
362c68decb Update Polish translation 2020-06-14 13:42:06 +02:00
Ell
505955ba50 Issue #5232 - PSD export issue
In psd-save.c, fix erroneous call to gimp_item_get_image(), which
was being called with an image-id, instead of a drawable-id,
potentially causing an error or wrong results if the image-id did
not correspond to an existing item, or if the corresponding item
did not belong to the exported image.
2020-06-14 11:28:56 +03:00