1. 01 Oct, 2018 1 commit
  2. 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!
    • 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.
    • 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.
    • 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.
    • 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.
  3. 29 Sep, 2018 19 commits
  4. 28 Sep, 2018 1 commit
  5. 27 Sep, 2018 5 commits
    • Piotr Drąg's avatar
      Update Polish translation · e6b92dbb
      Piotr Drąg authored
    • Jehan's avatar
      build: bump some dependencies in nightly flatpak. · fb0b04e8
      Jehan authored
      Sync with recent changes of the stable flatpak.
    • 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.
    • 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.
    • 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.
  6. 26 Sep, 2018 3 commits
    • 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.
    • Rafael Fontenelle's avatar
    • Ell's avatar
      Issue #2272 - Crash when using the intelligent-scissors tool ... · a5baba55
      Ell authored
      ... after erasing all points
      When erasing the last remaining point in the iscissors tool, halt
      the tool, rather than leaving the tool active with an empty curve,
      which it is not prepared to handle, and which results in a segfault
      once trying to add a new point.
      Additionally, when erasing the last remaining segment (i.e., the
      two last remaining points), don't erase the entire segment (i.e.,
      both points), but rather convert the segment to its initial point,
      so that, in effect, we only erase the last point of the segment.
  7. 25 Sep, 2018 1 commit
    • Ell's avatar
      Revert "app: add "perspective correction" option to the measure tool" · 53964dcb
      Ell authored
      This reverts commit d31725a9.
      This option is not very useful.  In order to do actual perspective
      correction, we need more information, such as the scene's vanishing
      point and the camera's focal length.  The measure tool is probably
      not the right place to do all that.  Let's simply revert this.
  8. 23 Sep, 2018 5 commits
    • Ell's avatar
      app: use gimp_dialog_set_alternative_button_order() · bf2ea81f
      Ell authored
      ... instead of gtk_dialog_set_alternative_button_order().
    • Ell's avatar
      app: tweak focus behavior of GimpToolWidgetGroup when removing widget · 24fb5971
      Ell authored
      When removing the focus widget of a GimpToolWidgetGroup, use the
      last child, rather than the first child, as the new focus widget.
      This plays nicer with auto-raise, and is probably better anyway.
    • Ell's avatar
      app: add "perspective correction" option to the measure tool · d31725a9
      Ell authored
      Add a boolean "perspective correction" option to the measure tool.
      When toggled, the measure tool uses two compass widgets, instead of
      one.  Straightening the active item in this mode results a
      perspective transform that straightens both lines simultaneously,
      keeping their origin fixed.
      The information displayed in the info window/statusbar always
      refers to the currently-focused compass.
    • Ell's avatar
      app: in GimpToolWidgetGroup, improve focus behavior when adding/removing widgets · 95d2c92f
      Ell authored
      When a focused widget is added to a group, make it the new focus-
      widget of the group, instead of unsetting its focus if another
      widget already has focus.
      When removing the focused widget from a group, set a different
      widget as the group's focus widget (if one exists), instead of
      unsetting the focus widget, so that nonempty groups always have a
      focus widget.
    • Ell's avatar
      app: in GimpToolWidgetGroup, calculate hover widget at button press · 5b217b3a
      Ell authored
      In gimp_tool_widget_group_button_press(), explicitly call
      gimp_tool_widget_group_hover() before forwarding the event to the
      group's hover widget, so that the hover widget gets recalculated.
      If a widget is added to the group as a result of a button-press
      event, this guarantees that it gets considered as a target for the
      same event.