1. 03 Oct, 2018 1 commit
    • Ell's avatar
      Issue #2303 - Please add Constant type of gradient interpolation ... · 68bf99e8
      Ell authored
      ... to make multi-color hard-edge gradient fills possible
      
      Add a new "step" gradient-segment blending function, which is 0
      before the midpoint, and 1 at, and after, the midpoint.  This
      creates a hard-edge transition between the two adjacent color stops
      at the midpoint.  Creating such a transition was already possible,
      but required duplicating the same color at the opposing ends of two
      adjacent stops, which is cumbersome.
      68bf99e8
  2. 02 Oct, 2018 4 commits
  3. 01 Oct, 2018 4 commits
    • ONO Yoshio's avatar
      plug-ins: fix a datasourcetype does not shown in metadata-editor. · 3c92b5e0
      ONO Yoshio authored
      Tag of DigitalSourceType has 5 entries, but the combobox shown
      only 4 items.
      3c92b5e0
    • Ell's avatar
      app: in gimp-parallel, cancel ongoing async operations upon exit · e46fdc71
      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.
      e46fdc71
    • Ell's avatar
      app: add gimp_data_factory_data_cancel() · 6bc0b3b8
      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.
      6bc0b3b8
    • Ell's avatar
      app: don't depend on GimpData sort order for identifying internal data · 50bab438
      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.)
      50bab438
  4. 30 Sep, 2018 5 commits
    • Jehan's avatar
      INSTALL: update mypaint-brushes repository (finally upstream!). · 5ac26782
      Jehan authored
      The MyPaint project now hosts the repository which was under my name
      previously. Yeah!
      5ac26782
    • Ell's avatar
      tools: in performance-log-viewer.py, add annotated source view · 88438c50
      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.
      88438c50
    • Ell's avatar
      tools: in performance-log-view.py, don't change call-graph path ... · b672f200
      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.
      b672f200
    • Ell's avatar
      tools: in performance-log-viewer.py, cache source file lookups · 97498017
      Ell authored
      In the performance-log viewer, cache the results of source-file
      lookups, to speed up future lookups.
      97498017
    • Ell's avatar
      tools: in performance-log-viewer.py, allow viewing source files ... · 0f387092
      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.
      0f387092
  5. 29 Sep, 2018 19 commits
  6. 28 Sep, 2018 1 commit
  7. 27 Sep, 2018 5 commits
    • Piotr Drąg's avatar
      Update Polish translation · e6b92dbb
      Piotr Drąg authored
      e6b92dbb
    • Jehan's avatar
      build: bump some dependencies in nightly flatpak. · fb0b04e8
      Jehan authored
      Sync with recent changes of the stable flatpak.
      fb0b04e8
    • Jehan's avatar
      desktop: prepare release of GIMP 2.10.8. · ba53a833
      Jehan authored
      Please everyone, feel free to update the list of upcoming
      changes/features, if you feel some particular change should be more
      prominently exposed in this list (or at the opposite that some change is
      not worth mentionning), or for rewording, etc.
      ba53a833
    • Ell's avatar
      app: construct tool-options GUI lazily · c1347a7f
      Ell authored
      We currently construct the tool-options GUI for all the tools at
      startup, which takes a significant amount of time.  Instead,
      only register the GUI construction function with the tool-options
      object, using the new gimp_tools_set_tool_options_gui_func()
      function, and use the registered function to construct the GUI when
      actually needed.
      c1347a7f
    • Ell's avatar
      tools: various improvements in gimp-performance-log-viewer.py · d33fb0e7
      Ell authored
      Fix int-ratio variable formatting when the input is NaN, which can
      happen when calculating the standard deviation, if all the values
      are infinite.
      
      Fix keyboard sample-range selection.
      
      Deselect all samples when right-clicking a sample graph.
      d33fb0e7
  8. 26 Sep, 2018 1 commit
    • Ell's avatar
      plug-ins: in script-fu, don't query PDB procedures' info on startup · 9a2999a5
      Ell authored
      script-fu used to query the information of every PDB procedure on
      startup, in order to get the number of parameters for each
      procedure.  This was done so that nullary procedures were defined
      in such a way as to accept (and ignore) any number of arguments
      (and at least one of the scripts we ship relies on this behavior).
      However, this requires expensive back-and-forth communication with
      the main GIMP process, which notable slowed down script-fu's
      startup, and had a non-negligible impact on GIMP's startup time.
      
      Instead, avoid querying procedure information, and implement the
      special behavior for nullary procedures at call time.  We do this
      by defining, in addition to the "strict" gimp-proc-db-call
      procedure, a "permissive" -gimp-proc-db-call internal procedure,
      and using the latter to call the predefined PDB procedures.
      9a2999a5