1. 30 Aug, 2018 2 commits
    • Debarshi Ray's avatar
      configure: Simplify libjpeg detection · 3bf1c6a5
      Debarshi Ray authored
      The jpeg_save_markers API has existed since 27th March 1998! So it's
      safe to assume that everybody has it, and there's no need to check for
      it.
      
      libjpeg-turbo has had a libjpeg.pc since 2016, and the IJG's software
      has it too. Dropping support for old libraries is a small price to pay
      for the benefits of a simpler build.
      
      !28
      3bf1c6a5
    • Ell's avatar
      Issue #2120 - Segmentation fault while using Levels to white balance a layer · 072d6b0d
      Ell authored
      Move the call to gimp_filter_tool_disable_color_picking() from the
      filter-tool's dialog "unmap" handler to gimp_filter_tool_halt().
      Since commit ec80a885, we
      explicitly destroy the GUI when halting the filter tool, which
      happens before the dialog's unmap handler is called, which could
      potentially result in a dangling pointer to the active color-picker
      widget in gimp_filter_tool_disable_color_picking().
      072d6b0d
  2. 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
  3. 28 Aug, 2018 2 commits
  4. 26 Aug, 2018 2 commits
  5. 25 Aug, 2018 2 commits
    • Christian Kirbach's avatar
      Update German translation · 4c9d82aa
      Christian Kirbach authored
      (cherry picked from commit 9feca3b0)
      4c9d82aa
    • Ell's avatar
      Issue #2095 - Filter wavelet-decompose error with layer Group option active · e5638451
      Ell authored
      In gimp_image_merge_layers(), explicitly fetch the graph of the top
      layer's parent layer (if exists), to make sure that the top layer's
      graph has a parent node.  We already fetch the image graph, which
      takes care of top-level layers, however, if the top layer is a
      child of an invisible layer group, as is the case in the wavelet-
      decompose plug-in, this is not generally enough to guarantee that
      the group's graph is constructed.
      e5638451
  6. 21 Aug, 2018 1 commit
  7. 20 Aug, 2018 10 commits
    • Ell's avatar
      app: explicitly clear GUI when halting a filter tool · ec80a885
      Ell authored
      In gimp_filter_tool_halt(), explicitly clear the GUI container
      before clearing filter_tool->config, since the tool might be halted
      during the GUI dialog's delete event, in which case the GUI will
      only be implicitly destroyed *after* the function returns.  The
      destruction of the GUI might fire signals whose handlers rely on
      filter_tool->config, so we need to make sure it happens while it's
      still alive.
      
      In particular, this fixes a CRITICAL in the threshold tool, which
      occurs due to the histogram view's "range-changhed" signal being
      fired during its destruction, and its handler accessing
      filter_tool->config.
      ec80a885
    • Ell's avatar
      app: add gimp_gtk_container_clear() · fd64aae4
      Ell authored
      ... which removes all non-internal children of a GtkContainer.
      fd64aae4
    • Michael Natterer's avatar
      app: make GimpDeviceInfo more rubust against broken device listings · 717c183a
      Michael Natterer authored
      gimp_device_info_set_device(): don't just bail out if a device with
      the same name is added again, instead, simply continue and overwrite
      the info's old device with the new one.
      
      NOTE that this only happens if something is wrong on the USB or udev
      or libinput or whatever side and the same device is present multiple
      times. The only "safe" thing is to assume that devices listed earlier
      are dead and dangling entities and that the last registered device is
      the one actually delivering events.
      717c183a
    • Michael Natterer's avatar
      icons: make the gap of the broken chain larger in the Color theme · 5d937a23
      Michael Natterer authored
      (cherry picked from commit 68375543)
      5d937a23
    • Jehan's avatar
      tools: invert-svg build tool no longer necessary. · 49fc5e30
      Jehan authored
      This tool has been outdated for some time now as we don't generate an
      "inverted icons" theme anymore. This is all done through CSS from a
      single symbolic icon theme.
      49fc5e30
    • Jehan's avatar
    • Ell's avatar
      app: use adaptive chunk size when rendering projections · a1706bbd
      Ell authored
      In GimpProjection, use an adaptive chunk size when rendering the
      projection asynchronously, rather than using a fixed chunk size.
      The chunk size is determined according to the number of pixels
      processed during the last frame, and the time it took to process
      them, aiming for some target frame-rate (currently, 15 FPS).  In
      other words, the chunks become bigger when processing is fast, and
      smaller when processing is slow.  We're currently aiming for
      generally-square chunks, whose sides are powers of 2, within a
      predefined range.
      
      Note that the chunk size represents a trade off between throughput
      and responsiveness: bigger chunks result in better throughput,
      since each individual chunk incurs an overhead, in particular when
      rendering area filters or multithreaded ops, while smaller chunks
      result in better responsiveness, since the time each chunk
      individual takes to render is smaller, allowing us to more
      accurately meet the target frame rate.  With this commit, we aim to
      find a good compromise dynamically, rather than statically.
      
      The use of adaptive chunk sizes can be disabled by defining the
      environment variable GIMP_NO_ADAPTIVE_CHUNK_SIZE, in which case we
      use a fixed chunk size, as before.
      a1706bbd
    • Ell's avatar
      app: don't chunk update area when rendering projection synchronously · 105ffc78
      Ell authored
      Add a boolean "chunk" parameter to
      gimp_projection_chunk_render_iteration(), which determines whether
      the work area should be sub-divided into chunks prior to rendering
      (previously, the work area would always be sub-divided.)  Only
      pass TRUE when rendering the projection asynchronously, in the
      render callback, and pass FALSE when rendering the projection
      synchronously, in gimp_projection_finish_draw(), which is called
      when flushing the projection through the GimpPickable interface.
      
      Rendering the projection using as big chunks as possible improves
      performance, while worsening responsiveness.  Since responsiveness
      doesn't matter when rendering synchronously, there's no reason to
      render in chunks.
      105ffc78
    • Jehan's avatar
      configure: reorder the dependency version list. · b8d4ab48
      Jehan authored
      Current order was just completely random, which makes it hard to manage.
      Let's order alphabetically.
      b8d4ab48
    • Ell's avatar
      Issue 2052 - Crash when using the flip tool · 94208055
      Ell authored
      In gimp_transform_tool_transform(), use "active_item", instead of
      "tool->drawable", when cutting/pasting the selected portion of a
      layer for transformation.  The latter is a remnant of the old
      transform-tool code, and is not guaranteed to be correspond to the
      correct drawable, or even to a valid drawable (i.e., it can
      potentially produce wrong results, or segfault.)
      94208055
  8. 19 Aug, 2018 11 commits
  9. 18 Aug, 2018 6 commits
    • Jehan's avatar
      desktop: GIMP 2.10.6 is now planned to be released on 2018-08-19. · 1d555018
      Jehan authored
      Hopefully that's now the right one!
      1d555018
    • Jehan's avatar
      icons: fix build with vector icons (default). · 0b73a1bc
      Jehan authored
      That's the problem of having alternative build options! My previous
      commits were made when testing the build with PNG icons.
      Anyway I am planning to soon merge the 2 options.
      0b73a1bc
    • Øyvind "pippin" Kolås's avatar
      6ad5d745
    • 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
    • Jehan's avatar
      po-python: skip copied Python files from POTFILES. · 9bbe950c
      Jehan authored
      This issue was invisible when making VPATH builds, but appeared only in
      source-tree builds as gettext tools are apparently mixing source and
      build files. So we need to add these in the POTFILES.skip.
      
      (cherry picked from commit 8ec5f44f)
      9bbe950c
    • Jehan's avatar
      icons: generate PNG symbolic icons with `gtk-encode-symbolic-svg`. · babf74a3
      Jehan authored
      We don't need to commit PNG symbolic icons as `gtk-encode-symbolic-svg`
      is perfectly able to generate them from the SVG.
      Moreover its man says that it makes "specially prepared png files",
      whatever that means. So I don't think we should just rename our
      self-exported PNG files as '*-symbolic.symbolic.png'. It is better to
      generate them with this tool.
      
      Note that I am now splitting icon-list.mk into 2 files. This is only a
      temporary stepback, as I am actually going to merge the 2 icon themes
      into one very soon, and hopefully we should be able to generate the list
      to ensure we don't miss an icon.
      Anyway the icon lists had already diverged earlier, even though it was
      only all still in a single file.
      babf74a3
  10. 17 Aug, 2018 3 commits