1. 09 Aug, 2018 4 commits
  2. 08 Aug, 2018 4 commits
  3. 07 Aug, 2018 8 commits
  4. 06 Aug, 2018 13 commits
  5. 05 Aug, 2018 4 commits
  6. 04 Aug, 2018 5 commits
    • Jehan's avatar
      Issue #1974: Memory leak in gimpimage.c. · 2912fe7c
      Jehan authored
      Ok my previous fix was wrong (at least for the part in the macro). This
      is a macro, not a function. So each time we write _reason, the call to
      g_strdup_printf() is reevaluated, hence data is allocated.
      The right fix is to prepend `tmp` to the list, not `_reason`.
      Thanks to Massimo for the debugging, as always!
      2912fe7c
    • Jehan's avatar
      Issue #1974: Memory leak in gimpimage.c. · 0ab682b0
      Jehan authored
      ADD_REASON macro was leaking the allocated string when version_reason
      return value was NULL (i.e. when we didn't care about the version
      reasons).
      
      Also we were not properly freeing all the reason strings at the end,
      only the list. Use g_list_free_full() instead of g_list_free().
      0ab682b0
    • Ell's avatar
      Issue #1846 - "gitlab::" typo in the Windows installer · aafa9259
      Ell authored
      Introduced by commit 8eb77376.
      Change to "gitlab:".
      aafa9259
    • Ell's avatar
      app: short-circuit GimpProjection bounds-changed handler if disjoint · c6b8a421
      Ell authored
      In gimp_projection_projectable_bounds_changed(), bail early by
      calling gimp_projection_projectable_structure_changed() instead, if
      the new bounds don't intersect the old bounds.
      c6b8a421
    • Ell's avatar
      app: fix gimp_projection_projectable_bounds_changed() · bb5e3fd9
      Ell authored
      In gimp_projection_projectable_bounds_changed(), which is called by
      GimpProjection in response to a GimpProjectable::bounds-changed
      signal, invalidate all regions of the new projection that weren't
      copied from the old projection, so that they get rendered upon
      flushing, instead of remaining empty.
      
      Additionally, fix preview invalidation -- in particular, don't
      directly invalidate the projectable's preview, even if preview
      invalidation is already queued and chunk rendering was finished by
      the boundary change, and instead always queue a preview
      invalidation.
      bb5e3fd9
  7. 03 Aug, 2018 2 commits
    • Ell's avatar
      app: avoid re-rendering group layers upon resizing · bd726c96
      Ell authored
      Make sure we don't unnecessarily update the group layer's drawable
      while flusing the group's projection during resizing, since we want
      to either update the entire drawable, or avoid any updates, when
      replacing the drawable's buffer.  Note that explicitly supressing
      updates in this case should theoretically not be necessary, but the
      fact that the call to gimp_projectable_bounds_changed() can result
      in reconstructing the projection (see the FIXME comment in that
      function) makes it necessary in some cases nonetheless.
      bd726c96
    • Ell's avatar
      app: avoid re-rendering group layers upon translation · 3ff820a0
      Ell authored
      When translating group layers, there's no need to re-render the
      group's projection -- we can simply update the group's offset (and
      offset node) directly, and redirect any layer-stack "update"
      signals to the group's drawable.  This significantly improves
      performance when moving groups.
      3ff820a0