Change gimp_get_display_name() to also return the screen, and its
implementation in the GUI to return the initial monitor during
startup. Retrieve that information in app.c using a weird callback
construct and pass the monitor to file_open_from_command_line().
Half-related, add screen and monitor parameters to GimpDisplayShell
and use these initial values for calculating the canvas's initial
extents.
The image windows still don't position themselves correctly though
because we have no mechanism for that whatsoever just yet, but we now
at least pass the needed monitor information to the right objects.
gimp_plug_in_handle_proc_install(): don't set the new procedure's menu
path nor its menu label if proc_install->menu_path is "", so we don't
run into action and menu creating confusion later. Do it here and not
later so the "" string never enters the system.
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
finally acknowledging the fact that app/ depends on gdk-pixbuf almost
globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
Call gimp_cpu_accel_set_use() in app_run(). Add "use_cpu_accel"
parameter to gimp_new() and keep it around in the Gimp instance. Pass
the flag to plug-ins again.
Remove the legacy <Toolbox>, <Load> and <Save> from the error message
that states which plug-in menu paths are valid, and add the missing
<Fonts> and <ToolPresets>. Also actually handle <ToolPresets>, this
was apparently forgotten.
Add the missing <Dynamics> menu location for script/plugin
registration.
modified: app/plug-in/gimppluginprocedure.c
(cherry picked from commit 9625dd92b4)
The function plug_in_icc_profile_apply_rgb() didn't set the error object
when bailing out due to being called on a grayscale image, this could
lead to crashes in callers which just checked the return value, but not
whether or not an error had been set.
file_procedure_in_group(): consider "file-uri-save" to be in both the
SAVE and the EXPORT groups.
gimp_plug_in_manager_register_save_handler(): allow a procedure to be
in both "save_procs" and "export_procs".
The logic in the file save/export dialog checks uri prefixes and
extensions just fine, so nothing bad seems to happen from this change,
I hope...
which is serialized to the file, so we can change/fix the file format
at any time, also in stable. The file is only a cache and can always
be regenerated.
When gimp_plug_in_close()ing a plug-in (such as when cancel is
clicked), make sure we don't leak the proc_frames of all temporary
procedures the plug-in is currently running. By properly disposing the
GimpPlugInProcFrame, the progress window and its cancel button in
above bug get destroed on first click, and the user has no chance of
trying to kill an already finalized plug-in again.
Don't mark a procedure as file procedure just because a mime-type or
thumbnail loader is registered for it. Only registering as load or
save handler should set the file_proc flag. This prevents plug-ins
from doing wrong things and would also fix the behavior fixed in the
commits below.
Add gimp_plugin_enable_precision() in libgimp which switches the
plug-in to deal with the drawables' real precision, call it from the
libgimp GeglBuffer and Babl format APIs. If it's not enabled, let the
core's plug-in convert the tiles to legacy formats when sending them
over the wire.
When we run our tests we want to use plug-ins from the build dir so
the tests can pass also when no make install have been made.
Use the environment variables GIMP_TESTING_PLUGINDIRS and
GIMP_TESTING_PLUGINDIRS_BASENAME_IGNORES for this.
when dealing with native window handles. Also get rid of using
GdkNativeWindow and simply consistently use guint32 all over the
place. This is more obvious and consistent and keeps the diff to the
gtk3-port branch smaller.