1. 10 Oct, 2018 6 commits
    • Ell's avatar
      tools: add performance-log-coalesce.py; use in performance-log-viewer · 8c91206d
      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.
      (cherry picked from commit cb51ea98)
    • Snehalata Shirude's avatar
      Update Marathi translation · f314bbd5
      Snehalata Shirude authored and Administrator's avatar Administrator committed
    • Ell's avatar
      app: in GimpBacktrace Windows backend, avoid bogus symbol addresses · d0fdff71
      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.
      (cherry picked from commit 52772cf3)
    • Ell's avatar
      app: in GimpBacktrace Windows backend, set main-thread name · ca8bbd2e
      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.
      (cherry picked from commit 52908f39)
    • Marco Ciampa's avatar
      Updated Italian translation · 58dccd6c
      Marco Ciampa authored
    • Ell's avatar
      app: improve description comment of GimpAsync · 93d12195
      Ell authored
      (cherry picked from commit ca6e4eb4)
  2. 09 Oct, 2018 2 commits
    • Ell's avatar
      Issue #2339 - Error while executing script-fu-ripply-anim · 15767a88
      Ell authored
      In ripply-anim.scm, correct the edge-type argument passed to
      (cherry picked from commit 5e6e979a)
    • Ell's avatar
      app: allow progressive execution of parallel async operations · 9f86b58a
      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.
      (cherry picked from commit 4969d757)
  3. 06 Oct, 2018 1 commit
  4. 05 Oct, 2018 2 commits
    • Ell's avatar
      Issue #2308 - Strange behavior when switching active layer during transform · e0e82558
      Ell authored
      Replace GimpTransformTool's 'drawable' field with an 'item' field,
      and have GimpTransformGridTool set it to the active item, to which
      the transformation is applied, during its initialization.  In
      gimp_transform_tool_get_active_item(), return the value of the
      transform tool's 'item' field, if not NULL, instead of the image's
      active item.  This makes sure we apply that transform-grid tools
      apply the transformation for the item for which they were
      activated, even if the image's active item has changed.
      (cherry picked from commit 3eaae585)
    • Ell's avatar
      themes: fix check/radio buttons in tree views · 32c2aa11
      Ell authored
      Apply the check/radio-button style to GtkTreeView, so that
      GtkCellRendererToggle picks the right check/radio-button graphic.
      Otherwise, it falls back to a graphic that depends on the system
      theme, and which may not play well with the current theme colors.
      Note that this only affects the Dark theme; in the Light and Gray
      themes, one of the KDE-hack styles "takes care" of this, but this
      commit applies the same change to these themes anyway.
  5. 04 Oct, 2018 1 commit
  6. 02 Oct, 2018 4 commits
  7. 01 Oct, 2018 6 commits
    • ONO Yoshio's avatar
      plug-ins: fix a datasourcetype does not shown in metadata-editor. · 41bacb7c
      ONO Yoshio authored
      Tag of DigitalSourceType has 5 entries, but the combobox shown
      only 4 items.
      (cherry picked from commit 3c92b5e0)
    • Snehalata Shirude's avatar
      Update Marathi translation (plugins/script-fu/tags) · d2b5dff3
      Snehalata Shirude authored and Claude Paroz's avatar Claude Paroz committed
    • Snehalata Shirude's avatar
      Update Marathi translation · b96672c3
      Snehalata Shirude authored and Claude Paroz's avatar Claude Paroz committed
    • Ell's avatar
      app: in gimp-parallel, cancel ongoing async operations upon exit · e8fef315
      Ell authored
      When shutting-down gimp-parallel, cancel and/or abort any ongoing
      and queued async operations, instead of finishing them (async
      operations that already started executing will be canceled, but
      execution will be blocked until they're finished.)  This is
      especially important since we're shutting down gimp-parallel before
      the destruction of data factories.  This commit causes any ongoing
      async operations of the factories to be canceled on shutdown,
      rather than waiting for them to finish normally.
      (cherry picked from commit e46fdc71)
    • Ell's avatar
      app: add gimp_data_factory_data_cancel() · 7058aa25
      Ell authored
      Add a new GimpData::data_cancel() virtual function, and a
      corresponding gimp_data_factory_data_cancel() function.  This
      function should cancel any ongoing async operations related to the
      factory (i.e., included in its async set), and wait for the
      operations to finish.  Provide a default implementation that simply
      cancels and waits on the factory's async set.
      Use this function to cancel any ongoing operations during factory
      destruction, and in gimp_data_factory_data_free().
      Override this function in GimpFontFactory, for which we can't
      really cancel font loading, and simply cancel and clear the
      factory's async set without waiting for loading to finish, making
      sure that nothing happens (and, in particular, that the factory
      isn't being accessed, since it might be already dead) when loading
      does finish.
      (cherry picked from commit 6bc0b3b8)
    • Ell's avatar
      app: don't depend on GimpData sort order for identifying internal data · 937f5ea0
      Ell authored
      In gimp_data_factory_data_foreach(), don't rely on internal
      GimpData objects being sorted first (while this is currently true
      for all types of GimpData, they may override the sort order.)
      (cherry picked from commit 50bab438)
  8. 30 Sep, 2018 6 commits
    • Alexandre Prokoudine's avatar
      Update NEWS · c0d00cba
      Alexandre Prokoudine authored
    • Jehan's avatar
      INSTALL: update mypaint-brushes repository (finally upstream!). · 8a91cde1
      Jehan authored
      The MyPaint project now hosts the repository which was under my name
      previously. Yeah!
      (cherry picked from commit 5ac26782)
    • Ell's avatar
      tools: in performance-log-viewer.py, add annotated source view · c6f11967
      Ell authored
      Add an annotated source view to the performance-log viewer's
      profile view.  When selecting the [Self] entry of a function's
      profile, for which source information is available and whose source
      is found locally, a new column opens, showing the function's
      source, annotated with sample statistics.  Header-bar buttons allow
      navigation through the annotated lines, selection of all the
      samples corresponding to a given line, and opening the text editor
      at the current line.
      (cherry picked from commit 88438c50)
    • Ell's avatar
      tools: in performance-log-view.py, don't change call-graph path ... · 8624f307
      Ell authored
      ... when selecting a function's samples
      Since we now preserve the call-graph path across state changes,
      there's no need to explictly set the path after selecting a
      function's samples in the profile view.
      (cherry picked from commit b672f200)
    • Ell's avatar
      tools: in performance-log-viewer.py, cache source file lookups · 43584300
      Ell authored
      In the performance-log viewer, cache the results of source-file
      lookups, to speed up future lookups.
      (cherry picked from commit 97498017)
    • Ell's avatar
      tools: in performance-log-viewer.py, allow viewing source files ... · 33269cc8
      Ell authored
      ... in backtraces
      In the performance-log viewer's backtrace viewer, show a document
      icon next to stack frames with source-location information, whose
      source file is found locally.  Clicking the icon opens the source
      file in a text editor at the relevant line.
      Two environment variables control this feature:
        - PERFORMANCE_LOG_VIEWER_PATH is a list of colon-separated
          directories in which to look for source files.  If this
          variable is undefined, the current directory is used.
        - PERFORMANCE_LOG_VIEWER_EDITOR is the command to use to launch
          the text editor, for editing a specific file at a specific
          line.  The special strings "{file}" and "{line}" are replaced
          with the filename and line-number, respectively.  If this
          variable is undefined, "xdg-open {file}" is used.
      (cherry picked from commit 0f387092)
  9. 29 Sep, 2018 12 commits