commit e384409fe5587fb5f217a5ca60f858068c930e4f
Author: Michael Natterer <mitch@gimp.org>
Date:   Wed Jul 4 20:04:20 2018 +0200

    configure.ac: release GIMP 2.10.4

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d20170ed6ca2bb62af6e5a71578f0501a5455471
Author: Ell <ell_se@yahoo.com>
Date:   Sun Jul 1 13:28:06 2018 -0400

    app: in gimp-parallel, fix async-thread shutdown

    ... to prevent a potential deadlock.

    (cherry picked from commit ff679c66a10828c0adc107dfb14b65ef334b5ffe)

 app/core/gimp-parallel.cc | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 7b3ecb80802468041d208e63c7dbe87efa9dcf2c
Author: Alan Mortensen <alanmortensen.am@gmail.com>
Date:   Wed Jul 4 19:38:16 2018 +0200

    Updated Danish translation of gimp-plug-ins

 po-plug-ins/da.po | 335
 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 177 insertions(+), 158 deletions(-)

commit bb34116ee30c2a4521b95fa3d9e3a6e824c8cca1
Author: Alan Mortensen <alanmortensen.am@gmail.com>
Date:   Wed Jul 4 19:38:14 2018 +0200

    Updated Danish translation

 po/da.po | 2860
 ++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 1579 insertions(+), 1281 deletions(-)

commit 165cedc1ae9b18e572fb21a634d92a893dcbada6
Author: Michael Natterer <mitch@gimp.org>
Date:   Wed Jul 4 19:01:32 2018 +0200

    NEWS: re-line-wrapped so I don't have to do that later in the
    mail client

 NEWS | 85
 ++++++++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 45 insertions(+), 40 deletions(-)

commit fa033aaa3f6c6d098456c966413ec387456704ea
Author: Michael Natterer <mitch@gimp.org>
Date:   Wed Jul 4 18:56:51 2018 +0200

    docs, etc: regenerated default gimprc and its manpage

 docs/gimprc.5.in | 5 +++++
 etc/gimprc.in    | 5 +++++
 2 files changed, 10 insertions(+)

commit 3679b083374e5d5a449a8daa9bb4c91a18d84e8b
Author: Jehan <jehan@girinstud.io>
Date:   Wed Jul 4 12:58:23 2018 +0200

    desktop: 2.10.4 release is today, earlier than planned!

    (cherry picked from commit 8eef339ed599d9cffbb9499951ebcd26d5747225)

 desktop/org.gimp.GIMP.appdata.xml.in.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 39213c790e3d6ec66049b4c8a4743f35dc564409
Author: Jehan <jehan@girinstud.io>
Date:   Wed Jul 4 12:56:43 2018 +0200

    NEWS: keep up-to-date.

 NEWS | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 964e5b4336127dc39f050ec99f8c28efcd754177
Author: Michael Natterer <mitch@gimp.org>
Date:   Wed Jul 4 12:44:48 2018 +0200

    configure.ac: require GEGL >= 0.4.4

    (cherry picked from commit a62fdce55ab6a556d6bc4bed2b67656fb9e9787a)

 app/sanity.c | 2 +-
 configure.ac | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 521afbd09f4025a670c811747c49bf24c818530c
Author: Alexandre Prokoudine <alexandre.prokoudine@gmail.com>
Date:   Wed Jul 4 09:43:49 2018 +0000

    Update Russian translation

 po-plug-ins/ru.po | 72
 +++++++++++++++++++++++++------------------------------
 1 file changed, 32 insertions(+), 40 deletions(-)

commit 10dae0b2eaa781185d4412a3747b22bb0898646f
Author: Alexandre Prokoudine <alexandre.prokoudine@gmail.com>
Date:   Wed Jul 4 03:17:25 2018 +0300

    Update Russian translation

 po-libgimp/ru.po  |   40 +-
 po-plug-ins/ru.po |  394 +++----
 po/ru.po          | 3194
 +++++++++++++++++++++++++++++------------------------
 3 files changed, 1972 insertions(+), 1656 deletions(-)

commit 1022a638e853896b5bd2ef4a89b851c6f41b797c
Author: Michael Natterer <mitch@gimp.org>
Date:   Wed Jul 4 01:52:19 2018 +0200

    Issue #1748 - Crash when parsing currupt tool preset

    Bail out with an error instead of crashing when the tool options type
    name is empty.

    (cherry picked from commit e27e783f8836ca44ffd17d4c5190244dd024eb55)

 app/core/gimptoolpreset.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit d70bf7653dd6695e3cff088264502b0c2de2a2bf
Author: Michael Natterer <mitch@gimp.org>
Date:   Wed Jul 4 00:17:24 2018 +0200

    Issue #1719 - GIMP crashes with an invalid pluginrc

    Fix 3 more crashes caused by accepting broken input, spotted by
    Massimo.

    (cherry picked from commit 7db59e7af93f690f954ebde16af8d52ccde583c4)

 app/plug-in/plug-in-rc.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 960494c591023fa11bb40bd4e0eac6b99c66ebac
Author: Rodrigo <rodhos92@gmail.com>
Date:   Tue Jul 3 20:53:02 2018 +0000

    Update Spanish translation

 po/es.po | 624
 ++++++++++++++++++++++++---------------------------------------
 1 file changed, 232 insertions(+), 392 deletions(-)

commit e662b5a0ee764aaf78353aac412509ec4f1b0785
Author: Michael Natterer <mitch@gimp.org>
Date:   Fri Jun 29 13:16:01 2018 +0200

    app: fix logic error in tool_options_manager_paint_options_notify()

    (cherry picked from commit 1ef705632453e95672f2f5d2c1a81be2e5221099)

 app/tools/gimp-tool-options-manager.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit b4edec423c82ff6fa6c61a8eaf24567b16572095
Author: Michael Natterer <mitch@gimp.org>
Date:   Fri Jun 29 13:08:45 2018 +0200

    app: move the improved paint property copying code to GimpPaintOptions

    and remove the old brush, dynamics, gradient property copying
    functions.

    (cherry picked from commit 80c423ae4009ff381403f0477809b4b838c586b2)

 app/paint/gimppaintoptions.c          | 174
 +++++++++++++++++-----------------
 app/paint/gimppaintoptions.h          |  74 +++++++--------
 app/tools/gimp-tool-options-manager.c | 134 ++++++--------------------
 app/tools/tool_manager.c              |  21 ++--
 4 files changed, 169 insertions(+), 234 deletions(-)

commit a8b333a00e575ca3c876738e8ad2561704d41278
Author: Michael Natterer <mitch@gimp.org>
Date:   Fri Jun 29 12:38:47 2018 +0200

    app: indentation in gimp-tools.c

    (cherry picked from commit 5299b1894d9e416ce19c0383ce6dd18bc8d7ac78)

 app/tools/gimp-tools.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit cf7f27390c0b53bbd15bfdf261bbe1436c28a097
Author: Michael Natterer <mitch@gimp.org>
Date:   Fri Jun 29 12:31:32 2018 +0200

    app: switch to using gimp-tool-options-manager

    and remove all other tool options parent setting/unsetting and
    property copying code. Also select a tool at the end of
    tool_manager_init() so it is in sync with what the tool options
    manager does.

    (cherry picked from commit 37f69457b76fbf80504d4771055fd7b41c67a03a)

 app/core/gimptooloptions.c |   4 --
 app/tools/gimp-tools.c     |   9 +++-
 app/tools/tool_manager.c   | 117
 ++++-----------------------------------------
 3 files changed, 15 insertions(+), 115 deletions(-)

commit 19260d87b81a09e5f0d0c20d3167f59a631550ef
Author: Michael Natterer <mitch@gimp.org>
Date:   Fri Jun 29 02:59:19 2018 +0200

    app: make sure the active tool options get saved in devicerc

    gimp_devices_save(): call gimp_device_info_save_tool() on the current
    device.

    (cherry picked from commit 188fd773a57e99c76e726dbc9345a2acac5ab8d5)

 app/widgets/gimpdevices.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 2a916b241cacdc7e823f2033bd84538555258256
Author: Michael Natterer <mitch@gimp.org>
Date:   Fri Jun 29 00:52:14 2018 +0200

    app: more stuff in gimp-tool-options-manager.c

    tool_options_manager_tool_changed(): also copy the non-global paint
    options of the new tool to the global paint options, so they get used
    when "global_foo" is enabled.

    (cherry picked from commit 1b858eb4adf00011332d2d3ef4eb55262f54fdc1)

 app/tools/gimp-tool-options-manager.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 08d64c6eb87b12a533411c8355252f2f18c91ae4
Author: Michael Natterer <mitch@gimp.org>
Date:   Thu Jun 28 23:53:18 2018 +0200

    app: small fix in gimp-tool-options-manager.c

    tool_options_manager_paint_options_notify(): sync properties between
    tool paint options and global paint options if the property is global
    *or* the active tool is involved.

    tool_options_manager_global_notify(): don't mess with the active
    tool's connection to the user context or its properties at all, it is
    always fully connected to the user context anyway.

    (cherry picked from commit 54257da7c4655b8e8dc4f3c1dda0b40eda585df1)

 app/tools/gimp-tool-options-manager.c | 44
 ++++++++++++++---------------------
 1 file changed, 17 insertions(+), 27 deletions(-)

commit d03b31780bdf29af9cfef3b03d15f616a8c191ff
Author: Michael Natterer <mitch@gimp.org>
Date:   Thu Jun 28 21:41:32 2018 +0200

    app: add gimp-tool-options-manager.[ch]

    The way we currently manage tool options, and particularly copy things
    around for "global_brush", "global_pattern" etc. sucks, is spread
    across files, happens only on tool change, is thus buggy and leads to
    all sorts of small inconsistencies.

    This new manager will replace all of that stuff, and it does it in one
    place, and will keep the user context, the global paint options, and
    all tool options connected permanently, and only connect/disconnect
    things when settings change, so everything is always in a consistent
    state.

    Pushed for review only, nothing is used yet.

    (cherry picked from commit ef952f29262587a1a643dbbce407e47913b7f789)

 app/tools/Makefile.am                 |   2 +
 app/tools/gimp-tool-options-manager.c | 534
 ++++++++++++++++++++++++++++++++++
 app/tools/gimp-tool-options-manager.h |  29 ++
 3 files changed, 565 insertions(+)

commit d851a9f203db32dfb702626e0fab660eec27ed7c
Author: Michael Natterer <mitch@gimp.org>
Date:   Tue Jul 3 16:01:02 2018 +0200

    app: prepare gimpdisplayshell-selection for undeprecation

    with a patch that is mergable to 2-10.

    (cherry picked from commit 7efb8576a1b0754e2379b496d1264613546a810a)

 app/display/gimpdisplayshell-selection.c | 33
 ++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

commit 8ab76a42d89817730d0014384dceb4b0dd1fa870
Author: Ell <ell_se@yahoo.com>
Date:   Tue Jul 3 10:28:08 2018 -0400

    app: fix GimpMeter history-graph painting when clipped

    In GimpMeter, use cairo_path_extents() for getting the history
    graph's extents, rather than cairo_clip_extents(), since the latter
    may also include clipping applied by GTK.

    (cherry picked from commit b8e08cddbc20cb3ff25d345d9125d94a7774bc8b)

 app/widgets/gimpmeter.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 7cdebe80a164f400a667535c1f594c0bec5dabe6
Author: Daniel Korostil <ted.korostiled@gmail.com>
Date:   Tue Jul 3 14:18:36 2018 +0000

    Update Ukrainian translation

 po-python/uk.po | 50 ++++++++++++++++++++++++--------------------------
 1 file changed, 24 insertions(+), 26 deletions(-)

commit 01e00a2afcaab5fbd2996c96ea072363cc7ff51f
Author: Daniel Korostil <ted.korostiled@gmail.com>
Date:   Tue Jul 3 14:04:55 2018 +0000

    Update Ukrainian translation

 po-windows-installer/uk.po | 124
 ++++++++++++++++++++++++---------------------
 1 file changed, 67 insertions(+), 57 deletions(-)

commit c4e27635597350b8585cea29520bbf680eece925
Author: Daniel Korostil <ted.korostiled@gmail.com>
Date:   Tue Jul 3 14:04:09 2018 +0000

    Update Ukrainian translation

 po-plug-ins/uk.po | 588
 +++++++++++++++++++++++++++++++-----------------------
 1 file changed, 333 insertions(+), 255 deletions(-)

commit 7b7dde84b0d5def8d147174995814af66a54d6d0
Author: Daniel Korostil <ted.korostiled@gmail.com>
Date:   Tue Jul 3 09:22:12 2018 +0000

    Update Ukrainian translation

 po/uk.po | 3981
 ++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 2189 insertions(+), 1792 deletions(-)

commit 66ce32c8cbdae51ceff5f9cd19aecf97547e325e
Author: Michael Natterer <mitch@gimp.org>
Date:   Mon Jul 2 20:03:56 2018 +0200

    configure.ac: require babl >= 0.1.52

    (cherry picked from commit 7aa42738065ea89beeef2b2335697870ae3ec143)

 app/sanity.c | 2 +-
 configure.ac | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 4569fdd34b7397a16e09e1c314c844bb1e13407f
Author: Ell <ell_se@yahoo.com>
Date:   Mon Jul 2 11:27:21 2018 -0400

    app: explicitly close output stream when saving internal data

    According to some bug reports, it seems that under some (unknown)
    conditions we might save an empty custom gradient file on exit (for
    equally unknown reasons).  The only difference in the way we save
    internal data files, such as the custom gradient, compared to
    gimp_data_save(), is the fact that we currently don't explicitly
    close the output stream, but rather only unref it.

    The output stream should be implicitly closed (and hence flushed)
    upon destruction, but maybe the unreffing is not enough to
    guarantee that it's actually destroyed (maybe it spawns an extra
    reference for some reason, who knows.)  Anyway, let's just
    explicitly close it, which also gives us a chance to catch and
    report any errors occursing during flushing/closing (which,
    altenatively, might be the culprit).

    Additionally, a few more error-reporting improvements, to match
    gimp_data_save().

    (cherry picked from commit a72f7f1ace72576ce24e6790d450ac65ce0746f9)

 app/core/gimp-internal-data.c | 32 +++++++++++++++++++++++++++++---
 1 file changed, 29 insertions(+), 3 deletions(-)

commit 80efa4a70de6fdb8d6d2aa356ec8f92cdb64cb7e
Author: Rodrigo <rodhos92@gmail.com>
Date:   Mon Jul 2 15:13:20 2018 +0000

    Update Spanish translation

 po/es.po | 137
 +++++++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 98 insertions(+), 39 deletions(-)

commit 85a4ede0832af44bf269e0efff677ef1ce55fca3
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Mon Jul 2 17:09:12 2018 +0200

    Update Polish translation

 po/pl.po | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 2d6e47eef3a1e10395e461677bb4ac0e89e83079
Author: Hannie Dumoleyn <hannie@ubuntu-nl.org>
Date:   Mon Jul 2 11:13:40 2018 +0000

    Update Dutch translation

 po-plug-ins/nl.po | 1 +
 1 file changed, 1 insertion(+)

commit 22cc731426081601d0abdf210e1c6fca422e57d7
Author: Rodrigo <rodhos92@gmail.com>
Date:   Mon Jul 2 09:50:55 2018 +0000

    Update Spanish translation

 po/es.po | 533
 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 287 insertions(+), 246 deletions(-)

commit c2e1147ff516ce411e15a0d5e95350a3b1bb168c
Author: Alexandre Prokoudine <alexandre.prokoudine@gmail.com>
Date:   Mon Jul 2 02:32:29 2018 +0300

    Sync USM menu entry to GEGL

 app/actions/filters-actions.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b6c50c016c5feddaa0c1248b167bf70b04db5c21
Author: Michael Natterer <mitch@gimp.org>
Date:   Sun Jul 1 18:49:50 2018 +0200

    app: on make check, search menu XML files in both buildir and srcdir

    Turn GIMP_TESTING_MENUS_DIR into GIMP_TESTING_MENUS_PATH and look in
    all its dirs for the menu file.

    (cherry picked from commit 8516aedadeb1f8081caa9ff4e0bc223bd194838e)

 app/tests/gimp-app-test-utils.c     | 74
 +++++++++++++++++++++++++++++++------
 app/tests/gimp-app-test-utils.h     |  8 +++-
 app/tests/gimp-test-session-utils.c |  2 +-
 app/tests/test-save-and-export.c    |  2 +-
 app/tests/test-single-window-mode.c |  2 +-
 app/tests/test-tools.c              |  2 +-
 app/tests/test-ui.c                 |  2 +-
 app/widgets/gimpuimanager.c         | 30 ++++++++++++---
 8 files changed, 97 insertions(+), 25 deletions(-)

commit 6b42597d7b3a854d13bbc6b65c3de07e63b6c5b5
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun Jul 1 19:27:49 2018 +0200

    Update Polish translation

 po/pl.po | 1292
 ++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 675 insertions(+), 617 deletions(-)

commit 6129f71a63b3f35f0b96027eea789912b40f32dc
Author: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>
Date:   Sun Jul 1 15:33:37 2018 +0000

    Update Latvian translation

 po/lv.po | 3649
 ++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 1976 insertions(+), 1673 deletions(-)

commit 80bde0cb288b12aca3842ce5dd168fa27d138601
Author: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>
Date:   Sun Jul 1 13:24:50 2018 +0000

    Update Latvian translation

 po-plug-ins/lv.po | 427
 +++++++++++++++++++++++++++---------------------------
 1 file changed, 217 insertions(+), 210 deletions(-)

commit 99ae1a9e0970698d33b9f9e3fd8f02989b5ce290
Author: Gábor Kelemen <kelemeng@openscope.org>
Date:   Sun Jul 1 08:01:54 2018 +0000

    Update Hungarian translation

 po/hu.po | 44 +++++++++++++++-----------------------------
 1 file changed, 15 insertions(+), 29 deletions(-)

commit ef6354bf07ee7d6b80e2d24ea823a37ff3bf1a4a
Author: Jordi Mas <jmas@softcatala.org>
Date:   Sat Jun 30 07:55:55 2018 +0200

    Update Catalan translation

 po/ca.po | 3579
 ++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 1993 insertions(+), 1586 deletions(-)

commit 0a3d8ca0b204217173020e38f4a98f903468d4da
Author: Michael Schumacher <schumaml@gmx.net>
Date:   Fri Jun 29 10:28:42 2018 +0000

    app: Prevent parallel builds for the tests

    The tests must not be run in parallel or in a different order as
    specified

 app/tests/Makefile.am | 4 ++++
 1 file changed, 4 insertions(+)

commit 42af1846b0178ef3e49a0cdf8b6da42ce2232e5b
Author: Gábor Kelemen <kelemeng@openscope.org>
Date:   Thu Jun 28 22:21:55 2018 +0000

    Update Hungarian translation

 po/hu.po | 3892
 ++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 2131 insertions(+), 1761 deletions(-)

commit 972f13c3de6f10c82a8a05f7fe9dfbce99e053c9
Author: Balázs Meskó <meskobalazs@fedoraproject.org>
Date:   Thu Jun 28 19:52:28 2018 +0000

    Update Hungarian translation

 po-plug-ins/hu.po | 296
 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 157 insertions(+), 139 deletions(-)

commit 50a4e4f81caeec95560b853db093fb346cd87e9b
Author: Balázs Meskó <meskobalazs@fedoraproject.org>
Date:   Thu Jun 28 19:51:23 2018 +0000

    Update Hungarian translation

 po-windows-installer/hu.po | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

commit 50db2b66558ad5c5efcdb5d9707ff7109a38b3ab
Author: Ell <ell_se@yahoo.com>
Date:   Thu Jun 28 15:23:12 2018 -0400

    app: a few async font loading fixes

    In gimp_data_factory_finalize(), wait on the factory's async set
    after canceling it, and before continuing destruction.  It's not
    generally safe to just abandon an async op without waiting on it
    -- this is a font-specific hack, due to the fact we can't actually
    cancel font loading, and GimpFontFactory is prepared to handle
    this.

    Instead, in gimp_font_factory_finalize(), cancel and clear the
    async set, so that GimpDataFactory doesn't actually wait for
    loading to finish.

    In gimp_font_factory_load_async_callback(), don't try to acess the
    factory when the operation is canceled, since cancelation means the
    factory is already dead.  On the other hand, when the opeation
    isn't canceled, make sure to thaw the container even when font
    loading failed, so that we always match the freeze at the begining
    of the operation.

    (cherry picked from commit b5890e05b81974ce146bde7dd1a3e9b504a9c445)

 app/core/gimpdatafactory.c |  1 +
 app/text/gimpfontfactory.c | 39 +++++++++++++++++++++++++++++++--------
 2 files changed, 32 insertions(+), 8 deletions(-)

commit 445e3a16d9965d42ab5415c5bf6039c83e75d99a
Author: Jehan <jehan@girinstud.io>
Date:   Thu Jun 28 19:21:58 2018 +0200

    INSTALL: add --enable-relocatable-bundle in options list.

    (cherry picked from commit c543103783cf04e92111d7cf28a37bde0426cd37)

 INSTALL.in | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit 7eb195cdbf35de949fb8065869b11163e896502b
Author: Jehan <jehan@girinstud.io>
Date:   Thu Jun 28 17:25:57 2018 +0200

    Issue #1731: gbr file that crashes gimp-2.10.

    GIMP_BRUSH_MAX_SIZE was already defined (as 10.000 pixels per
    dimension,
    which is big for a brush) in gimpbrush.h. Let's just use this to
    validate the size returned by the header.

    (cherry picked from commit b3de0bb7a5bbb84a6851b3b5455de5d1eb271c55)

 app/core/gimpbrush-load.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit de5b6b2a81a916a2c6329fbc1b549b4542537fdf
Author: Jehan <jehan@girinstud.io>
Date:   Thu Jun 28 18:42:05 2018 +0200

    Issue #1740: Move tool has two identical options for selection mode.

    The "move-current" flag does not apply to selection mode and our
    current
    code was simply setting the radio buttons insensitive while showing
    the
    same labels on both buttons. This was not wrong per-se, yet very
    confusing.

    Instead let's just hide the radio buttons in selection mode,
    and update
    the option title to "Move selection" (old label of both buttons)
    to keep
    this mode as understandable as possible.

    (cherry picked from commit 7cbbb8cba8f1739a1366e656259e39b75180b0f0)

 app/tools/gimpmoveoptions.c | 72
 ++++++++++++++++++++++++++-------------------
 1 file changed, 42 insertions(+), 30 deletions(-)

commit 3ebeef9fedb7f32e6bdee2ba440acd567f1ccb5e
Author: Edward E <develinthedetail@gmail.com>
Date:   Thu Jun 28 09:17:46 2018 -0500

    Issue #1563 - Dots instead of icons on Windows systems

    Update windows installer patch for gtk+2 SVG file detection

 ...24-bug781020.patch => gtk+-2.24-gimp-issue-1563.patch} | 15
 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

commit ec1f1b3a4500c99eb1b77bfd521f4637237e6fad
Author: Ell <ell_se@yahoo.com>
Date:   Thu Jun 28 11:20:26 2018 -0400

    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 716510cb83615a605affc6b9b4533e39eb9d1f18)

 app/widgets/gimpdashboard.c | 153
 +++++++++++---------------------------------
 app/widgets/gimpmeter.c     |   3 +-
 2 files changed, 41 insertions(+), 115 deletions(-)

commit 352ce20356b389e39289b1449f2910e6a79cf822
Author: Ell <ell_se@yahoo.com>
Date:   Thu Jun 28 10:48:11 2018 -0400

    app: even more Windows-specific fixes in gimpdashboard.c

    ... and app/Makefile.am

    (cherry picked from commit 19f4abbbd6513e3ded9eea9f2f8700c70fd4f3f8)

 app/Makefile.am             |  6 ++++++
 app/widgets/gimpdashboard.c | 15 ++++++++++-----
 2 files changed, 16 insertions(+), 5 deletions(-)

commit 6fa454dd598d36eb3c9f8a10c460f78f40d55c66
Author: Ell <ell_se@yahoo.com>
Date:   Thu Jun 28 10:17:36 2018 -0400

    app: more Windows-specific fixes in gimpdashboard.c

    (cherry picked from commit 4914103b5f42bbf99b1e4c0dbe2d2bc0e8185867)

 app/widgets/gimpdashboard.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 398d5e553a115eaecd94dce9152cffa3c9867239
Author: Jehan <jehan@girinstud.io>
Date:   Thu Jun 28 01:36:40 2018 +0200

    libgimpbase: forgot to add gimp_pixpipe_params_free() in gimpbase.def.

    (cherry picked from commit 1a8bf4bcaf819b9351a070e3be66e01a147395c5)

 libgimpbase/gimpbase.def | 1 +
 1 file changed, 1 insertion(+)

commit 1b01e1311c265bfc1022acccb4d95631bda307f3
Author: Ell <ell_se@yahoo.com>
Date:   Thu Jun 28 05:03:55 2018 -0400

    app: s/DAta/Data/ in gimpdashboard.c

    (cherry picked from commit d75e599431cf1a54c773ce96290b66d5c6290292)

 app/widgets/gimpdashboard.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b0dc4a58ae402a2f5e51fc762d9b010cc5856f25
Author: Michael Natterer <mitch@gimp.org>
Date:   Thu Jun 28 09:34:19 2018 +0200

    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 0961ccf75472bf5922b0c1af9e98c5f3cd44aafb)

 app/widgets/gimpcontrollerlist.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 21f87d7d82b94165901310fa3580cd839295d89f
Author: Michael Natterer <mitch@gimp.org>
Date:   Thu Jun 28 00:52:08 2018 +0200

    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 c0480f502d85de44e94424f4f2ec2c811d431aa7)

    (this fix is actually a side effect from fixing something else in
    master)

 app/display/gimpdisplayshell-callbacks.c | 14 ++++++++-
 app/display/gimpdisplayshell-scroll.c    | 54
 --------------------------------
 app/display/gimpdisplayshell-scroll.h    |  4 ---
 app/display/gimpdisplayshell.c           | 10 ++----
 app/display/gimpdisplayshell.h           |  1 +
 5 files changed, 16 insertions(+), 67 deletions(-)

commit 7eee2614f9f26c2485fafd345d11c476f3db2d0e
Author: Anders Jonsson <anders.jonsson@norsjovallen.se>
Date:   Thu Jun 28 06:34:00 2018 +0000

    Update Swedish translation

 po/sv.po | 1324
 +++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 663 insertions(+), 661 deletions(-)

commit ee25bfc8bd07362c30320f1dc7e42526291fc9ae
Author: Jehan <jehan@girinstud.io>
Date:   Wed Jun 27 18:31:38 2018 +0200

    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.

 app/core/gimpbrushpipe-load.c |  9 ++++-----
 libgimpbase/gimpparasiteio.c  | 12 ++++++++++++
 libgimpbase/gimpparasiteio.h  |  2 ++
 plug-ins/common/file-gih.c    |  2 ++
 4 files changed, 20 insertions(+), 5 deletions(-)

commit b585201e5e46a1117c3956d66371c803df85ab62
Author: Jehan <jehan@girinstud.io>
Date:   Wed Jun 27 18:03:37 2018 +0200

    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.

 app/core/gimpbrushpipe-load.c | 3 +--
 libgimpbase/gimpparasiteio.c  | 7 ++-----
 libgimpbase/gimpparasiteio.h  | 1 +
 3 files changed, 4 insertions(+), 7 deletions(-)

commit 6580fae7b0a9dbcff504dee47f54918e4b1de5eb
Author: Jehan <jehan@girinstud.io>
Date:   Wed Jun 27 16:02:30 2018 +0200

    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.

 devel-docs/os-support.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 7fb7e05d6775024f46455d7fc16d8332bbb591d2
Author: Jehan <jehan@girinstud.io>
Date:   Wed Jun 27 04:47:53 2018 +0200

    NEWS: keep up-to-date.

 NEWS | 5 +++++
 1 file changed, 5 insertions(+)

commit e96b05beedc39e18c97e4cbe263ac335a1fb4031
Author: Jehan <jehan@girinstud.io>
Date:   Wed Jun 27 04:22:20 2018 +0200

    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 4ff856f68d167ff83a75bf9fc0208de41625bde9)

 plug-ins/common/file-wmf.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

commit 5824a3150f5b4c7b6aab96bc0fc399783103249e
Author: Jehan <jehan@girinstud.io>
Date:   Tue Jun 26 23:19:25 2018 +0200

    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 8da264637210f3ee6d48c112953348900ab3c113)

 app/config/gimpcoreconfig.c |  2 +-
 configure.ac                | 44
 +++++++++++++++++++++++++++++++-------------
 2 files changed, 32 insertions(+), 14 deletions(-)

commit cede80c4ebd05eca255775ef71f4a523cf464384
Author: Anders Jonsson <anders.jonsson@norsjovallen.se>
Date:   Tue Jun 26 21:54:48 2018 +0000

    Update Swedish translation

 po-plug-ins/sv.po | 112
 ++++++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 54 deletions(-)

commit ad3db88dfa8b8446d5796b46ea7ed6e6e4b85483
Author: Jehan <jehan@girinstud.io>
Date:   Tue Jun 26 20:17:17 2018 +0200

    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 4fa5f61dae90c79bc95fefd3ed99d49d1c5678cb)

 desktop/org.gimp.GIMP.appdata.xml.in.in | 38
 ++++++++++++++++++++-------------
 1 file changed, 23 insertions(+), 15 deletions(-)

commit d2f57ee9bac89e39b3be779f3fb5affc188a59b5
Author: Jehan <jehan@girinstud.io>
Date:   Tue Jun 26 15:50:40 2018 +0200

    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 1b9729d46d8ed876f5add26d143c10b5da33bc14)

 app/widgets/gimpwidgets-utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 41807ace5c976b8b4f3ef7fbd622a8a1521b9251
Author: Michael Natterer <mitch@gimp.org>
Date:   Tue Jun 26 14:58:33 2018 +0200

    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 c6aa613f9c9b35f11ad198663269ec4822e0cda3)

 app/plug-in/plug-in-rc.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

commit f1ffb06ccbf4dc8ca29686298ecabb53d0e38dcf
Author: Michael Natterer <mitch@gimp.org>
Date:   Tue Jun 26 00:30:12 2018 +0200

    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 cb0e6c65d059513d09f20c33d8e09967840e564f)

 app/core/gimptoolinfo.c          |   2 +
 app/core/gimptooloptions.c       |  17 ++++++
 app/core/gimptooloptions.h       |  13 +++++
 app/paint/gimppaintoptions.c     | 120
 ++++++++++++++++++++++++++++++---------
 app/tools/gimppaintoptions-gui.c |  71 -----------------------
 5 files changed, 126 insertions(+), 97 deletions(-)

commit a3040eec9e28f0e389f1b685f93bf8e9a38496e6
Author: Rodrigo <rodhos92@gmail.com>
Date:   Mon Jun 25 12:31:20 2018 +0000

    Update Spanish translation

 po/es.po | 129
 +++++++++++++++++++++++++++------------------------------------
 1 file changed, 55 insertions(+), 74 deletions(-)

commit 75cc48f7c063502b5c2d9ed1adb6ca2cbfc9232b
Author: Oleksii Samorukov <samm@os2.kiev.ua>
Date:   Mon Jun 25 12:35:42 2018 +0200

    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 5b6126146aec878b6c56171e03feab56b8104299.
    Cf. MR !14.

 app/widgets/gimpwidgets-utils.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

commit 04d9037710624306aa69d86e5b4a6d84999118a4
Author: Rodrigo <rodhos92@gmail.com>
Date:   Mon Jun 25 07:28:06 2018 +0000

    Update Spanish translation

 po/es.po | 1296
 ++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 678 insertions(+), 618 deletions(-)

commit 00e6366207447c7f527c7f7b05d6f9563ae01952
Author: Jehan <jehan@girinstud.io>
