1. 03 Aug, 2021 6 commits
    • Jehan's avatar
      libgimp: fix the meson build. · 2026c2db
      Jehan authored
      Commit 24dc6bfe was not totally complete.
    • Jacob Boerema's avatar
      plug-ins: fix #7086 Can't remove color space from a 1bit monochrome palette · 2329fc16
      Jacob Boerema authored
      For 1-bit BMP export we did not show the save dialog, making it
      impossible to change settings interactively.
      We enable the save dialog for 1-bit too, making sure to disable RLE, which
      is not available for 1-bit.
      In addition, also set the RLE config option to false for all cases where
      it can't be used.
    • Jehan's avatar
      plug-ins: use GimpUi.ProcedureDialog() instead of… · 488e3c4a
      Jehan authored
      … GimpUi.ProcedureDialog.new()
      The old way is still working and acceptable as far as I am concerned.
      Just switching to the recommended (by upstream) syntax to show it works
      as expected and as a good example of code.
    • Jehan's avatar
      libgimp: have gimp_procedure_dialog_new() behave like g_object_new(). · 8176bd08
      Jehan authored
      It is now discouraged to create constructor-type _new() functions with
      custom code, which would make them behave differently that simply
      calling g_object_new() with the GType and relevant properties. The main
      reason is that some bindings would create objects with g_object_new() so
      it should create expected code too.
      See: https://gi.readthedocs.io/en/latest/writingbindableapis.html#custom-code-in-constructors
      Here it was complicated for a few reasons:
      - We hack "title" property to use the procedure's menu label by default
        (without the mnemonic). For this, I overrode the GtkWindow property.
      - We want "use-header-bar" to follow the application general settings by
        default. Since it is a CONSTRUCT_ONLY property, g_object_set() is not
        possible in _init() and _constructed(). Instead I had to override the
        constructor() method to set this at construction time (yet still allow
        API users to override this with the property at creation).
      - Similarly, "help-func" is a CONSTRUCT_ONLY property, so I used the
        same trick.
      - As for "help-id", I now just set it in _constructed(). This was the
        easy one.
    • Jehan's avatar
      libgimp: libgimpmodule is part of libgimp not libgimpui. · 24dc6bfe
      Jehan authored
      Thanks to Stanislav Grinkov for noticing this error in the meson scripts
      (cf. his comment in #6362).
    • Stanislav Grinkov's avatar
      Fix issue with generating GIR API docs in meson · c87d6d96
      Stanislav Grinkov authored
      Caused by using a non-absolute path to .gir files in
      meson.build rules
      Resolves: #6362
  2. 02 Aug, 2021 1 commit
  3. 01 Aug, 2021 3 commits
    • Jehan's avatar
      Issue #7106: GIMP 2.99.6 Python Script Fatal Error. · 1e31b653
      Jehan authored
      All objects of subclass GtkWindow are special as they are actually owned
      by GTK which keeps a list of all top-level windows. So we cannot
      actually give ownership to the caller. With GObject Introspection in
      particular, it will mean a double-free of the dialog object (by GTK,
      then by the GI layer).
      See also gobject-introspection#394.
    • Jehan's avatar
      libgimp: do not leak dialog containers' size groups. · 2d84ad71
      Jehan authored
      As explained in GtkSizeGroup docs, all objects inside a size group holds
      a reference to it. So once we destroy the last object inside these, it
      will be freed too and we should drop the initial reference after adding
      the objects.
      Only the main size group reference is kept until the end, because we are
      adding and removing objects from it regularly, so it is possible that it
      is empty again at some intermediary states. Yet we don't want to free it
      when this happens.
    • Jehan's avatar
      gitlab-ci, build: compute the checksums of installer in bash script. · 34748af7
      Jehan authored
      I completely forgot that since the installer is built on a Windows
      runner, I cannot expect a standard Linux shell syntax.
      As a consequence, commit de9a171a broke the "win-installer-nightly"
      job with the following error:
      > The token '&&' is not a valid statement separator in this version.
      Rather than trying to find the equivalent command to run on powershell
      or whatever, let's just compute the checksum at the end of our installer
      creation script.
  4. 31 Jul, 2021 1 commit
  5. 29 Jul, 2021 1 commit
    • Jacob Boerema's avatar
      app: fix #6724 When creating keyboard shortcut the section being edited disappears · af909b82
      Jacob Boerema authored
      After updating a keyboard shortcut in the Configure Keyboard Shortcuts
      Dialog, the section containing the changed shortcut disappeared.
      Apparently a changed shortcut makes its parent invisible so we make the
      parent visible again.
      We also store a text version of the selected path in the tree to the
      shortcut and then use that to restore the path after making the parent
      visible again.
  6. 28 Jul, 2021 5 commits
  7. 27 Jul, 2021 1 commit
  8. 25 Jul, 2021 3 commits
    • Jehan's avatar
      gitlab-ci: do not run `meson test` anymore inside the flatpak job. · b824abc1
      Jehan authored
      Somehow the test part of the flatpak job stopped working. The last
      instance which worked was 3 weeks ago, but after a lot of debugging I
      realized that it is not because of any code change on our side. The
      exact same commit which worked 3 weeks ago won't anymore!
      The standalone bundle is actually built and works fine when tested
      independently. What fails is the `meson test` inside the flatpak
      environment. Somehow when GIMP is rebuilt inside the test flatpak
      environment, it doesn't build the plug-ins yet one of our tests
      (save-and-export) requires plug-ins to open some file formats. Note that
      I double-checked, the plug-ins were well built and loading any format
      works fine in the standalone flatpak, just not in this specific step.
      I am completely unsure what broke, yet it is apparently outside GIMP
      code. So for now, I just copy-paste the whole flatpak job which we were
      including from another repository and remove the `meson test` part.
    • Anders Jonsson's avatar
      Update Swedish translation · 3b8165fd
      Anders Jonsson authored
    • Piotr Drąg's avatar
      Update Polish translation · d6e39f31
      Piotr Drąg authored
  9. 24 Jul, 2021 1 commit
  10. 23 Jul, 2021 2 commits
  11. 22 Jul, 2021 4 commits
    • Jehan's avatar
    • Jehan's avatar
      app: adding a comment for translators. · f8f768c0
      Jehan authored
      As per comment by Alexandre Franke, so that translators are aware this
      is not about a "map" like a "world map", but like "mapping" filters.
      Cf. Teams/Translation/fr#17 (comment 1209282)
    • Jehan's avatar
      build: update OpenEXR in our nightly flatpak manifest. · 58fd168f
      Jehan authored
      Synced from the beta flatpak. The previous manifest rules were building
      fine on Flathub build servers, but not on GNOME CI ones. It resulted in
      a bunch of "ISO C++17" errors when building ilmbase.
      Maybe just restricting to C++14 through build fine would have been fine,
      but anyway let's also update the dependencies in the same time as we
      were outdated.
    • Jehan's avatar
      build: update the master flatpak. · 3e2207e1
      Jehan authored
      As per state in the wip/release/2-99-8 branch of the beta flatpak.
      In particular, we update some dependencies (poppler, ghostscript and
      It should also fix the master flatpak build which seemed to fail on
      downloading SuiteSparse sources. Since their upstream moved their
      tarballs to be downloaded from Github, it should take care of this issue
      by side effect.
  12. 17 Jul, 2021 3 commits
    • michaelmcl1960's avatar
      Issue #6994: Color Noise produces artifacts with highly saturated… · 3b3f34cd
      michaelmcl1960 authored
      … source colors
      Reviewer's (Jehan) note: a git blame shows this is a clear bug
      introduced in commit 9d19bf2a, which was a cleanup patch, and the
      BOUNDS() macro was not doing exactly the same thing as the code before
      the change.
    • Jehan's avatar
      build: MSYS2 python package is now Python 3.9. · 681d8e74
      Jehan authored
      The MSYS2 package got recently bumped from 3.8 to 3.9.6.
      At first I wanted to update our packaging and installer scripts to be
      more generic using glob patterns (so that they should work now and
      should continue to work even if bumping to a higher minor version in the
      future). Unfortunately this would work for `package-gimp-msys2.sh` but
      in `files.isi`, it would only work for `libpython3.*.dll`, not for the
      python3.9/ folder. InnoSetup apparently doesn't support using a folder
      as source (or maybe just a folder with glob like `python3.*`) as it
      resulted in a "No files found matching" error.
      So leave everything with the accurate version (because anyway it's much
      better to get an early failure than only at the very last step).
    • Jehan's avatar
      build: bump GTK to 3.24.30. · bd71814e
      Jehan authored
      Same as MSYS2, add a patch to fix keyboard input when using IMEs (which
      should hopefully fix #1603). Note that this patch should be in the next
      Also remove the Windows Pointer Input Stack support as it is in 3.24.30.
      Finally apply the patch from gtk!3661 for testing (instead of the patch
      from gtk!3275), as it is supposed to fix #5475. This is the reason why
      we still build our own GTK3.
  13. 11 Jul, 2021 1 commit
  14. 07 Jul, 2021 4 commits
  15. 06 Jul, 2021 4 commits