Commit graph

42393 commits

Author SHA1 Message Date
Ell
ec1f1b3a45 app: allow multiple variables as input to dashboard group-meter LED
When defining a dashboard group, allow specifying multiple
variables as input to the group meter's LED.  The LED is active
when any of the specified variables evaluates to TRUE, and its
color is the combination of the active variable colors.

Remove the swap-busy variable, and use swap-reading and
swap-writing as inputs to the swap group's LED instead, so that the
LED's color indicates whether the swap is currently being read-
from, written-to, or both.

(cherry picked from commit 716510cb83)
2018-06-28 11:39:42 -04:00
Ell
352ce20356 app: even more Windows-specific fixes in gimpdashboard.c
... and app/Makefile.am

(cherry picked from commit 19f4abbbd6)
2018-06-28 11:03:49 -04:00
Ell
6fa454dd59 app: more Windows-specific fixes in gimpdashboard.c
(cherry picked from commit 4914103b5f)
2018-06-28 10:18:42 -04:00
Jehan
398d5e553a libgimpbase: forgot to add gimp_pixpipe_params_free() in gimpbase.def.
(cherry picked from commit 1a8bf4bcaf)
2018-06-28 12:27:19 +02:00
Ell
1b01e1311c app: s/DAta/Data/ in gimpdashboard.c
(cherry picked from commit d75e599431)
2018-06-28 05:06:08 -04:00
Michael Natterer
b0dc4a58ae Issue #1340 - Critical when editing input controllers
Don't pass a NULL widget to gimp_controller_list_edit_clicked().
Spotted by Massimo.

(cherry picked from commit 0961ccf754)
2018-06-28 09:42:58 +02:00
Michael Natterer
21f87d7d82 app: fix jumping around of newly created images
Put the center_image_on_size_allocate() code into the canvas'
size-allocate callbacck.

As a side effect we now have a flag in GimpDisplayShell which
indicates that there will be a size allocate before the next frame, so
simply skip drawing the canvas completely. This fixes new images
jumping around when they are first shown.

(cherry picked from commit c0480f502d)

(this fix is actually a side effect from fixing something else in
master)
2018-06-28 09:42:48 +02:00
Anders Jonsson
7eee2614f9 Update Swedish translation 2018-06-28 06:34:00 +00:00
Jehan
ee25bfc8bd libgimpbase: add gimp_pixpipe_params_free().
And use it where appropriate. A public API asking you to know the
internals of your code is a bad idea.
2018-06-27 18:37:20 +02:00
Jehan
b585201e5e Issue #1723: gih file that crashes gimp-2.10.
The flag `free_selection_string` is used to track an array of strings
with some of them being static and others allocated. This should have
been an array of boolean but we can't change it because it is public API
(though it should really not have been!).

So let's just allocate every string of the `selection` array instead,
which makes the boolean flag useless now.
2018-06-27 18:03:37 +02:00
Jehan
6580fae7b0 devel-docs: update macOS support to OSX 10.10.
As discussed on IRC with Mitch and Samm.
Older versions may work, and Samm says he will build for 10.9 actually,
but we officially only supports for 10.10.
2018-06-27 16:06:04 +02:00
Jehan
7fb7e05d67 NEWS: keep up-to-date. 2018-06-27 04:47:53 +02:00
Jehan
e96b05beed plug-ins: lookup WMF fonts on same prefix when relocatable bundle.
When ENABLE_RELOCATABLE_RESOURCES is set, override libwmf fontdir. This
is actually an alternate version of MR !9 by Alex Samorukov assuming a
bundled GIMP on a single prefix rather than depending on an environment
variable.
This especially makes the relocatable feature more discoverable (rather
than some random environment variable for which you'd need to read the
code to discover it then make some wrapper script for GIMP).

(cherry picked from commit 4ff856f68d)
2018-06-27 04:40:02 +02:00
Jehan
5824a3150f configure: replace --enable-bundled-mypaint-brushes with...
... --enable-relocatable-bundle option.
This will allow to use this option for more than MyPaint brushes. For
macOS and Windows, we default to "yes" and "no" for other OS, though it
is always possible to set an explicit value.

(cherry picked from commit 8da2646372)
2018-06-27 04:40:02 +02:00
Anders Jonsson
cede80c4eb Update Swedish translation 2018-06-26 21:54:48 +00:00
Jehan
ad3db88dfa desktop: tentative release for 2.10.4 on 2018-07-07.
And uncommenting the <release> tag for translators to be able to work on
it. Also using short list items without finale points to agree with
`appstream-util` rules.

(cherry picked from commit 4fa5f61dae)
2018-06-26 21:31:20 +02:00
Jehan
d2f57ee9ba app: replace Carbon/Carbon.h by CoreGraphics/CoreGraphics.h.
As asked by Samm and solid_black on IRC.
Apparently tested and the change is fine, while getting rid of
deprecated API. I cannot test myself.

(cherry picked from commit 1b9729d46d)
2018-06-26 21:31:12 +02:00
Michael Natterer
41807ace5c Issue #1719 - GIMP crashes with an invalid pluginrc
Check the return value of gimp_file_new_for_config_path() and set
an error if it returns NULL.

(cherry picked from commit c6aa613f9c)
2018-06-26 15:01:21 +02:00
Michael Natterer
f1ffb06ccb Issue #1714 - When GIMP starts, default brush hardness is always at 100
We should not have essential signal connections (such as setting tool
options from brush properties) implemented in the tool options GUI
files, because they are not active until the options GUI is created.
Also, that magic is simply too hidden in the options GUI files.

Move the signal connections and the brush property copying code to
gimppaintoptions.c where is can also be done cleaner.

However, this must only be done for the main tool options instance
that is used for the GUI. Therefore, add a "gui_mode" boolean to
GimpToolOptions and set it to TRUE for all main tool options.

(this is ugly, but much less ugly and much less hidden than all the
places where code lives (like tool_manager.c) that can now be moved
into GimpToolOptions and its subclasses, and implemented cleanly
there).

(cherry picked from commit cb0e6c65d0)
2018-06-26 00:59:17 +02:00
Rodrigo
a3040eec9e Update Spanish translation 2018-06-25 12:31:20 +00:00
Oleksii Samorukov
75cc48f7c0 Fix screen resolution detection on OSX
GTK always returns 72 dpi due to API used. This patch using Cocoa
directly instead. Tested on Retina and non-hidpi displays.

GTK+2 version of commit 5b6126146a.
Cf. MR !14.
2018-06-25 12:35:42 +02:00
Rodrigo
04d9037710 Update Spanish translation 2018-06-25 07:28:06 +00:00
Jehan
00e6366207 libgimpbase: fix declaration after statement and reset safecheck...
... after each successful read().
I completely missed this declaration after a statement during the review
of !13 even though I saw another similar issue!

Also let's reset the error counter to 0 each time a successful read()
happens so that we can continue reading even if a lot of EINTR were to
happen, as long as we globally go forward. Only consecutive errors
increment the counter.

Finally add a small comment to explain why we let EINTR pass instead of
breaking directly.

(cherry picked from commit 49b4b1a5c2)
2018-06-25 01:16:00 +02:00
Alex Samorukov
b8583468f9 Fix empty lldb backtrace on OSX
When lldb attaching to the process it triggers few "-1" errors on read with
EINTR error. After 1-2 errors read() call works again.
Also this patch fixing TID detection, syscall SYS_gettid is oficially deprecated
now and does not work. Also adding safecheck to avoid enldless loop.

(cherry picked from commit 559d9b89e3)
2018-06-25 01:15:52 +02:00
Jehan
d2aef6201c Issue #1712: Add translator comment for string "Export Exif...
... metadata by default".
Also for other metadata, and doing it both for the tooltip and the label
of the option.

(cherry picked from commit 50bcc8db3c)
2018-06-24 21:43:35 +02:00
Piotr Drąg
f6efb2e504 Update Polish translation 2018-06-24 19:31:07 +02:00
Piotr Drąg
1d88734d89 app: fix typo in a translatable string (trnasferred) 2018-06-24 19:30:09 +02:00
Michael Natterer
5feabfd1e0 app: more GimpGradientEditor cleanup
Let the split and replicate segments dialogs keep their own data and
don't use GimpGradientEditor struct members. Remove redundant members
and indent the struct.

(cherry picked from commit b8e75a0201)
2018-06-24 18:18:32 +02:00
Jehan
a9d851070a app: remove check since gimp_widget_load_icon() now always non-NULL.
This is the only place where such a check occured. All other calls
seemed to expect the return value to be non-NULL already.
2018-06-24 18:10:26 +02:00
Jehan
f140b987c7 Revert "Issue #1608: Gimp 2.10.0 and 2.10.2 crash immediately on start."
This reverts commit d997b2b897.
This is not needed anymore since gimp_widget_load_icon() always returns
a non-NULL GdkPixbuf now. Cf. commit 32931c4606.
2018-06-24 18:01:29 +02:00
Jehan
32931c4606 app: gimp_widget_load_icon() should actually always return a result.
When the "gimp-wilber-eek" fallback will fail to load, we just create an
ugly magenta square instead.
See Mitch's review at #1608.
2018-06-24 17:59:09 +02:00
Jehan
4d4ba34006 app: add a doc-comment to gimp_widget_load_icon().
Mostly to make sure that calling code takes NULL as a possible return
value.
2018-06-24 17:11:24 +02:00
Jehan
9c6237b182 app: load "gimp-wilber-eek" as fallback when an icon fails to load.
We were already doing so when an icon was simply absent from the icon
theme. But we may still end up in cases where the icon is seemingly
present, yet it fails to load (for instance the image file is
corrupted). When this happens, let's also try to load the wilber-eek
fallback.

Note that it doesn't completely stops gimp_widget_load_icon() from
possibly returning NULL (in the case where "gimp-wilber-eek" is also
missing/corrupted for instance), so calling code must still account for
possible NULL return value.
2018-06-24 16:19:58 +02:00
Jehan
d997b2b897 Issue #1608: Gimp 2.10.0 and 2.10.2 crash immediately on start.
If "gimp-swap-colors" or "gimp-default-colors" are present in the theme,
yet broken somehow, GIMP would crash because it was not checking if the
icons had been successfully loaded.
Just make the relevant checks and output on standard error that the swap
and/or default color areas are invisible.
2018-06-24 16:19:58 +02:00
Michael Natterer
7fece09eaf app: peek/poke much less in GimpGradientEditor internals
Add gimp_gradient_editor_get_selection() and set_selection()
and use them in gradient-editor-commands.c

(cherry picked from commit 025a13b519)
2018-06-24 16:02:18 +02:00
Michael Natterer
94235e4447 app, libgimpwidgets: all GimpColorHexEntries should have the same tooltip
Set the tooltip in GimpColorHexEntry itself and remove all other
tooltip setting. This just moves the translatable string sround in
libgimpwidgets/, and even removes it from app/.

(cherry picked from commit 2b8b780b6a)
2018-06-24 14:30:09 +02:00
Michael Natterer
eb57f0d0b3 Issze #1711 - GIMP does not unref all GLocalFileEnumerator it uses
unref the enumerator when done. Spotted by Massimo.

(cherry picked from commit ca3ffec111)
2018-06-24 14:16:12 +02:00
Jehan
be3abe6cea icons: work around dimension bug of librsvg for a bunch of color icons.
It feels I am just fighting against the system. So annoying!

(cherry picked from commit b87d34bace)
2018-06-24 00:24:45 +02:00
Jehan
87d2dbbe66 icons: complete color-scalable SVG.
Preparing extracting icons from a single file.

(cherry picked from commit 199df5a128)
2018-06-24 00:24:38 +02:00
Jehan
520c34899c tools: post-process SVG objects with "color-important" label.
This will allow a designer to simply "tag" an object so that its color
does not get overrided by GTK+ without needing to edit the file as text.

(cherry picked from commit 8a36b786bc)
2018-06-24 00:24:31 +02:00
Jehan
98848a464f Issue #1708: g_free() called instead of gdk_device_free_history().
As spotted by Massimo!

(cherry picked from commit 5e25cdc713)
2018-06-24 00:24:22 +02:00
Jehan
402c0d98f1 icons: update various icons to account for librsvg bugs.
It should now be possible to fully export our symbolic icons from a
single central file.
My long-standing bug of librsvg#250 is still opened and unfixed, but it
turns out most issues I encountered are anyway also problems when
recoloring symbolic icons in GTK+ (like using strokes instead of
fills!). So let's just bypass all problems at once by accounting for
these issues in the design.

(cherry picked from commit 4c68d5dfc9)
2018-06-24 00:23:58 +02:00
Jehan
9bc78a3b3c icons: fix many icons for proper recoloring.
I tried to fix all the icons I could see which had issues regarding all
recoloring matters (using fill not stroke, change circle/ellipses to
paths, etc.) when looking at a blank canvas.
I'm sure I still miss a lot but that will do for now.

(cherry picked from commit 8811b0d916)
2018-06-24 00:23:44 +02:00
Jehan
e960c4884b icons: force colors on some icons.
Sometimes even within symbolic icons, parts of the design must keep
fixed colors, when they are semantic. For instance this is the case for
the color-picker-(black|gray|white) icons or the gimp-default-colors.

The trick used by GTK+ to recolor is by supplying an additional CSS
style to icons which overrides inline CSS thanks to "! important"
keyword. Our own trick to circumvent this trick is to set "!important"
in inline CSS when one wishes not to have it overrided by the general
colors.
Right now I am doing the edit by hand with vim because Inkscape doesn't
seem to validate this keyword if I add it manually in its XML editor. So
what I did is add the "color-important" label on such object, and I will
later modify my SVG export tool to add !important on such object "fill"
values at export time.

(cherry picked from commit 5d5bbeb88b)
2018-06-24 00:23:44 +02:00
Jehan
fa6f2f65f0 icons: fix various symbolic icons not properly recolored.
The current recolorization code only recolors paths and rectangles. In
particular it leaves circles and ellipses as-is.
I opened the merge request gtk!214 for this issue. But in the meantime,
it is quite easy to change circles and ellipses into path with "object
to path" in Inkscape.

A second problem is that it only recolors fills, not strokes, as
previously stated. So I need to remove strokes from icons, or transform
them to paths.

(cherry picked from commit fd46018203)
2018-06-24 00:23:23 +02:00
Jehan
eb82161091 icons: larger spacing between broken chains.
It seems not wide enough to differentiate easily the broken and
non-broken chains. So let's make this gap bigger.

(cherry picked from commit a5afb04501)
2018-06-24 00:22:07 +02:00
Jehan
99e6b365ae icons: fixing more icons.
This time, 2 icons still had problems because of visible rectangles.
Fixing "gimp-prefs-folders" and "gimp-prefs-folders-mypaint-brushes".

(cherry picked from commit 2bb8afd119)
2018-06-24 00:22:07 +02:00
Jehan
11dd2365cd icons: fix various icons broken when recoloring with CSS.
For anyone wishing to help me fix icons, here is the trick: apparently
GTK+ would fill the paths with CSS colors, not stroke them. So when we
have icon drawing based on path-stroking, they don't end up as expected.
In Inkscape, just run "Stroke to Path" to transform a stroke design in a
fill design.
I am fixing "gimp-tool-cage", "document-revert", "gimp-image-reload",
"gimp-reset" and "view-refresh". More to follow as we discover them, I
guess.

(cherry picked from commit 4b6869dd67)
2018-06-24 00:20:48 +02:00
Jehan
709e5e4c7e icons: make gimp-tool-ellipse-select symmetric.
I may not be an icon designer, but this icon be so clearly asymmetric
always deeply annoyed me.

(cherry picked from commit 45f46db815)
2018-06-24 00:19:31 +02:00
Michael Natterer
8aa0d5a401 Issue #1706 - Typo in gimpgradientselect.h include guard
Fix typo, spotted by Massimo.

(cherry picked from commit 627d58dce1)
2018-06-23 12:42:34 +02:00