Commit graph

42089 commits

Author SHA1 Message Date
Ell
f08065b8c6 app: write floating-point vars using C locale in performance logs
When writing floating-point instrumentation variables in
performance logs, always use the C locale, rather than the current
locale.

(cherry picked from commit 626208b17c)
2019-01-04 13:04:58 -05:00
Michael Natterer
adbac2f680 Issue #2446 - DPI information is not stored in clipboard
Set the "x-dpi" and "y-dpi" options on the GdkPixbuf set on the
clipboard. There is not much more we can do, getting that value across
the clipboard is out of our control, but at least we set the vlaues
now.

(cherry picked from commit a0263f40d0)
2019-01-04 18:13:42 +01:00
Michael Natterer
8dee1276f1 pdb: deprecate gimp_get_theme_dir() and gimp_get_icon_theme_dir()
They are unused in 2.10 and master, and we do this via the plug-in
config message anyway.
2019-01-04 15:55:47 +01:00
Michael Natterer
490d565b57 Issue #2136 - On-image UI for adjusting Linear Motion Blur
Add on-canvas GUI (simple lines) for circular, linear and zoom motion
blur. The restrictions in the interaction show pretty well that there
is room for improvement here, the line is just a bit too generic, but
it's better than nothing.

(cherry picked from commit 39406b83d3)
2019-01-04 14:40:25 +01:00
Ell
5f00ee2a7d app: in GimpHistogramEditor, cancel ongoing async upon update
In gimp_histogram_editor_update(), cancel any ongoing histogram-
calculation async before restarting the idle source.  The async
will have been canceled anyway when recalculating the histogram
once the idle source is run, but we can cancel it as soon as we
know the histogram is outdated.

(cherry picked from commit 5561da87e6)
2019-01-04 08:17:43 -05:00
Ell
8142fe4d1c app: In GimpHistogram, align copied buffer region to tile rect
In gimp_histogram_calculate_async(), align the copied region of the
drawable and mask buffers to the tile grid, so that all copied
tiles are COWed.

(cherry picked from commit d56d663eaa)
2019-01-04 08:17:42 -05:00
Michael Natterer
23cc540f62 Issue #2540 - block width / height slider of the pixelize filter don't...
...have the same scaling

gimp_prop_widget_new_from_pspec(): when restricting the scale to the
actual op area for pixel-coordinate and pixel-distance properties,
only use the max value in the axis direction for pixel-coordinate; for
pixel-distance make sure we use the same value on both axes, simply
use MAX (area.width, area.height).

(cherry picked from commit 0a1ecdf4ee)
2019-01-03 22:23:24 +01:00
Michael Natterer
75682c1650 Issue #1538 - Crash when adding file to already opened image and...
...closing this image while the file is being loaded

Ref the image around all calls to file_open_layers() and
gimp_image_add_layers() so it stays around even if the user closes the
display in the meantime.

(cherry picked from commit fc4add7c2b)
2019-01-03 16:48:32 +01:00
Michael Natterer
4a294f6d6a tools: fix perl warning about unescaped left brace in gimp-mkenums
Simply use "\{" instead of "{" for matching a literal "{".
2019-01-03 15:20:33 +01:00
Michael Natterer
84942d2614 AUTHORS: regenerated 2019-01-03 15:07:26 +01:00
Michael Natterer
4572da5491 Issue #2685 - Crash when distributing layers horizontally
Fix xcf-load.c to correct out-of-range item offsets (simply set them
to 0), so XCF files that are broken this way can still be recovered.

This doesn't fix the original bug, just recovering the crash images.

(cherry picked from commit b9265e7cde)
2019-01-03 15:06:36 +01:00
gaaned92
422486409a Issue #2716 - Windows: Rawtherapee plugin cannot be installed
On Windows, prevent RawTherapee from opening a console window

(cherry picked from commit 9e82ace409)
2019-01-03 14:12:48 +01:00
Snehalata B Shirude
3117eb799b Update Marathi translation 2019-01-03 08:04:14 +00:00
Jehan
6c0cc5e042 authors.xml: my name was in duplicate.
Leaving the one without the surname. My surname is not a secret at all,
but I really don't consider it necessary anyway.
Well if some day, another dev came in with the same first name, it will
still be time to update this file. :-)

(cherry picked from commit be0d41e1ad)
2019-01-03 00:23:39 +01:00
Jehan
582caf5a4a Issue #2611: Cannot open certain .pdf files in GIMP.
I am unsure of the problem, but it is fixed by using
poppler_document_new_from_gfile() instead of giving the contents of a
GMappedFile to poppler_document_new_from_data().
Using GFile is anyway usually prefered so I don't dig up more and just
make this change.

(cherry picked from commit a89e503054)
2019-01-02 22:58:56 +01:00
Jehan
d75a4615bd plug-ins: a lot of coding style cleanup in file-dds.
Still a lot more to do but pushing WIP to not have it wasted if more
commits come in from others.
Also got rid of some global variables.

(cherry picked from commit ff2d22d915)
2019-01-02 21:49:34 +01:00
Michael Natterer
ffbe7282be Issue #2617 - Export to C image artifacts
As correctly spotted by Royce Pipkins, the buffer for the drawable's
pixel lines was too small.

Also fix the plug-in to hardcode "R'G'B'[A] u8" so it won't misbehave
on high bit-depth images, and make it work on all sorts of drawables,
not only "RGB*" (it will still always export RGB images).

(cherry picked from commit 74c9d835e8)
2019-01-02 21:29:18 +01:00
Jehan
fb36495f1e po-python: add the new file-dds plug-in to POTFILES.skip.
Thanks to Piotr Drąg for noting it.

(cherry picked from commit e20930e1ff)
2019-01-02 20:48:39 +01:00
Jehan
188c82ddc8 plug-ins: "Export as DDS" is translatable.
Thanks to Piotr Drąg for raising my overlooking this.

(cherry picked from commit d1de204dbc)
2019-01-02 20:48:38 +01:00
Michael Natterer
c45362c57d po-plug-ins, po-script-fu: update for the DDS plug-in
(cherry picked from commit 11ed7ee68b)
2019-01-02 20:48:38 +01:00
Jehan
c8b663e1b3 plug-ins: get rid of "Show this dialog" checkbox in file-dds.
None of our load plug-ins have such a checkbox, so this is not
consistent. Moreover one you uncheck it, you just can't get back the
dialog until next GIMP restart. That's very bad usability.

(cherry picked from commit 948608e658)
2019-01-02 19:37:59 +01:00
Jehan
80667aa73f plug-ins: s/Save as DDS/Export as DDS/
Let's make the GUI title consistent with our naming.

(cherry picked from commit 7e68aa37c1)
2019-01-02 19:17:22 +01:00
Jehan
4c4c54af2d plug-ins: fix a few more warnings.
There are still a bunch of warnings, especially regarding usage of
GtkTable, GtkMisc and some unused functions.

(cherry picked from commit 8f49fad3da)
2019-01-02 18:55:24 +01:00
Jehan
a6385fa096 plug-ins: make the file-dds plug-in load correctly.
This commit fixes the following error:

> attempted to install a procedure with a full menu path as menu label,
> this is not supported any longer.

Instead, if we want new items in menu, we should use
gimp_plugin_menu_register(). I add the calls, yet comment them out,
since I don't think we want these various conversion calls into the
provided filters. The proper way for data conversion should be through
babl/GEGL.

(cherry picked from commit 67a80c8667)
2019-01-02 18:55:23 +01:00
Jehan
4c8f8f45c0 plug-ins: make file-dds compile.
This is still very broken and it doesn't load well. But at least it
compiles!
All build errors (and a few warnings though not all) fixed.

(cherry picked from commit df8a20956b)
2019-01-02 18:55:23 +01:00
Alexandre Prokoudine
91c6f27cf2 file-dds: mark some user-vsible messages for translation, expose them to PO files
Unfortunately, no items of comboboxes are currently translatble
due to the way the code is written.

(cherry picked from commit 2f3504e06a)
2019-01-02 18:55:23 +01:00
Massimo Valentini
994368d68d file-dds: support for DXT2/DXT4, initial build and GEGL-related fixes
(cherry picked from commit d25348ca24)
2019-01-02 18:55:22 +01:00
Alexandre Prokoudine
369884cf9c file-dds: add original source code of the DDS plug-in
This is the code from the 'gimp-2.9' branch of the plug-in,
integrated into GIMP's build system.

(cherry picked from commit 79bc2dc1ef)
2019-01-02 18:54:52 +01:00
Michael Natterer
c4e6c3add2 app: wrap some overly long lines in gimpbucketfilltool.c
and some other pedantic style fixes.

(cherry picked from commit 292903b78d)
2019-01-02 16:35:48 +01:00
Michael Natterer
fca2e84f4f app, libgimpbase: move enum GimpBucketFillArea to the core
The whole bucket fill specific enum stuff is on its way out, so let's
keep this one out of libgimp for now until we decide how to present
line art filling in the PDB.

(cherry picked from commit 368f2e596a)
2019-01-02 15:54:20 +01:00
Ell
e666041d72 app: in GimpTileHandlerValidate, avoid fetching/copying whole tiles
In GimpTileHandlerValidate, when rendering a whole tile in respone
to a TILE_GET command, use gegl_tile_handler_get_tile() to get the
tile without preserving its data, so that we avoid unnecessarily
fetching the tile from storage, or copying its data during
uncloning.

(cherry picked from commit 78ed038fca)
2019-01-02 07:41:44 -05:00
Snehalata B Shirude
2b542fca1e Update Marathi translation 2019-01-02 08:59:31 +00:00
Michael Natterer
a27f7c7724 Issue #1788 - Inconsistency between FG color and selected color in...
...palette views despite selected color being in the currently
selected pallette

As suggested by Massimo, changing the color comparison EPSILON in
gimppalette.c from 1e-10 to 1e-6 fixes this, and is really small
enough.

Also, generally clean up color comparison epsilons:

- use a #define, not hardcoded values for all uses of
  gimp_rgb[a]_distance()
- call the #defines RGB_EPSILON and RGBA_EPSILON
- make them all 1e-6 or larger

(cherry picked from commit abd7cbfc8d)
2019-01-02 01:53:02 +01:00
Michael Natterer
d6ca6d510e Issue #2667 - When copying a text layer, paste should create a new...
...text layer, not an image of the text

In gimp_edit_paste_get_layer(), when pasting as floating selection,
collapse the pasted layer into an ordinary layer only if it's a group
layer. There is nothing that speaks against having a floating text
layer, it works just fine.

(cherry picked from commit 8a4aacb52f)
2019-01-02 00:17:45 +01:00
Michael Natterer
d7b9cb4e71 libgimp: use G_N_ELEMENTS() in gimp_image_metadata_save_finish()
intead of hardcoding the array length.

(cherry picked from commit d873290915)
2019-01-01 20:27:43 +01:00
Michael Natterer
0f4cbb070f configure.ac: require babl >= 0.1.61
(cherry picked from commit b24cc6e7fa)
2019-01-01 19:24:42 +01:00
Ell
d90fd01b32 app: show message when attempting to change layers while there is a floating sel.
In GimpDrawableTreeView, show an error message when attempting to
select a different drawable while the image has an active floating
selection.  In GimpLayerTreeView, also blink the editor button-row
when this happens, as a hint that the floating selection can be
committed/canceled through the buttons (we already highlight the
relevant ones.)

(cherry picked from commit 070e10eda7)
2019-01-01 09:14:31 -05:00
Ell
2114d63c18 plug-ins: in image-map, fix spin-scale adjustment
Fix deprecated use of non-zero page size for a spin-button
GtkAdjustment, and increase the page increment.

(cherry picked from commit 192bc9536c)
2019-01-01 07:53:30 -05:00
Ell
563036eab6 app: more optimizations to gimp_gegl_mask_bounds()
Another inner-loop logic improvement.

(cherry picked from commit 3351174ebe)
2019-01-01 06:53:35 -05:00
Ell
ae54ed2d68 app: optimize gimp_gegl_mask_bounds()
... by using the mask's native format, and improving the inner-loop
logic.

(cherry picked from commit 819a5352f6)
2019-01-01 06:34:14 -05:00
Ell
5807ca820b app: optimize gimp_gegl_mask_is_empty()
... by using the mask's native format, and gegl_memeq_zero().

(cherry picked from commit 986a298a07)
2019-01-01 06:34:14 -05:00
Anders Jonsson
dd2a4cd97f Update Swedish translation 2018-12-31 23:40:22 +00:00
Michael Natterer
25e1197549 cursors: add -HiDPI variants of all cursors
This includes gimp-tool-cursors-x2.xcf and cursorname-x2.png files,
they are simply 72x72 upscaled versions of the 36x36 fies with no
changes.

Anyone can now improve on cursors without having to deal with the
bulid process.

(cherry picked from commit ad5bf1dee7)
2018-12-31 22:28:42 +01:00
Michael Natterer
1c43c6f989 app: fix last gimpcursor.c commit: g_printerr() needs a newline
(cherry picked from commit 20225a2268)
2018-12-31 19:14:05 +01:00
Michael Natterer
8ed8def107 app: support cursors with a scale factor of 2 for HiDPI
If the scale factor is 2 or larger, look for cursor images named
"filename-x2.png" and use them instead. Guess HiDPI based on the
monitor resolution being > 250 ppi, ugly but so what.

Manually scale up the default cursor if there is no "x2" image, using
NEAREST interpolation, which looks better than smooth scaling on HiDPI
monitors.

Next: adding better HiDPI cursor images.

(cherry picked from commit 8ff8f1d442)
2018-12-31 16:21:34 +01:00
Michael Natterer
1706950400 app: pass a GdkWindow not GdkDisplay to gimp_cursor_new()
Preparation for adding HiDPI cursors.

(cherry picked from commit 47ff7e1467)
2018-12-31 14:08:36 +01:00
Ell
e61188e666 app: small fix to gimp_drawable_edit_fill()
(cherry picked from commit 3738ff3ffd)
2018-12-31 05:33:45 -05:00
Ell
480d2aa588 app: show error on attempt to clear/cut layer with locked alpha channel
Show an error message, and blink the layers-dialog lock-box, when
attempting to clear/cut a layer with a locked alpha channel.

(cherry picked from commit e967e5fa9e)
2018-12-31 04:40:18 -05:00
Ell
5d905d1d65 app: in gimp_drawable_edit_fill(), make trivial alpha-only fill a NOP
In gimp_drawable_edit_fill(), if the fill only affects the alpha
channel, and if the drawable has no alpha channel, or the alpha
channel is masked out, do nothing, instead of unnecessarily
performing the fill, which has no effect.

(cherry picked from commit 6384ff01b6)
2018-12-31 04:40:18 -05:00
Snehalata B Shirude
38e89da697 Update Marathi translation 2018-12-31 08:35:56 +00:00