1. 23 Apr, 2018 8 commits
  2. 22 Apr, 2018 14 commits
    • Simon Budig's avatar
      fix internal name of the filter-grid help-id · 6ffa19d5
      Simon Budig authored
    • Michael Natterer's avatar
      app: fix outer border color of GimpSpinScale to look OK on all themes · a31ee3ec
      Michael Natterer authored
      it used to be "text" which is almost always too extreme; use "text_aa"
      instead which is half way between "text" and "base" and always gives a
      reasonable contrast.
    • Michael Natterer's avatar
      app: change offsets parameters of GimpItem::translate() from int to double · 7256f184
      Michael Natterer authored
      so we can use it to precisely position paths; use SIGNED_ROUND() in
      channel, layer etc. to snap to pixels.
    • Michael Natterer's avatar
    • Jehan's avatar
      app: gimp_get_temp_file() / gimp_temp_name() should create tmp/ if... · 33d93360
      Jehan authored
      ... it doesn't exist.
      The tmp/ dir in the config folder should already be created by GIMP, but
      just in case it is not there, try and create it, since all code calling
      these assumes that it exists.
    • Jehan's avatar
      libgimpconfig: create parent directories for config file if necessary. · 08cc3727
      Jehan authored
      The directory should be already created by GIMP. But just in case it is
      not there, for whatever reason, don't just fail. Try and create all
    • Jordi Mas's avatar
      Update Catalan translation · ada98782
      Jordi Mas authored
    • Jordi Mas's avatar
      Update Catalan translation · c77c756f
      Jordi Mas authored
    • Jehan's avatar
      data: move the Pepper brush to a "Fun" category. · 87f9e654
      Jehan authored
      This brush is not to be considered seriously and is mostly a "troll". If
      we want to keep it, let's make a proper category.
    • Piotr Drąg's avatar
      Update Polish translation · d7ced206
      Piotr Drąg authored
    • Ell's avatar
    • Ell's avatar
      Bug 795410 - Deleting a layer group and then undoing the deletion ... · 37742a9f
      Ell authored
      ... raises a CRITICAL
      gimp_item_{start,end}_move() currently serves two different
      purposes:  It is used by GimpLayer to suspend/resume mask resizing
      of the layer's ancestors; this is necessary whenever an operation
      on a layer might affect the size of its ancestors.  It is also used
      by GimpGroupLayer to suspend/resume its own mask resizing; this, on
      the other hand, is only necessary before applying one of the
      transformation functions to the group, so that mask modification is
      handled by GimpLayer.  In other words, the effects of
      gimp_item_{start,end}_move() on group layers are only necessary in
      a subset of the cases in which these functions are used.
      While in itself this isn't a problem, it does cause issues when
      removing a group layer:  gimp_image_remove_layer() calls
      gimp_item_start_move() before removing the layer, and
      gimp_item_end_move() afterwards.  While the former function is
      called while the layer is still attached to the image, the latter
      function is called after the layer is no longer attached.  Since
      GimpGroupLayer pushes an undo step in response to these calls, only
      the call to start_move() results in an undo step, while the call to
      end_move() doesn't, resulting in an unbalanced
      GIMP_UNDO_GROUP_LAYER_START_MOVE undo step on the stack.  This
      causes problems when undoing the operation.
      Add gimp_item_{start,end}_transform() functions, and corresponding
      GimpItem::{start,end}_transform() virtual functions, which are more
      specialized versions of gimp_item_{start,end}_move(), which should
      be used instead of the former before/after transforming an item; in
      other cases, such as when removing ot reordering an item,
      gimp_item_{start,end}_move() should still be used.  The default
      implementation of GimpItem::{start,end}_transform() calls
      gimp_item_{start,end}_move(), respectively, so subclasses that
      override these functions don't have to do that themselves.
      In GimpGroupLayer, override GimpItem::{start,end}_transform(),
      instead of GimpItem::{start,end}_move(), for the same purpose of
      suspending mask resize.  This avoids these functions from being
      called when removing a layer group, fixing the bug.
    • Ell's avatar
      app: avoid pushing undo for nested gimp_group_layer_{suspend,resume}_mask() · eeae5b48
      Ell authored
      ... in order not to overshoot the undo-stack estimated memory-
      usage.  See comment in the code.
    • Ell's avatar
      app: fix undo when moving a group-layer child outside the group · 577e1703
      Ell authored
      In gimp_image_reorder_item(), call gimp_item_start/end_move()
      before/after reordering the item (and use an undo group, so that
      the resulting undo actions are grouped together with the reordering
      undo action,) so that if the item is a child of a group layer, and
      reordering moves it out of the group in a way that causes the
      group's mask to be resized, the mask will be properly restored when
      undoing the operation.
  3. 21 Apr, 2018 4 commits
  4. 20 Apr, 2018 5 commits
  5. 19 Apr, 2018 9 commits
    • Ell's avatar
      Bug 795369 - crop tool not changing from landscape to portrait ... · ee755467
      Ell authored
      ... when using default aspect ratio
      The call to
      gimp_{crop,rectangle_select}_tool_update_option_defaults() when
      starting the crop/rectangle-select tools seems to no longer be
      necessary, while it overrides user modification to the default
      ratio's landscape/portrait orinetation (which only really matters
      for the crop tool, since the rectangle-select tools' default ratio
      is 1:1).  Fix this by simply removing the call.
    • Ell's avatar
      app: #include <string.h> in tool_manager.c · 187f2b44
      Ell authored
      For strcmp() and strlen().
    • Piotr Drąg's avatar
      Update POTFILES.in · b1df7d54
      Piotr Drąg authored
    • Michael Natterer's avatar
      app: make the sample point dockable work with more than 4 sample points · cb5f5d05
      Michael Natterer authored
      Keep the color frames in a scrolled list of two columns, show a label
      if the image has no sample points, show an icon if there is no image.
    • Michael Natterer's avatar
      app: improve drawing of sample points so they are always visible · 01e5a6b1
      Michael Natterer authored
      Draw them a bit brighter and larger, and with a dark shadow like tool
      lines so they are visible on all backgrounds.
    • Ell's avatar
      app: refactor gimppaintcore-loops to coalesce iteration · f2a1fd5b
      Ell authored
      The gimppaintcore-loops functions perform very little actual
      computational work (in case of do_layer_blend(), at least for
      simple blend modes), which makes the cost of buffer iteration, and
      memory bandwidth, nonnegligible factors.  Since these functions are
      usually called in succession, acessing the same region of the same
      buffers, using the same foramts, coalescing them into a single
      function, which performs all the necessary processing in a single
      step, can improve performance when these functions are the
      Add a gimp_paint_core_loops_process() function, which does just
      that: it takes a set of algorithms to run, and a set of parameters,
      and performs all of them in one go.  The individual functions are
      kept for convenience, but are merely wrappers around
      Be warned: the implementation uses unholy C++ from outer space, in
      order to make this (sort of) managable.  See the comments for more
    • Ell's avatar
      configure.ac: require a C++14 compiler · 76eedf21
      Ell authored
      This didn't take long :)  Require a C++14 compiler, for polymorphic
      lambdas, which are used in the next commit.
    • Ell's avatar
      app: indentation fix to last commit · 66bc050d
      Ell authored
    • Ell's avatar
      app: improve drawable flipping speed · 87e6653c
      Ell authored
      In gimp_drawable_transform_buffer_flip(), perform flipping tile-by-
      tile, instead of row-by-row/column-by-column.