1. 22 Oct, 2018 6 commits
  2. 21 Oct, 2018 2 commits
  3. 20 Oct, 2018 6 commits
  4. 19 Oct, 2018 5 commits
  5. 18 Oct, 2018 2 commits
  6. 17 Oct, 2018 2 commits
  7. 16 Oct, 2018 3 commits
  8. 12 Oct, 2018 1 commit
  9. 11 Oct, 2018 3 commits
    • Ell's avatar
      tools: fix performance-log viewer profile thread-filter · 43b492ff
      Ell authored
      In performance-log-viewer.py, fix thread-state toggling in the
      profile-view thread-filter popover, when not all threads are
      included in the current selection.
      43b492ff
    • Ell's avatar
      app: always use libunwind for symbol names in GimpBacktrace Linux backend · 72fc0174
      Ell authored
      In the GimpBacktrace Linux backend, always use libunwind, when
      available, to find symbol names, even if dladdr() or libbacktrace
      had already found one.  libunwind provides more descriptive names
      in certain cases, and, in particular, full symbol names for C++
      lambdas.
      
      Note that, in some cases, this can result in a discrepancy between
      the reported symbol name, and the corresponding source location.
      72fc0174
    • Ell's avatar
      app: fix gimp_wait() deadlock · 85b16b9e
      Ell authored
      In the GUI implementation of gimp_wait(), explicitly finish the
      input-pipe async operation after the busy-dialog plug-in
      terminates, to avoid the async callback function from being
      repeatedly called, stalling the main thread.  Previously, this code
      relied on gimp-parallel implicitly aborting the async operation,
      but this is no longer the case since commit
      4969d757.
      85b16b9e
  10. 10 Oct, 2018 4 commits
    • Ell's avatar
      tools: add performance-log-coalesce.py; use in performance-log-viewer · cb51ea98
      Ell authored
      Add a new performance-log-coalesce.py tool, which groups together
      performance-log address-map entries belonging to the same function
      into a single symbol, by filling-in missing base symbol addresses.
      The addresses are grouped such that each set of addresses
      corresponding to a symbol of the same name, in the same source
      file, are given the same (unique, but arbitrary) base address.
      See the previous commit for why this is necessary.
      
      This should work fine in most cases, however, for logs produced on
      Windows, it can over-coalesce addresses belonging to different C++
      lambda-functions in the same source file, since they all seem to be
      given the same _FUN symbol name.
      
      Use the new tool as part of the pipeline in performance-log-viewer.
      cb51ea98
    • Ell's avatar
      app: in GimpBacktrace Windows backend, avoid bogus symbol addresses · 52772cf3
      Ell authored
      In the GimpBacktrace Windows backend, avoid reporting meaningless
      symbol addresses when failing to retrieve meaningful ones.
      Unfortunately, it seems that we never get symbol addresses for
      symbols that have debug information, which negatively affects the
      log viewer's call graph.  We're going to have to work around this.
      52772cf3
    • Ell's avatar
      app: in GimpBacktrace Windows backend, set main-thread name · 52908f39
      Ell authored
      When initializing the GimpBacktrace Windows backend, set the name
      of the current thread (which is assumed to be the main thread) to
      the program's name, to match its name on Linux.  We normally rely
      on the SET_THREAD_NAME exception to set thread names on Windows,
      which isn't raised for the main thread.
      52908f39
    • Ell's avatar
      app: improve description comment of GimpAsync · ca6e4eb4
      Ell authored
      ca6e4eb4
  11. 09 Oct, 2018 2 commits
    • Ell's avatar
      Issue #2339 - Error while executing script-fu-ripply-anim · 5e6e979a
      Ell authored
      In ripply-anim.scm, correct the edge-type argument passed to
      plug-in-displace.
      5e6e979a
    • Ell's avatar
      app: allow progressive execution of parallel async operations · 4969d757
      Ell authored
      In the gimp_parallel_run_async() family of functions, allow the
      async callback to return without completing the async operation, in
      which case the callback will be called again, until the operation
      is either completed, or canceled, in which case it is aborted
      (previously, returning from the callback without completing the
      operation would cause it to be aborted.)  It is guaranteed that all
      operations of the same priority will get a chance to run, even if
      some of them contuinuosly return without completing.
      
      This allows potentially time-consuming operations to yield
      execution in favor of other same-priority operations, and, in
      particular, of higher-priority operations, to avoid priority
      inversion.  Essentially, this allows a simple form of cooperative
      multitasking among async operations.
      4969d757
  12. 08 Oct, 2018 3 commits
  13. 07 Oct, 2018 1 commit
    • Michael Natterer's avatar
      app: remove the image's "Enable Color Management" toggle · c399b894
      Michael Natterer authored
      It was not doing anything right since space invasion. We now treat the
      built-in sRGB profile like any other profile and never bypass
      conversions based on some weird toggle.
      
      Instead, introduce a "Use sRGB Profile" toggle which, when enabled,
      hides whatever profile away so the image actually uses the built-in
      sRGB profile.
      
      This is different from discarding and then re-assigning the same
      profile only by being faster and more convenient.
      c399b894