1. 11 Sep, 2018 3 commits
  2. 10 Sep, 2018 5 commits
  3. 29 Aug, 2018 1 commit
    • Debarshi Ray's avatar
      file-jpeg: Fix the copyright and license notices of jpeg-icc.* · 5dcee9ad
      Debarshi Ray authored
      This code was originally written by Thomas G. Lane and Todd Newman,
      and proposed for inclusion in the Independent JPEG Group's software.
      However, that fell through when Tom left the IJG. It was not written by
      Marti Maria - Little cms only had a copy of that code.
      
      This code has recently been merged into libjpeg-turbo, so it seems
      reasonable to now consider libjpeg-turbo as the canonical source of
      these files. However, since the GIMP carries the original version of
      the code proposed for IJG's JPEG, and doesn't contain any of the more
      recent and minor tweaks made during its inclusion in libjpeg-turbo,
      only the original copyright holders (ie., Thomas G. Lane and Todd
      Newman) are mentioned.
      
      The relevant license text was lifted from the Independent JPEG Group's
      software, similar to the way it's done in Chromium and other users of
      this code.
      
      #2119
      5dcee9ad
  4. 19 Aug, 2018 1 commit
    • Jehan's avatar
      Issue #1970: Python-fu missing in 2.10.4. · de11e353
      Jehan authored
      Do not set the interpreter to `python2` but to whatever was found by the
      AM_PATH_PYTHON2() m4 macro.
      It looks like the Python2 binary we ship in our DMG may be call "python"
      only (without the '2'). Let's just make our code more resilient to
      various builds.
      I am not sure yet this is the only/actual problem for this issue on
      macOS, but this is at least in the right way.
      
      (cherry picked from commit 8f21c948)
      de11e353
  5. 18 Aug, 2018 1 commit
    • Jehan's avatar
      plug-ins: include the right python source in the distribution. · b810590b
      Jehan authored
      The python path with directory are generated files and should not be in
      the dist. The previous commit was fixing an in-tree `make check` but
      this one fixes the `make distcheck` as the dist was packaging the wrong
      python files.
      
      (cherry picked from commit 55a7872e)
      b810590b
  6. 12 Aug, 2018 2 commits
    • Jehan's avatar
      plug-ins: replace s/printf/g_printf/ · 0832bbd7
      Jehan authored
      When cross-compiling, I got various linking errors for printf() calls:
      > undefined reference to `libintl_printf'
      
      I am unsure why, since this is not recent code, and it used to build
      fine with mingw64 compilers (last I cross-built, which is many months
      ago). Anyway g_printf() works fine, all necessary libs are already
      linked, and it is supposed to be a synonym. So let's just go the easy
      way and use g_printf() only.
      
      (cherry picked from commit c49afa4f)
      0832bbd7
    • Jehan's avatar
      configure: GLIB_COMPILE_RESOURCES is wrong when cross-compiling. · 8e453330
      Jehan authored
      AM_PATH_GLIB_2_0 m4 macro actually computes this value using
      $PKG_CONFIG. Yet $PKG_CONFIG variable is the pkg-config tool looking for
      target libraries (not host), hence it would return the executable
      `glib-compile-resources` built for the target.
      
      Also using the same variable name invalidates our test: our own
      AC_PATH_PROG was never run as the variable was already set. And no
      environment variable could override this test anymore either. This is
      why I rename the test variable to HOST_GLIB_COMPILE_RESOURCES.
      
      (cherry picked from commit d1d9eb17)
      8e453330
  7. 06 Aug, 2018 1 commit
  8. 21 Jul, 2018 1 commit
    • Michael Natterer's avatar
      Initial space invasion commit in GIMP · e09e563a
      Michael Natterer authored
      All babl formats now have a space equivalent to a color profile,
      determining the format's primaries and TRCs. This commit makes GIMP
      aware of this.
      
      libgimp:
      
      - enum GimpPrecision: rename GAMMA values to NON_LINEAR and keep GAMMA
        as deprecated aliases, add PERCEPTUAL values so we now have LINEAR,
        NON_LINEAR and PERCPTUAL for each encoding, matching the babl
        encoding variants RGB, R'G'B' and R~G~B~.
      
      - gimp_color_transform_can_gegl_copy() now returns TRUE if both
        profiles can return a babl space, increasing the amount of fast babl
        color conversions significantly.
      
      - TODO: no solution yet for getting libgimp drawable proxy buffers in
        the right format with space.
      
      plug-ins:
      
      - follow the GimpPrecision change.
      
      - TODO: everything else unchanged and partly broken or sub-optimal,
        like setting a new image's color profile too late.
      
      app:
      
      - add enum GimpTRCType { LINEAR, NON_LINEAR, PERCEPTUAL } as
        replacement for all "linear" booleans.
      
      - change gimp-babl functions to take babl spaces and GimpTRCType
        parameters and support all sorts of new perceptual ~ formats.
      
      - a lot of places changed in the early days of goat invasion didn't
        take advantage of gimp-babl utility functions and constructed
        formats manually. They all needed revisiting and many now use much
        simpler code calling gimp-babl API.
      
      - change gimp_babl_format_get_color_profile() to really extract a
        newly allocated color profile from the format, and add
        gimp_babl_get_builtin_color_profile() which does the same as
        gimp_babl_format_get_color_profile() did before. Visited all callers
        to decide whether they are looking for the format's actual profile,
        or for one of the builtin profiles, simplifying code that only needs
        builtin profiles.
      
      - drawables have a new get_space_api(), get_linear() is now get_trc().
      
      - images now have a "layer space" and an API to get it,
        gimp_image_get_layer_format() returns formats in that space.
      
      - an image's layer space is created from the image's color profile,
        change gimpimage-color-profile to deal with that correctly
      
      - change many babl_format() calls to babl_format_with_space() and take
        the space from passed formats or drawables
      
      - add function gimp_layer_fix_format_space() which replaces the
        layer's buffer with one that has the image's layer format, but
        doesn't change pixel values
      
      - use gimp_layer_fix_format_space() to make sure layers loaded from
        XCF and created by plug-ins have the right space when added to the
        image, because it's impossible to always assign the right space upon
        layer creation
      
      - "assign color profile" and "discard color profile" now require use
        of gimp_layer_fix_format_space() too because the profile is now
        embedded in all formats via the space.  Add
        gimp_image_assign_color_profile() which does all that and call it
        instead of a simple gimp_image_set_color_profile(), also from the
        PDB set-color-profile functions, which are essentially "assign" and
        "discard" calls.
      
      - generally, make sure a new image's color profile is set before
        adding layers to it, gimp_image_set_color_profile() is more than
        before considered know-what-you-are-doing API.
      
      - take special precaution in all places that call
        gimp_drawable_convert_type(), we now must pass a new_profile from
        all callers that convert layers within the same image (such as
        image_convert_type, image_convert_precision), because the layer's
        new space can't be determined from the image's layer format during
        the call.
      
      - change all "linear" properties to "trc", in all config objects like
        for levels and curves, in the histogram, in the widgets. This results
        in some GUI that now has three choices instead of two.
        TODO: we might want to reduce that back to two later.
      
      - keep "linear" boolean properties around as compat if needed for file
        pasring, but always convert the parsed parsed boolean to
        GimpTRCType.
      
      - TODO: the image's "enable color management" switch is currently
        broken, will fix that in another commit.
      e09e563a
  9. 18 Jul, 2018 1 commit
    • Jehan's avatar
      Issue #788: also install all python plug-ins in their own directory. · dbb9555d
      Jehan authored
      It seems I forgot to also install python plug-ins in a subdirectory
      (because they are deactivated on master for the time being). I even
      found a year-old patch from myself rotting in the tracker, and which was
      doing exactly this.
      I redid it, improved to fit changes.
      dbb9555d
  10. 17 Jul, 2018 1 commit
    • Ell's avatar
      Issue #1825 - PSD files are loaded as merged by default ... · 03201262
      Ell authored
      ... depending on UI language
      
      Use gimp_register_file_handler_priority(), added in the previous
      commit, to increase the priority of the merged PSD loader, so that
      the non-merged loader is always preferred over it (unless
      explicitly chosen), regardless of the UI language.
      03201262
  11. 14 Jul, 2018 3 commits
  12. 13 Jul, 2018 1 commit
  13. 11 Jul, 2018 2 commits
  14. 07 Jul, 2018 2 commits
  15. 06 Jul, 2018 3 commits
  16. 27 Jun, 2018 3 commits
  17. 26 Jun, 2018 1 commit
  18. 25 Jun, 2018 2 commits
    • Adrián Pérez de Castro's avatar
      plug-ins: port web-page to WebKitGTK+ 2 · d37f3528
      Adrián Pérez de Castro authored
      This is the minimum set of changes needed to make the web-page plug-in
      buildable again using WebKitGTK+ 2.x. Tested as building with WebKitGTK+
      version 2.20.3, but unfortunately I cannot test the plug-in as GIMP will
      produce an error when trying to use it.
      d37f3528
    • Adrián Pérez de Castro's avatar
      plug-ins: port help-browser to WebKitGTK+ 2 · d34f46b3
      Adrián Pérez de Castro authored
      This is the minimum set of changes needed to update help-browser to the
      WebKitGTK+ 2 API. Fortunately, the plug-in did not use parts of the old
      API which would have been difficult to port (DOM bindings, for example),
      and therefore the code translates quite well to the new API. The main
      differences are:
      
      - WebKitWebFrame is gone, most of its methods are now in WebKitWebView.
      - Searching for text inside Web pages has to be done now through the
        WebKitFindController object.
      - Checking whether there is selected text that can be copied now goes
        through WebKitEditorState.
      - The WebKitWebView::title-changed signal is no more, the callback is
        connected to notify::title instead.
      - The load-started and load-finished pair of signals are now merged
        into WebKitWebView::load-changed.
      - There are no methods to zoom a WebKitWebView in and out, instead
        the zoom-level property is set. The updated code ensures that the
        zoom lovel stays inside the [0.1, 10.0] range.
      - Page visit history now goes through WebKitBackForwardList.
      
      The updated plug-in was successfully built in tested with WebKitGTK+
      version 2.20.3.
      d34f46b3
  19. 24 Jun, 2018 1 commit
  20. 19 Jun, 2018 1 commit
  21. 18 Jun, 2018 4 commits
    • Michael Natterer's avatar
      5ebc7909
    • Ell's avatar
      plug-ins: add support for loading merged image data from PSD files · 1d9a8a91
      Ell authored
      PSD files may include a "merged", pre-composited, version of the
      image (in Photoshop, this is the case when saving files with
      "Maximize Compatibility" enabled; GIMP always saves the merged
      image data in exported PSD files.)  This commit adds support for
      loading the merged image version from PSDs, instead of the full
      layer hierarchy.  This is useful when loading PSD files that use
      features that we don't currently support, and therefore can't
      render correctly, such as adjustment layers.
      
      When loading the merged image version, we avoid loading certain
      additional data from the file, such as channels, paths, and
      guides, while still loading metadata, making this akin to loading
      other "flat" image formats.
      
      This option is currently exposed as an additional file type
      ("Photoshop image (merged)"), which has to be explicitly selected
      from the file-type list when opening the image.
      1d9a8a91
    • Salamandar's avatar
      Replace #include .c -> #include .h · 38295dcb
      Salamandar authored
      glib_compile_resources generate .c as sources and .h as headers
      38295dcb
    • Michael Natterer's avatar
      libgimp: remove gimp_gamma() · fe648c87
      Michael Natterer authored
      fe648c87