Commit graph

42393 commits

Author SHA1 Message Date
Alan Mortensen
66acf6641c Updated Danish translation of gimp-libgimp 2018-09-29 17:44:06 +02:00
Alan Mortensen
e98dbc3d53 Updated Danish translation 2018-09-29 17:40:37 +02:00
Ell
2e47f8277c app: avoid applying buffer to drawable if application region is empty
In gimp_drawable_real_{apply,replace}_buffer(), bail if the
applcation region, after intersection with the drawable and mask
extents, is empty.  This avoids trying to create a GeglBuffer with
negative width/height.

(cherry picked from commit ae3c006293)
2018-09-29 10:27:26 -04:00
Ell
fce08d2af7 Issue #2287 - Weird things happen with dodge tool ...
... (some sort of corruption)

In gimp_drawable_real_replace_buffer(), adjust the processed buffer
and mask_buffer regions according to the changes made to the
application region, as calculated by intersecting it with the
drawable and mask extents.  This fixes wrong application position
when painting using the heal, dodge/burn, smudge, or convolve
tools, on a drawable whose origin is above/to the left of the
image's origin, and there's a selection active.

(cherry picked from commit a782acab57)
2018-09-29 10:27:26 -04:00
Ell
943f92a6ac Issue #2222 - Warp Transform doesn't commit changes upon saving ...
... the XCF file

Add a "saving" signal to GimpImage, which is emitted when the image
is about to be saved or exported (but before it's actually saved/
exported).  Connect to this signal in tool-manager, and commit the
current tool in response (unless its GimpToolControl::preserve is
TRUE).

(cherry picked from commit ae628a8664)
2018-09-29 02:40:27 -04:00
Ell
df265073e4 tools: in performance-log-viewer.py, retain call-graph path
In the performance-log viewer's profile view, retain the current
call-graph path across state changes.

(cherry picked from commit fca05065e1)
2018-09-29 00:16:25 -04:00
Ell
61367b3f39 app: in performance-log-viewer.py, add undo support
Add undo functionality to the performance-log viewer, which allows
undoing/redoing changes to the sample selection, and the call-graph
state.

(cherry picked from commit 6ad3dbdb17)
2018-09-28 16:31:00 -04:00
Daniel Mustieles
45ee51c9ec Updated Spanish translation 2018-09-28 16:00:38 +02:00
Daniel Mustieles
d8a4e810da Updated Spanish translation 2018-09-28 13:01:58 +02:00
Piotr Drąg
f5598dc746 Update Polish translation 2018-09-28 00:06:08 +02:00
Jehan
e736532637 desktop: prepare release of GIMP 2.10.8.
Please everyone, feel free to update the list of upcoming
changes/features, if you feel some particular change should be more
prominently exposed in this list (or at the opposite that some change is
not worth mentionning), or for rewording, etc.

(cherry picked from commit ba53a833b2)
2018-09-27 23:33:22 +02:00
Ell
c9510721c5 app: construct tool-options GUI lazily
We currently construct the tool-options GUI for all the tools at
startup, which takes a significant amount of time.  Instead,
only register the GUI construction function with the tool-options
object, using the new gimp_tools_set_tool_options_gui_func()
function, and use the registered function to construct the GUI when
actually needed.

(cherry picked from commit c1347a7f26)
2018-09-27 02:44:35 -04:00
Ell
6bc2b330bb tools: various improvements in gimp-performance-log-viewer.py
Fix int-ratio variable formatting when the input is NaN, which can
happen when calculating the standard deviation, if all the values
are infinite.

Fix keyboard sample-range selection.

Deselect all samples when right-clicking a sample graph.

(cherry picked from commit d33fb0e7b8)
2018-09-27 01:13:12 -04:00
Ell
97a29b1e9e plug-ins: in script-fu, don't query PDB procedures' info on startup
script-fu used to query the information of every PDB procedure on
startup, in order to get the number of parameters for each
procedure.  This was done so that nullary procedures were defined
in such a way as to accept (and ignore) any number of arguments
(and at least one of the scripts we ship relies on this behavior).
However, this requires expensive back-and-forth communication with
the main GIMP process, which notable slowed down script-fu's
startup, and had a non-negligible impact on GIMP's startup time.

Instead, avoid querying procedure information, and implement the
special behavior for nullary procedures at call time.  We do this
by defining, in addition to the "strict" gimp-proc-db-call
procedure, a "permissive" -gimp-proc-db-call internal procedure,
and using the latter to call the predefined PDB procedures.

(cherry picked from commit 9a2999a553)
2018-09-26 14:41:29 -04:00
Rafael Fontenelle
edeb1d2981 Update Brazilian Portuguese translation 2018-09-26 08:12:38 -03:00
Rafael Fontenelle
140e371d5a Update Brazilian Portuguese translation 2018-09-26 08:12:22 -03:00
Marco Ciampa
35bf5bcab7 Updated Italian translation 2018-09-26 10:48:10 +02:00
Ell
49390462c8 Issue #2272 - Crash when using the intelligent-scissors tool ...
... after erasing all points

When erasing the last remaining point in the iscissors tool, halt
the tool, rather than leaving the tool active with an empty curve,
which it is not prepared to handle, and which results in a segfault
once trying to add a new point.

Additionally, when erasing the last remaining segment (i.e., the
two last remaining points), don't erase the entire segment (i.e.,
both points), but rather convert the segment to its initial point,
so that, in effect, we only erase the last point of the segment.

(cherry picked from commit a5baba5539)
2018-09-26 02:14:36 -04:00
Marco Ciampa
6e1d542128 Updated Italian translation 2018-09-25 23:09:56 +02:00
Ell
6a8ece0fd5 app: confirm transforms that result in very large items
In GimpTransformTools, precalculate the resulting size of the
transformed item(s), and request confirmation if the size grows to
over 10 times the size of the image (in either dimension).  This
protects against transformations that can result in suprprisingly
large items, such as inverted transformations, and, specifically,
perspective-correction transformations performed using the measure
tool, which will be added in the following commits.

(cherry picked from commit 20a6a3583b)
2018-09-25 04:31:37 -04:00
Ell
9ad52a2220 app: add gimp_drawable_transform_get_effective_clip()
Which returns the actual clip mode that will be used by the
drawable for a particular transformation.

(cherry picked from commit 2ae823ba2b)
2018-09-25 04:31:37 -04:00
Ell
3fe077a74c app: indentation fix in gimpdrawable-transform.[ch]
(cherry picked from commit 2c52bba071)
2018-09-25 04:31:37 -04:00
Ell
0f367371aa app: tweak focus behavior of GimpToolWidgetGroup when removing widget
When removing the focus widget of a GimpToolWidgetGroup, use the
last child, rather than the first child, as the new focus widget.
This plays nicer with auto-raise, and is probably better anyway.

(cherry picked from commit 24fb597196)
2018-09-23 13:26:55 -04:00
Ell
693cea427a app: in GimpToolWidgetGroup, improve focus behavior when adding/removing widgets
When a focused widget is added to a group, make it the new focus-
widget of the group, instead of unsetting its focus if another
widget already has focus.

When removing the focused widget from a group, set a different
widget as the group's focus widget (if one exists), instead of
unsetting the focus widget, so that nonempty groups always have a
focus widget.

(cherry picked from commit 95d2c92ff2)
2018-09-23 13:26:55 -04:00
Ell
f479711814 app: in GimpToolWidgetGroup, calculate hover widget at button press
In gimp_tool_widget_group_button_press(), explicitly call
gimp_tool_widget_group_hover() before forwarding the event to the
group's hover widget, so that the hover widget gets recalculated.
If a widget is added to the group as a result of a button-press
event, this guarantees that it gets considered as a target for the
same event.

(cherry picked from commit 5b217b3ad4)
2018-09-23 13:26:55 -04:00
Ell
54fbf1a8cb tools: in performance-log-viewer.py, right-align backtrace frame number column
(cherry picked from commit 51d9934942)
2018-09-23 01:38:17 -04:00
Ell
fab6b4746d tools: in performance-log-viewer.py, set thread filter search column
(cherry picked from commit 407e9f36ca)
2018-09-23 01:17:57 -04:00
Ell
b5d628bec2 tools: in performance-log-viewer.py, add thread filter to profile
In the performance-log viewer, add an option to filter which
threads, and which states of each thread, are included in the
profile.  By default, all threads in the RUNNING state are
included.

(cherry picked from commit 3f630378b0)
2018-09-23 00:53:30 -04:00
Ell
ea17d18d1b tools: in performance-log-viewer.py, defer UI updates util needed
In the performance-log viewer, defer updates to the various UI
elements when the selection changes until they're actually shown.
This improves responsiveness when changing the selection.

(cherry picked from commit a7afbe13ec)
2018-09-23 00:53:30 -04:00
Ell
0207c9baa1 configure.ac: fix libbacktrace test
... added in last commit.

(cherry picked from commit 0245775346)
2018-09-22 22:46:43 -04:00
Ell
b065ff7de7 app: add source location information to the Linux GimpBacktrace backend
When libbacktrace is available, use it to retrieve source location
information in the Linux GimpBacktrace backend.

(cherry picked from commit 7cdd1ebeef)
2018-09-22 22:39:17 -04:00
Ell
cb26c31a96 tools: only show object/source basename in performance-log backtraces
... to reduce their verbosity.  Show the full path in the
corresponding tooltip.

(cherry picked from commit 2c8e3f8e0a)
2018-09-21 09:29:13 -04:00
Ell
e839794d36 tools: replace performance-log viewer call-graph direction icons
Use the less-ambiguous, if just as clumsy,
"format-indent-more/less" icons, to stand for the
caller -> callee, and callee -> caller, directions, respectively.

(cherry picked from commit c7a4eb4602)
2018-09-21 07:45:19 -04:00
Ell
0a900542be themes: fix arrow color of menu items with a submenu
Commit 6484e91f82 broke the arrow
color of menu items with a submenu in the Dark theme; it seems to
have always been broken in the Light and Gray themes.

Fix this, by applying the default style to the GtkMenuItem class.
2018-09-21 04:07:44 -04:00
Ell
c0e82c0381 tools: a few improvements in performance-log-viewer.py
Fix searching for samples by thread name, in particular, when there
are unnamed threads.

Use GtkMenuButton, instead of GtkButton, for the find-samples
header button.

Add mnemonics to the find-samples popover.

(cherry picked from commit c537341d35)
2018-09-21 02:42:05 -04:00
Ell
e1b85e1109 Revert "app: disable parallel asynchronous operations when GEGL_THREADS=1"
This reverts commit 1c435f313b, which
is no longer necessary after GEGL commit
c8a0b9eff07c8d9122f55f7b7527d51788ae4575.
2018-09-20 08:10:47 -04:00
Mario Blättermann
b4f4aa5bea Replace de.po 2018-09-20 09:04:58 +00:00
Mario Blättermann
2eb640e1e5 Replace de.po 2018-09-20 08:57:41 +00:00
Dimitris Spingos
30cf61f877 Updated Greek translation 2018-09-20 07:40:48 +03:00
Jehan
2fa73961c7 NEWS: add file-rawtherapee improvements (better discovery). 2018-09-19 15:11:48 +02:00
Simon Mueller
1c993c44cb Issue #2179: Get rid of the win32_use_hkcu flag.
Simply always check HKCU first. If that lookup did not yield any result,
fall back to HKLM.

(cherry picked from commit 6a5023a38a)
2018-09-19 15:07:26 +02:00
Simon Mueller
fc4cb8443e Issue #2179: Make file_rawtherapee use the registry value that is...
... provided by RawTherapee's installer (version 5.5+).

See https://github.com/Beep6581/RawTherapee/issues/4783.
This patch required a small change to file_raw_get_executable_path
because the RawTherapee installer is supposed to work without admin
privileges and therefore can't write to HKLM.

Reviewer's note (Jehan): RawTherapee's installer does not add the
registry entry yet. We assume the upstream bug report will end up doing
so (someone has to make the first step!). :-)

(cherry picked from commit 829ca6583d)
2018-09-19 15:07:18 +02:00
Alexandre Prokoudine
c38b600546 Update NEWS 2018-09-19 02:07:45 +03:00
Ell
07c134e673 app: fix incompatible pointer type warning in gimpviewrendererdrawable.c
... more GLib 2.58 fallout.

(cherry picked from commit a5c8dd5c73)
2018-09-18 16:23:45 -04:00
Ell
6f83f69e9a app: fix unhandled enumeration value warning in gimptextlayer.c
(cherry picked from commit a84b57e67e)
2018-09-18 16:23:45 -04:00
Ell
31b369d09f app, libgimp*, modules: don't use g_type_class_add_private() ...
... and G_TYPE_INSTANCE_GET_PRIVATE()

g_type_class_add_private() and G_TYPE_INSTANCE_GET_PRIVATE() were
deprecated in GLib 2.58.  Instead, use
G_DEFINE_[ABSTRACT_]TYPE_WITH_PRIVATE(), and
G_ADD_PRIVATE[_DYNAMIC](), and the implictly-defined
foo_get_instance_private() functions, all of which are available in
the GLib versions we depend on.

This commit only covers types registered using one of the
G_DEFINE_FOO() macros (i.e., most types), but not types with a
custom registration function, of which we still have a few -- GLib
currently only provides a (non-deprecated) public API for adding a
private struct using the G_DEFINE_FOO() macros.

Note that this commit was 99% auto-generated (because I'm not
*that* crazy :), so if there are any style mismatches... we'll have
to live with them for now.
2018-09-18 14:41:35 -04:00
Ell
ee11477dc5 app: some cleanup in gimppaintcore-loops
In gimp_paint_core_loops_process(), initialize the iterator with
sufficient room for the number of iterators used by the algorithm
hierarchy, instead of a fixed number.

Add an additional 'rect' parameter to the init_step() and
process_rows() algorithm member functions, which receives the area
of the currently-processed chunk, to be used instead of the
iterator's ROI member.  This allows us to pass a NULL iterator to
hierarchies that don't use an iterator, and avoid the stack-
allocated iterator hack we used in this case (and which became even
more problematic with the new iterator API).

(cherry picked from commit 6c6a7514a4)
2018-09-18 12:54:18 +02:00
Øyvind Kolås
ef035fb297 plug-ins: migrate pagecurl to new iterator api
(cherry picked from commit 6fca9959c7)
2018-09-18 12:36:13 +02:00
Øyvind Kolås
a5bbf913a4 plug-ins: migrate screenshot-x11 to new iterator api
(cherry picked from commit cc10af72cc)
2018-09-18 12:36:13 +02:00
Øyvind Kolås
8b3cd3057f plug-ins: migrate print-draw-page to new iterator api
(cherry picked from commit 49c53568d7)
2018-09-18 12:36:13 +02:00