1. 19 Mar, 2018 4 commits
    • Michael Natterer's avatar
      Bug 792686 - Colormap widget not updated when adding entry · 28d9e43f
      Michael Natterer authored
      gimp_image_add_colormap_entry(): increment private->n_colors *before*
      calling gimp_image_colormap_set_palette_entry() so it actually adds an
      entry.
      28d9e43f
    • Michael Natterer's avatar
      Bug 783680 - Allow to hide color models in GimpColorScales · 8447e775
      Michael Natterer authored
      Redo the entire thing again:
      
      - Rename the values of enum GimpColorSelectorModel to include "MODEL"
      - Change GimpColorSelector API from set_model() to set_model_visible()
        so visibility of each model can be toggled individually and is not
        exclusive any longer
      - The GUI is back to what it was before, except that the "GIMP" page
        now honors the model visibility and has a resonable minimum height
      8447e775
    • Jehan's avatar
      build: update flatpak builds with latest changes. · 8f71aeda
      Jehan authored
      Untested. Hopefully should build.
      Also bump the GNOME runtime to the latest version.
      8f71aeda
    • Jehan's avatar
      Bug 793777 - CRITICALs on focus change in MWM with stylus. · 845eb522
      Jehan authored
      Focus change events were expecting the current tool control to be
      inactive, which was the case most of the time. Yet with stylus, the
      canvas was sometimes receiving GDK_BUTTON_PRESS events before
      GDK_FOCUS_CHANGE. In particular the canvas was receiving a button press
      before the focus out, then button release and focus in. Therefore by the
      time the focus out event happens, the tool control is active, which
      broke a few calls.
      Therefore I add a few checks and returns immediately when
      gimp_tool_control_is_active() return TRUE, especially since we also run
      gimp_display_shell_update_focus() calls after a button press anyway so
      the state should already be consistent.
      845eb522
  2. 18 Mar, 2018 9 commits
  3. 17 Mar, 2018 8 commits
  4. 16 Mar, 2018 9 commits
    • Jehan's avatar
      plug-ins: coding style cleaning. · f2c80e18
      Jehan authored
      Trailing whitespaces here and there, alignment issues, and so on…
      Also get rid of an unused variable.
      f2c80e18
    • Darshan kadu's avatar
      plug-ins: 16/32 bit JPEG2000 support. · a9a3a67c
      Darshan kadu authored
      a9a3a67c
    • Jehan's avatar
      plug-ins: properly check widget class holding tag data. · 4fdf301d
      Jehan authored
      Some tag data is hold in GtkEntry, other in GtkTextView, which are not
      parent to each other. Previous checks were wrong and resulted in
      "invalid cast from 'GtkEntry' to 'GtkTextView'" WARNINGs (followed by
      many CRITICALs because of this first error).
      
      Also properly free the data returned by gtk_text_buffer_get_text() which
      is allocated (unlike strings returned by gtk_entry_get_text() which must
      not be freed).
      4fdf301d
    • Jehan's avatar
      app: return from gimp_display_shell_space_pressed() immediately when... · 8aaf77ba
      Jehan authored
      ... scrolling in progress.
      In particular, this could happen while panning with mouse middle click
      and hitting space. This space should simply be ignored.
      8aaf77ba
    • Ell's avatar
      libgimpcolor: fix gimp_color_profile_get_lcms_format() for premul formats · 9c663a65
      Ell authored
      It doesn't look like LCMS supports premultiplied alpha formats, so
      we must convert them to the corresponding non-premultiplied formats
      ourselves.
      9c663a65
    • Jehan's avatar
      Bug 779942 - Make GimpPickButton honor monitor profile. · 6c830092
      Jehan authored
      Quartz/macOS implementation for the color picker.
      This is untested but I am trying to advance our 2.10 blockers by
      implementing the base code for this feature. Please anyone with macOS
      machine access, review and fix if needed!
      6c830092
    • Jehan's avatar
      Bug 724692 - Canvas rotation stuck with specific order of actions. · b279c2d2
      Jehan authored
      The bug was affecting actually both canvas rotation and panning when
      done with space key. If the first mouse button was also clicked, then
      released after the space key, we ended up in some stuck action. It could
      only be unstuck by hitting/releasing space again.
      
      I am actually unsure that this was not originally done on purpose,
      especially since the code has these 2 status variables space_pressed and
      space_release_pending, but really apart from looking at this code, the
      behavior just looks very buggy and impracticable.
      The new behavior is to just stop the canvas panning/rotation as soon as
      space is released (which is also how it is documented in our manual, and
      how everyone seems to use the feature). I only kept the variable
      space_release_pending, which I use as was used space_pressed before.
      b279c2d2
    • Ell's avatar
      app: throttle GimpCanvasProgress updates · dc185204
      Ell authored
      Avoid redrawing GimpCanvasProgress items upon
      GimpProgress::set_value() if a minimal amount of time hasn't passed
      since the last call.  This notably improves performance of
      frequently-updated GimpCanvasProgress items.
      dc185204
    • Ell's avatar
      app: fix indentation in gimpcanvasprogress.c · 1cc90e52
      Ell authored
      1cc90e52
  5. 15 Mar, 2018 4 commits
    • Ell's avatar
      9799803f
    • Jehan's avatar
      libgimp, pdb: some generated files which were not in previous commits. · c5a0189b
      Jehan authored
      It's weird. I didn't see these when I added the GimpDistanceMetric enum
      type. Not sure why. Adding these now.
      c5a0189b
    • Jehan's avatar
      app: don't sync Blend tool's gradient-repeat property with gimp:blend... · c403e472
      Jehan authored
      ... when gradient_type >= GIMP_GRADIENT_SHAPEBURST_ANGULAR.
      Our current GUI code for the Blend tool options disables the "Repeat"
      widget with any of the shaped and spiral gradient types, which means (I
      assume) no repeat mode is allowed on these gradients. Nevertheless it
      was possible to change the repeat mode in another gradient type, then
      switch to one of these and get the repeat processed even though the GUI
      shows insensitive.
      I could simply reset the repeat mode to GIMP_REPEAT_NONE when setting
      one of these gradient types, but I think you'd want the repeat to stay
      at its value (being insensitive is enough to mean whatever value is set
      is not taken into account). So instead, I just unsync this specific
      property when appropriate.
      Note also I don't do this in the gimp:blend operation code because I am
      not sure this specific behavior is meant to be a generic blend behavior
      or just relative to the tool (render of the shaped gradients is barely
      different with a repeat, but there is still a difference).
      c403e472
    • Jehan's avatar
      app: add "distance-metric" property to the Blend tool options. · 87330a77
      Jehan authored
      It seems old blend tool (from GIMP 2.8) was using manhattan distance,
      whereas the new one uses euclidean. I guess there must be use cases for
      both. In any case, it is a good idea to simply propose the option since
      the property exists in the "gegl:distance-transform" operation.
      See also bug 781621.
      87330a77
  6. 14 Mar, 2018 5 commits
    • Ell's avatar
      app, pdb, libgimp, plug-ins, menus: rename layer composite modes · a7f3a2dd
      Ell authored
      Our composite modes don't correspond directly to the Porter-Duff
      operators after which they're named, and these names aren't too
      descriptive anyway.
      
      Rename the composite modes as follows:
      
        Source Over       =>  Union
        Source Atop       =>  Clip to Backdrop
        Destination Atop  =>  Clip to Layer
        Source In         =>  Intersection
      
      Update relevant code, including UI text, enumerator names, function
      names, and action names.
      a7f3a2dd
    • Ell's avatar
      pdb: fix paths in README_NEW_PDB_PROC · d29facda
      Ell authored
      s:tools/pdbgen:pdb:
      d29facda
    • Ell's avatar
      pdb: fix generated file paths in enumgen.pl · 466025ab
      Ell authored
      s:tools/pdbgen:pdb:
      466025ab
    • Jehan's avatar
      app: check "gradient-repeat" sensitivity at Blend Options creation. · 11ce60ba
      Jehan authored
      When starting the tool with one of the gradient types for which the
      repeat option should be deactivated, it is not. Run the handler function
      once at GUI creation.
      Also compare the gradient type with an enum value, which makes the test
      clearer than using an int.
      11ce60ba
    • Jehan's avatar
      Bug 781621 - PDB shapeburst gradient is slower than the blend tool. · 5751bb11
      Jehan authored
      PDB function gimp_edit_blend() was based on "gimp:shapeburst" operation
      whereas the rest of GIMP (in particular, the Blend tool) used
      "gegl:distance-transform" which is much faster.
      Setting the operation to "manhattan" metric ensures that it still
      renders the same way as in 2.8 while being a lot faster.
      
      There was still a problem regarding as how it renders differently from
      the Blend tool, but it turns out that the Blend tool is the one
      rendering differently from how it used to in 2.8. We should discuss
      adding the "metric" property in the tool options.
      5751bb11
  7. 13 Mar, 2018 1 commit
    • Jehan's avatar
      app: disable multi-threading on "gimp:shapeburst" operation. · 6f127f9d
      Jehan authored
      This operation is currently broken on multi-thread. So disable
      multi-threading, at least temporarily (if not forever since apparently
      we can get similar output with "gegl:distance-transform", but much
      faster and nicer). See bug 781621.
      6f127f9d