Commit Graph

43270 Commits

Author SHA1 Message Date
Ell
84e183e5ed Issue #3306 - Memory leak using Crop tool
In gimp_canvas_passe_partout_get_extents(), free the inner region
after XORing it with the outer region.
2019-04-30 16:47:00 -04:00
Ell
068df34a27 Issue #3304 - Invalid write when halting filter tool with controller
In GimpFilterTool, properly clean up the controller's widget weak-
pointer and signal-handlers upon destruction, to avoid invalid
memory access when the widget is destroyed, if the widget outlives
the controller.
2019-04-30 16:46:59 -04:00
Ell
928e5957e3 app: in gimp-gegl-nodes, set underlying operation
In the vairous gimp_gegl_create_foo_node() functions, set the
parent node's underlying operation node, so that
gimp_gegl_apply_cached_operation() avoids duplicating the source
buffer when applying these nodes (all underlying operations are
currently point ops.)
2019-04-30 14:32:18 -04:00
f760a333a1 app: have the extension GUI listen to manager install/remove events.
The GUI is uglier than ever. I added a frame in a frame to put an
uninstall button. Please don't mind it, this is temporary. I just needed
to test uninstallation and don't know yet what are the proper widgets
to use for a nice design. :P
2019-04-29 20:56:28 +09:00
50aa7233b2 app: add extension installation in GimpExtensionManager.
This completes my earlier commit 406279e4ef.
Extension installation is not about just decompressing a file in the
right folder. We must also make the extension manager and the GUI aware
of this newly available extension.
2019-04-29 20:56:28 +09:00
f7e483dd64 app: add ability to remove an extension.
Removing an extension means just unloading it and temporarily move it to
an "uninstalled" list. The actual files will only be deleted when
cleanly exiting the program, hence finalizing the extension manager.
This will allow undoing an extension removal easily.
2019-04-29 20:56:28 +09:00
15a62eea8e Update Polish translation 2019-04-28 16:20:07 +02:00
88f97aedef Issue 2949: Newly Installed Fonts not Registering.
Apparently Microsoft added just recently the feature to install user
font (as opposed to system-wide fonts), without administration rights
(yes, only now, how crazy is that?). Right now GIMP does not see fonts
there.

We have an upstream report at fontconfig where such a default search
path should happen.
See: https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/144
Until it gets fixed there, let's just add the user fonts dir ourselves
in GIMP. This code should get killed later.

Notes:
- I renamed various DEFAULT_* data macros to GIMP_DEFAULT_* because
DEFAULT_PALETTE was conflicting with another macro in Windows API!
- Also I removed the DATADIR macro set under app/config/ because it is
also conflicting and anyway we use it in no files on this level.
- This is not perfectly tested on Windows. Please everyone with Windows
access, could you build and test if it works fine before release?
2019-04-28 22:38:26 +09:00
11e8ba0f51 build: add Wayland support to nightly flatpak.
This was removed for the stable flatpak as it's GTK+2 which has no
support anyway but should be present for the future GIMP 3 flatpak.
2019-04-28 13:00:41 +09:00
02b2867134 Update Catalan translation 2019-04-27 08:50:51 +02:00
3ce4fbdac1 Update Catalan translation 2019-04-27 06:16:53 +00:00
d0529dc5d0 Update Catalan translation 2019-04-27 06:16:26 +00:00
Ell
71c624c5ab app: flush image when committing free-select tool
In GimpFreeSelectTool, flush the image when committing the tool, if
the seletion is created at the time of the commit (i.e., if the
polygon is not closed prior to the commit).
2019-04-26 03:37:13 -04:00
2ee1ceb21f Update Hungarian translation 2019-04-26 05:46:41 +00:00
0af3be5600 Update Hungarian translation 2019-04-26 05:45:35 +00:00
abbf4d157d Update Hungarian translation 2019-04-26 05:43:31 +00:00
01f258faec Issue #3309: Translation of gimp installer for MS Windows.
Several of our own translations of the Windows installer are unused
because Inno Setup corresponding translations are marked "unofficial".
This mostly means that the language files for these are probably old and
unmaintained, hence outdated. And these files are not bundled together
with Inno Setup release (though still hosted in their repo).

Nevertheless it doesn't make sense that we would just waste the work of
our translators here. Maybe Inno Setup localization is not complete, so
what? At best it could even encourage translators to contribute upstream
to Inno Setup. Let's just enable all our current localizations of the
installer and see how it goes!
2019-04-26 01:07:30 +09:00
Ell
3369958525 app: increase GimpSelectionTools idle priority to avoid flickering
In gimp_selection_tool_start_change(), increase the priority of the
idle source used for hiding the selection so that it's run before
the canvas is redrawn, to avoid flickering the previous selection.
2019-04-25 09:54:31 -04:00
3db167083a build: bump nightly flatpak manifest to GNOME 3.32 runtime.
Following today's update from the stable manifest at flathub.
2019-04-25 21:32:41 +09:00
062195117c plug-ins: fix TIFF linear export.
The export code was checking the existence of a profile variable which
was never set. In other words, it seems we were always converting TIFF
pixels to non-linear, even when we were also exporting a linear profile.

Note that is not useful anymore to check profile existence as we now use
the effective profile (which always exists). So we just have to check if
the "save profile" option is on.
2019-04-25 20:23:06 +09:00
Ell
6a2bea733b app: fix dirty mask/action in the rectangle- and free-select tools
In GimpRectangleSelectTool and GimpFreeSelectTool, make sure the
tool is committed when the selection is dirty.
2019-04-25 07:08:54 -04:00
Ell
476833b553 Issue #2328 - Free Select tool should create preliminary marching ants selection
In GimpFreeSelectTool, use gimp_selection_tool_{start,end}_change()
to create the selection as soon as the polygon is closed, and
update it when the polygon, or the relevant tool-options, change,
similarly to GimpRectangleSelectTool.
2019-04-25 06:07:58 -04:00
Ell
afab7deaa3 app: factor-out common free/fg-select logic into GimpPolygonSelectTool
We currently derive GimpForegroundSelectTool from
GimpFreeSelectTool, which prevents us from making changes that are
limited to the free-select tool.

Factor out the common free-select and foreground-select logic into
a new GimpPolygonSelectTool base-class, and derive both from this
class.
2019-04-25 06:07:57 -04:00
Ell
134ff92fe0 app: add GimpToolPolygon::change-complete signal
... which is emitted when finishing a change to the polygon,
similarly to GimpToolRectangle::change-complete.
2019-04-25 06:07:57 -04:00
Ell
f84f1d89dc app: add gimp_tool_polygon_is_closed() 2019-04-25 06:07:56 -04:00
Ell
e8c915af93 app: allow passing NULL pointers to gimp_tool_polygon_get_points() 2019-04-25 06:07:55 -04:00
Ell
eda421e852 app: remove unused field from GimpPolygonSelectToolPrivate 2019-04-25 06:07:55 -04:00
Ell
4612105e52 app: move undo/redo logic for GimpRectangleSelectTool to GimpSelectionTool
Move GimpRectangleSelectTool's image undo/redo logic to
GimpSelectionTool, by adding a pair of
gimp_selection_tool_{start,end}_change() functions.  These
functions should be called by subclasses before/after changing the
selection, having the functions take care of undoing/redoing the
existing selection as necessary.  This allows us to reuse this
logic in other selection tools, specifically, the free-select tool.
2019-04-25 06:07:54 -04:00
cf892ba2f0 Issue #3220 - "How to Use Dialogs" does not open any page.
(cherry picked from commit 45784e9f50)
2019-04-24 23:32:57 +02:00
8ee11d8d75 build: update various deps in flatpak manifest.
Sync with the stable manifest at flathub!
2019-04-24 17:43:35 +02:00
f8389c1d02 Update Catalan translation 2019-04-24 05:11:09 +00:00
5ddfe36d96 plug-ins: Move layer option up in TIFF dialog
This was requested by mitch.
2019-04-23 15:57:34 +02:00
Ell
bb8648a2e9 Issue #3284 - Wrong layer renamed when switching images
In gimp_container_tree_view_clear_items(), temporarily unset the
tree-view's model before clearing it, so that name editing is
stopped beforehand.  Otherwise, name editing is stopped once the
corresponding item is removed from the store, causing us to rename
the wrong item.
2019-04-21 10:34:40 -04:00
fb0b4330e4 Update Polish translation 2019-04-21 13:25:43 +02:00
Ell
b01113741e Issue #3275 - Crash when opening an image after closing existing image
In gimp_open_dialog_set_image(), use a weak pointer for storing the
current image, to avoid a segfault in file_open_dialog_response()
if the active image at the time of the open action has been closed
before confirming the dialog.
2019-04-20 14:53:19 -04:00
Ell
eda8b717d5 app: don't leak curve in gimp_curves_config_save_cruft() 2019-04-19 15:30:11 -04:00
b65aeaf034 Fix a terminology in zh_CN translation 2019-04-20 01:35:12 +08:00
0eb3ef2634 Update zh_CN translation of po-script-fu 2019-04-20 01:29:28 +08:00
f02a1f880e Update zh_CN translation of po-tips 2019-04-20 01:12:06 +08:00
9ee3a8a08b Update zh_CN translation of po-libgimp 2019-04-20 01:07:46 +08:00
99976fbcb0 Update zh_CN translation of po-tags 2019-04-20 00:51:21 +08:00
edb6767ed9 Update zh_CN translation 2019-04-20 00:48:50 +08:00
Ell
8fc94184a8 app: fix spin-button width in the Curves tool
In the Curves tool, explicitly set the point-coordinate spin-
buttons' width-chars, so that their size remains fixed when their
range changes.
2019-04-19 11:35:27 -04:00
Ell
f6d76ff342 app: fix last commit 2019-04-19 11:23:12 -04:00
Ell
be719f9070 app: fix Curves tool numeric-entry range/precision for > 8-bpc images
In the Curves tool, when the image precision is greater than 8-bpc,
use a 0.00-100.00 range for the point-coordinate spin-buttons,
instead of a 0-255 range.
2019-04-19 11:13:14 -04:00
Ell
33e47c85a2 app: add smooth/corner curve-point types
Allow setting the type of GimpCurve control-points to either SMOOTH
or CORNER.  Smooth points produce a smooth curve, while corner
points produce a sharp curve (previously, all points were smooth).

In GimpCureView, display corner points using a diamond shape,
instead of a circle.

In the Curves tool, allow changing the curve's point types.
2019-04-19 10:34:32 -04:00
Ell
5140d903b8 Issue #1528 - Allow precise or numeric input in color curves tool
Add input/output spin-buttons to the Curves tool, which allow
setting the selected point's coordinates numerically.
2019-04-19 10:34:31 -04:00
Ell
91ecca7e10 app: add "selection-changed" signal to GimpCruveView
... which gets emitted when the selected point changes.
2019-04-19 10:34:31 -04:00
Ell
b6d829a1b2 app: streamline GimpCurve
In GimpCurve, replace the use of a fixed-length control-point array
with a dynamically-sized array.  Adapt GimpCurve's interface, and
the rest of the code.

In addition to simplifying the code, this fixes a bug where the
curve object could be broken by moving the mouse too fast (yep...),
and allows more accurate point placement, both in the GUI editor,
and through canvas interaction in the Curves tool (see issue #814).
2019-04-19 10:34:29 -04:00
Ell
dc6ca2cf9a app: fix gimp_operation_levels_map_input() for negative values
... when gamma != 1
2019-04-19 10:32:05 -04:00