1. 23 Jun, 2018 1 commit
  2. 18 Jun, 2018 2 commits
  3. 29 May, 2018 2 commits
    • Ell's avatar
    • Ell's avatar
      libgimpbase, libgimp, app: pass icon theme dir to plug-ins through config · de108498
      Ell authored
      Pass the current icon theme directory to plug-ins through the
      config message, and add a gimp_icon_theme_dir() libgimp function
      for retrieving it.  Note that we already have a similar
      gimp_icon_get_theme_dir() PDB function, which we keep around, since
      it can be used to dynamically query for the current icon dir,
      unlike the former, and since it returns a dynamically-allocated
      string, while the rest of the config-related functions return
      statically allocated strings.
      Use the new function, instead of gimp_get_icon_theme_dir(), in
      gimp_ui_init().  This allows gimp_ui_init() to run without making
      any PDB calls.  Consequently, this allows us to start plug-ins that
      call gimp_ui_init() without entering the main loop in the main app.
      We're going to add a plug-in that displays an interactive dialog
      while the main app is blocking waiting for an operation to
      complete, and we need to be able to start the plug-in without
      entering the main loop, to avoid the possibility of arbitrary code
      being executed during the wait.
      Bump the protocol version.
  4. 12 May, 2018 2 commits
  5. 07 May, 2018 2 commits
  6. 26 Apr, 2018 1 commit
  7. 24 Apr, 2018 1 commit
  8. 23 Apr, 2018 4 commits
  9. 21 Apr, 2018 1 commit
  10. 17 Apr, 2018 1 commit
  11. 16 Apr, 2018 3 commits
  12. 15 Apr, 2018 3 commits
    • Michael Natterer's avatar
      pdb: deprecate all non-clipboard functions in the "edit" group · 5ee67dee
      Michael Natterer authored
      Still have to port script-fu scripts...
    • Michael Natterer's avatar
      pdb: improve docs of deprecated functions · ef3edece
      Michael Natterer authored
      Don't unconditionally overwrite all the proc's description, author
      etc.  Instead, try to preserve them and append the "Deprecated" notes
      to the help texts and generated comments.
      Only affects one procedure because we killed the meta info of all
      other deprecated procs so far, but now we don't have to do that any
    • Michael Natterer's avatar
      Bug 795230 - Rename Blend tool and provide PDB compatibility · 50536e1c
      Michael Natterer authored
      Add new PDB group "drawable_edit" which has all procedures from the
      "edit" group which are not cut/copy/paste.
      The new group's procedures don't have opacity, paint_mode
      etc. arguments but take them from the context instead. Unlike the old
      gimp-edit-fill, gimp-drawable-edit-fill now uses the context's opacity
      and paint_mode.
      The new gimp-drawable-edit-gradient-fill procedure uses even more
      context properties which are also newly added with this commit
      (gradient_color_space, gradient_repeat_mode, gradient_reverse).
      And some cleanup in context.pdb.
      This is still WIP, nothing in the edit group is depcreated yet.
  13. 13 Apr, 2018 1 commit
  14. 10 Apr, 2018 1 commit
  15. 08 Apr, 2018 2 commits
  16. 07 Apr, 2018 1 commit
  17. 04 Apr, 2018 5 commits
    • Jehan's avatar
      libgimp: add an exception handler for Windows. · fa02a2c6
      Jehan authored
      Drmingw already added its own exception handler which generates crash
      traces in a text file, for plug-ins as well. This additional handler is
      run after Drmingw handler and allows us to do things on our own, and in
      particular we could display the content of the debug traces.
      Right now it simply prints these to stderr, which actually won't be of
      much use on Win32, first because the console is deactivated on stable
      releases, also because after tests, it doesn't look like even running
      GIMP from cmd outputs to console either.
      We currently don't use the same debug dialog as the core on purpose,
      because we don't want everyone to send us traces for every unmaintained
      third party plug-ins out there. But we should definitely allow easier
      trace possibilities at some point, first to improve/debug our own core
      plug-ins, and also to help third party plug-in developers!
      So this commit is not making visible changes yet but is actually a first
      step towards these debugging goals.
    • Jehan's avatar
      libgimp: various warning fixes for Win32. · 76bce77d
      Jehan authored
    • Jehan's avatar
      libgimp: do not end the fatal and signal handlers with gimp_quit(). · 9c8a8ae5
      Jehan authored
      When ending with gimp_quit(), GIMP was not displaying the "Plug-in
      crashed" error dialog, which is not good, since we lose the crash
      feedback for plug-ins. Just let the plug-in continue its normal run in
      order to get the error dialog.
      Also protect the tracing functions, which are not working on Win32.
    • Jehan's avatar
      libgimp: add a gimp_fatal_func() allowing stack tracing plug-ins on... · e98b9376
      Jehan authored
      ... various crashes.
    • Jehan's avatar
      libgimp: properly catch SIGABRT signal. · c4621119
      Jehan authored
      SIGABRT was in the switch list in gimp_plugin_sigfatal_handler(), but it
      had not been properly handled with gimp_signal_private(), making this
      switch case useless. Fix this oversight, and while doing so, move it in
      the "fatal error" list for which we may generate stack traces, similarly
      to core signal handling. Indeed this signal can definitely happen during
      various kinds of common bugs and needs to be debugged.
  18. 18 Mar, 2018 2 commits
    • Jehan's avatar
      app, libgimp, pdb: update gimp_edit_blend() description. · 1789f0fe
      Jehan authored
      Make it known that gimp_context_set_distance_metric() influences the end
      render of a shapeburst blend.
    • Jehan's avatar
      app, libgimp, pdb: add "distance-metric" property to GimpPDBContext. · e164aee7
      Jehan authored
      This property is currently only used for gimp_edit_blend() to control
      how are computed distances. In the future, it could be used for more
      functions making use of "gegl:distance-transform" operation, or even for
      other algorithms, if relevant.
      This new property obviously comes with 2 new PDB calls:
      gimp_context_get_distance_metric() & gimp_context_set_distance_metric()
  19. 17 Mar, 2018 2 commits
  20. 15 Mar, 2018 1 commit
  21. 14 Mar, 2018 1 commit
    • 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.
  22. 06 Mar, 2018 1 commit
    • Ell's avatar
      app, libgimp: don't close parent pipes in libgimp; use gimp_spawn_set_cloexec() · 1b1fba19
      Ell authored
      In gimp_plug_in_open(), use gimp_spawn_set_cloexec() to prevent the
      parent's end of the read/write pipes from being inherited by the
      spawned plug-in, instead of passing the corresponding file
      descriptors to the plug-in as command-line arguments, and having
      gimp_main() close them.
      Adding new command-line arguments to plug-ins is problematic, since
      their ability to handle them depends on their protocol version,
      which is only communicated after the plug-in is spawned.
      Regardless, this is much simpler.