1. 04 Jan, 2019 1 commit
  2. 02 Dec, 2018 1 commit
  3. 24 Nov, 2018 2 commits
    • Ell's avatar
      app: more gimp-parallel fixes · 79a44eda
      Ell authored
      Fix indentation in gimp-parallel.{cc,h}.
      
      Remove unused typedefs in gimp-parallel.h.
      
      s/Gimp/Gegl/ in function-type cast in gimphistogram.c.
      
      (cherry picked from commit 05a4437d)
      79a44eda
    • Ell's avatar
      app: remove gimp_parallel_distribute(); use gegl_parallel_distribute() · d4312fd5
      Ell authored
      The parallel_distribute() family of functions has been migrated to
      GEGL.  Remove the gimp_parallel_distribute() functions from
      gimp-parallel, and replace all uses of these functions with the
      corresponding gegl_parallel_distrubte() functions.
      
      (cherry picked from commit 2736cee5)
      d4312fd5
  4. 18 Sep, 2018 2 commits
    • Ell's avatar
      app, libgimp*, modules: don't use g_type_class_add_private() ... · 31b369d0
      Ell authored
      ... and G_TYPE_INSTANCE_GET_PRIVATE()
      
      g_type_class_add_private() and G_TYPE_INSTANCE_GET_PRIVATE() were
      deprecated in GLib 2.58.  Instead, use
      G_DEFINE_[ABSTRACT_]TYPE_WITH_PRIVATE(), and
      G_ADD_PRIVATE[_DYNAMIC](), and the implictly-defined
      foo_get_instance_private() functions, all of which are available in
      the GLib versions we depend on.
      
      This commit only covers types registered using one of the
      G_DEFINE_FOO() macros (i.e., most types), but not types with a
      custom registration function, of which we still have a few -- GLib
      currently only provides a (non-deprecated) public API for adding a
      private struct using the G_DEFINE_FOO() macros.
      
      Note that this commit was 99% auto-generated (because I'm not
      *that* crazy :), so if there are any style mismatches... we'll have
      to live with them for now.
      31b369d0
    • Øyvind "pippin" Kolås's avatar
      app: histogram migrated to new buffer iterator · 957e0cd9
      Øyvind "pippin" Kolås authored
      (cherry picked from commit 2c2d8d86)
      957e0cd9
  5. 11 Jul, 2018 1 commit
  6. 04 Jul, 2018 1 commit
    • Ell's avatar
      app: add gimp_parallel_run_async_{full,independent}() · fac91dda
      Ell authored
      Remove the "independent" parameter of gimp_parallel_run_async(),
      and have the function always execute the passed callback in the
      shared async thread-pool.
      
      Add a new gimp_parallel_run_async_full() function, taking, in
      addition to a callback and a data pointer:
      
        - A priority value, controlling the priority of the callback in
          the async thread-pool queue.  0 is the default priority (used
          by gimp_parallel_run_async()), negative values have higher
          priority, and positive values have lower priority.
      
        - A destructor function for the data pointer.  This function is
          called to free the user data in case the async operation is
          canceled before execution of the callback function begins, and
          the operation is dropped from the queue and aborted without
          executing the callback.  Note that if the callback *is*
          executed, the destructor is *not* used -- it's the callback's
          responsibility to free/recycle the user data.
      
      Add a separate gimp_parallel_run_async_independent() function,
      taking the same parameters, and executing the passed callback in
      an independent thread, rather than the thread pool.  This function
      doesn't take a priority value or a destructor (and there's no
      corresponding "_full()" variant that does), since they're pointless
      for independent threads.
      
      Adapt the rest of the code to the changes.
      
      (cherry picked from commit b74e600c)
      fac91dda
  7. 27 May, 2018 2 commits
    • Ell's avatar
      app: add "independent" parameter to gimp_parallel_run_async() · ddc9dace
      Ell authored
      Add a boolean "independent" parameter to gimp_parallel_run_async().
      When FALSE, the passed function is run in the shared async thread
      pool; when TRUE, the passed function is run in an independent
      thread.
      
      Generally, async operations should run in the async pool, however,
      it might be desirable to run long-standing operations, especially
      ones that can't be canceled, in independent threads.  This avoids
      stalling quicker operations, and shutdown.
      
      Adapt the rest of the code for the change.  In particular,
      initialize the font cache in an independent thread.
      
      (cherry picked from commit ad8add68)
      ddc9dace
    • Ell's avatar
      app: implement GimpWaitable and GimpCancelable in GimpAsync · fd1e5883
      Ell authored
      Have GimpAsync implement the GimpWaitable and GimpCancelable
      interfaces, added in the previous two commits, instead of providing
      its own public version of the corresponding functions.
      
      Add gimp_async_cancel_and_wait() as a convenience function for both
      canceling an async operation, and waiting for it to complete.
      
      Adapt the rest of the code to the change.
      
      (cherry picked from commit e2c56ef4)
      fd1e5883
  8. 25 May, 2018 1 commit
  9. 13 May, 2018 1 commit
  10. 12 May, 2018 1 commit
  11. 11 May, 2018 1 commit
  12. 19 Nov, 2017 1 commit
  13. 08 Nov, 2017 1 commit
  14. 07 Nov, 2017 1 commit
    • Ell's avatar
      Bug 788394 - Crash (segmentation fault) when calculating a histogram ... · b2b6552f
      Ell authored
      ... upon NaN values
      
      Make the histogram bin calculation NaN-safe, by mapping NaNs to 0.
      Ideally, NaNs should probably not be counted at all, but since we
      already count negative values as 0, and > 1 values as 1, we might
      as well not pessimize performance over it, at least until we add
      support for unbounded histograms.
      
      At the same time, improve rounding in the bin calculation, so that
      the result is more accurate.
      b2b6552f
  15. 26 Dec, 2016 1 commit
    • Michael Natterer's avatar
      app: allow to toggle the histogram dialog between gamma and linear · fc9da4c9
      Michael Natterer authored
      Change GimpHistogram to take a "gboolean linear" parameter and always
      honor that parameter, so both kinds of histograms can now be created
      for all drawables.
      
      Add a horrible "Linear" toggle to the histogram dockable which always
      defaults to the active layer's actual pixel format, but can be
      switched at any time. This UI is ugly and needs to change.
      
      On the PDB, default to gamma-corrected if the plug-in is unaware of
      higher precision, and to the drawable's native pixel format otherwise.
      
      Other places using histograms (e.g. levels, curves) are unchanged.
      fc9da4c9
  16. 25 Nov, 2016 1 commit
  17. 18 Apr, 2016 1 commit
  18. 02 Jul, 2014 1 commit
  19. 13 Sep, 2013 1 commit
    • Daniel Sabo's avatar
      app, plug-ins: Don't modify iter->length · 34c50b0f
      Daniel Sabo authored
      The new by-row iteration doesn't re-write the length
      value for each row. In general it is not safe to modify
      the iterator data because the internal logic depends
      on the public data, but this specific case is new.
      34c50b0f
  20. 12 Jun, 2013 1 commit
  21. 11 Jun, 2013 6 commits
  22. 21 Apr, 2013 1 commit
    • Massimo Valentini's avatar
      app: histogram typos · 0909a30b
      Massimo Valentini authored
      correctly offset the mask,
      don't crash computing the histogram of a GRAY image selection
      and don't use an integer division
      0909a30b
  23. 07 May, 2012 1 commit
  24. 02 May, 2012 7 commits
  25. 13 Oct, 2011 2 commits