Commit Graph

871 Commits

Author SHA1 Message Date
Michael Natterer 3e18b3bbfb Bug 760306 - "Image header corrupt" error on start-up
gimp_plug_in_procedure_set_icon(): look at the passed icon_type,
not proc->icon_type. Introduced this when splitting the function
into set_icon() and take_icon() in d5255dc.
2016-01-08 13:55:59 +01:00
Michael Natterer 789e9f2cf4 app: remove /*< skip >*/ and /*< pdb-skip >*/ annotations from enums
where their headers are not even parsed by the affected scripts.
2016-01-07 17:44:46 +01:00
Michael Natterer dc53501ce9 app: add gimp_plug_in_manager_get_file_procedures() for the file dialogs
Change GimpFileDialog's file-procs properties to enum
GimpFileProcedureGroup and get them via the newly added API. Set
properties common to all dialogs in the parent class.
2016-01-06 15:07:41 +01:00
Michael Natterer 9480adc2d4 app: mention bug the # in the comment in the last commit 2016-01-06 02:45:08 +01:00
Michael Natterer 2cd6345c19 Bug 758685 - file-gbr-load/save, file-pat-load/save etc fail with...
..."Operation not supported"

Add argument validation in the GimpPlugInProcedure impls of
GimpProcedure::execute() and ::execute_async().

When a file procedure is executed and it handles URIs not filenames,
run the resp. arguments through file_utils_filename_to_file() which
turns both URIs and filenames into a valid GFile which we can ask for
its URI.
2016-01-06 02:35:54 +01:00
Michael Natterer 5455b8bfd0 app: move some stuff out of app/file/
file-procedure.[ch] is gone and its functions moved to
GimpPlugInManager where they belong (the manager keeps around the
lists of load, save and export procedures).

Utility functions from file-utils.[ch] that have nothing to do with
image files moved to core/gimp-utils.[ch].
2016-01-03 23:38:08 +01:00
Michael Natterer 784b37d115 app: allow plug-ins to register procedures in the <MyPaintBrushes> menu 2016-01-02 00:53:32 +01:00
Michael Natterer 926dd1dffb app: add GimpProcedure::get_sensntive()
to replace gimp_plug_in_procedure_get_seisitive().
2016-01-01 23:24:53 +01:00
Michael Natterer a998175289 app: use gimp_procedure_get_label() in file-save-dialog.c 2016-01-01 22:55:37 +01:00
Michael Natterer 78f5dbeac3 app: add GimpProcedure::get_menu_label()
which returns a procedure's *menu* label (not stripped of mnemonics
and ellipses). Use it to further reduce dependencies on
GimpPlugInProcedure.
2016-01-01 22:41:42 +01:00
Michael Natterer 1d3bf65934 app: turn get_label() and get_blurb() into virtual functions of GimpProcedure 2016-01-01 20:52:45 +01:00
Michael Natterer d5255dc133 app: derive GimpProcedure from GimpViewable
and remove redundant icon managing code from GimpPlugInProcedure
2016-01-01 20:05:32 +01:00
Michael Natterer e0ab721361 app: rename GimpPlugInAction to GimpProcedureAction
and make the filter history keep around a list of GimpProcedures
instead of GimpPlugInProcedures. Still WIP and unfinished...
2016-01-01 20:05:32 +01:00
Michael Natterer ac50da2ad4 Bug 759316 - "Recently used" menu not updated with gegl filters
This preparation commit only moves code around and renames it, the
history is still a list of plug-ins only:

- move app/core/gimp-filter-history.c
  to app/plug-in/gimppluginmanager-history.c and clean it up
- move the actions that create the submenus under "Filters"
  from the "plug-in" to the "filters" action group
- move the code that creates and updates the history actions
  to the "filters" action group
- add menu setup code for the "filters" menu
- move the "history-changed" signal from GimpPlugInManager to Gimp
2015-12-30 20:04:58 +01:00
Michael Natterer b17f3fbfce app: fix if() logic in gimp_plug_in_procedure_handle_return_values()
if (! x > 0) is not the same as if (! (x > 0)) and beyond that it's
much less stupid to write if (x == 0)...
2015-09-27 13:40:57 +02:00
Michael Natterer b51ee77ec0 app: implement the "Convert to RGB Working Space" import dialog in the core
Add gimp_image_import_color_profile(), a GUI vtable entry
query_profile_policy() and a new dialog which returns the profile
policy and the profile to convert to. Get rid of the wrapper that
calls the lcms plug-in for that dialog, the plug-in is now completely
unused.

This commit doesn't add any new features, it's just the former lcms
plug-in dialog implemented in app/ (except the little fix that it is
now aware of linear vs. gamma images).
2015-08-23 12:59:12 +02:00
Michael Natterer ba1318dda9 app, menus, plug-ins: add new Submenu Image -> Color Management
and move the color profile menu entries there. Add a mapping so 3rd
party plug-ins get moved to the new location automatically.

Also, add a separator after "Duplicate" and move the "Transform"
submenu to the top of the group that has "Scale", "Resize" etc.
2015-06-15 13:20:04 +02:00
Michael Natterer 3c4aead23f app: minor readability cleanup in plug_in_params_to_args() 2015-06-11 02:03:06 +02:00
Michael Natterer 2aec36a899 app: don't leak "buffer" in gimp_interpreter_db_add_binfmt_misc() 2014-10-06 20:34:56 +02:00
Jehan da4247d87c app: interpreter arguments for plugins not returned.
When a plugin file's shebang would start with "/usr/bin/env", the
interpreter's arguments were not returned by resolve_sh_bang().
2014-08-19 15:04:30 +02:00
Jehan 23245d2788 app: set win32 only code between #ifdef G_OS_WIN32
PATHEXT environment variable to determine whether a file is executable
or not is a Windows-only concept.
2014-08-19 02:12:56 +02:00
Simon Budig 56fa168ec3 fix parser for plugin image types
Spotted by Andrey Karpov using static code analysis:
   http://www.viva64.com/en/b/0273/
2014-08-16 00:37:14 +02:00
Jehan b8aabcac5c Do not use g_io_channel_unix_new() for the win32 platforms.
It is advised to use the more accurate g_io_channel_win32_new_fd() or
g_io_channel_win32_new_socket() because GLib can't differentiate between
file descriptors and sockets on Windows, which outputs a warning when
there is ambiguity.
2014-08-12 23:56:10 +00:00
Michael Natterer 980ba7f85a app: move memsize functions into their own files gimp-memsize.[ch] 2014-08-12 13:57:57 +02:00
Michael Natterer cafc316a47 app: port gimp_interpreter_db_resolve() to GIO 2014-08-12 13:15:44 +02:00
Jehan 66ea9e7ebd app: double free when plugin fails to execute. 2014-08-10 01:26:09 +00:00
Michael Natterer 9d54a94f53 app: port plug-in loading to GFileEnumerator 2014-08-04 02:39:52 +02:00
Michael Natterer 2b1735f784 app: move gimp_file_compare() to gimp-utils.[ch]
It's a GCompareFunc to be used for finding GFiles in lists.
2014-08-02 15:07:26 +02:00
Michael Natterer 0856382713 app: use gimp_directory_file() in gimp_plug_in_manager_get_pluginrc() 2014-07-29 12:37:08 +02:00
Michael Natterer b03d69dd40 libgimpbase, app: add variants of gimp_$foo_directory() which return GFiles
gimp_directory_file(), gimp_data_directory_file() etc. The new
functions take a variable list of path elements to the file,
the list has to be NULL-terminated. Remove the newly added
gimp_personal_rc_gfile(). Start using the new functions in app/.
2014-07-28 02:04:01 +02:00
Michael Henning 880299bd72 app: Request G_FILE_ATTRIBUTE_STANDARD_NAME when reading directories
g_file_enumerator_get_child needs it, and it's not available by default
on windows. See https://bugzilla.gnome.org/show_bug.cgi?id=733528
2014-07-21 22:37:53 -04:00
Michael Natterer 328e4eff18 app: add gimp_progress_set_text_literal()
and use it instead of set_text (progress, "%s", literal_message);
2014-07-20 23:32:19 +02:00
Michael Natterer 7e6a273275 app: port GimpInterpreterDB loading to GIO 2014-07-20 21:48:34 +02:00
Michael Natterer 9629fcd462 app: port GimpEnvironTable loading to GIO 2014-07-20 21:43:28 +02:00
Michael Natterer 93c19c20d4 app: fix a bunch of valgrind-found leaks 2014-07-20 21:40:57 +02:00
Michael Natterer 3ab1084df7 app: port GimpInterpreterDB and GimpEnvironTable loading to GFileEnumerator 2014-07-20 19:24:06 +02:00
Michael Natterer 08fdf55fe1 app: add --verbose output to GimpInterpreterDB and GimpEnvironTable 2014-07-14 22:55:53 +02:00
Michael Natterer a6601d563b app: some GimpProgress cleanup
- change start() and set_text() to use "format" and "..." instead of
  "message", allowing to format progress messages in place
- s/cancelable/cancellable/
- move "cancellable" to be the second argument of start()
2014-07-12 23:45:20 +02:00
Michael Natterer c3573c3c45 app: keep the plug-in executable path around as GFile 2014-07-08 21:09:35 +02:00
Michael Natterer 0f8d84d5e9 app: port all file_open() and file_save() functions to GFile 2014-07-07 23:58:11 +02:00
Michael Natterer f146d454e8 app: port the pluginrc code from filename to GFile 2014-07-03 00:04:58 +02:00
Michael Natterer de08267f06 libgimpbase, *: add enum value GIMP_ICON_TYPE_ICON_NAME
and keep GIMP_ICON_TYPE_STOCK_ID as a deprecated alias. Change all
plug-ins accordingly and increase the pluginrc file version number so
it gets regenerated with "icon-name" instead of "stock-id".
2014-05-11 23:56:30 +02:00
Michael Natterer 23037b5230 app: convert all stock IDs kept around by the core by icon names
Particularly GimpViewable's stock_id. Make sure old config files
containing stock IDs are still properly parsed.
2014-05-07 01:01:56 +02:00
Daniel Sabo cbf13b9e5d Fix typo in header guard
Causes a warning when building with clang
2014-05-02 19:48:47 -07:00
Michael Natterer 8356003fa2 app: pass the startup monitor to displays opened from the copmmand line
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.
2014-05-03 00:54:20 +02:00
Michael Natterer 89fe232735 app: remove plug_in_icc_profile_info() and _file_info()
because they are unused now.
2014-03-16 19:38:36 +01:00
Michael Natterer 3c918353fb app: add double precision support, for completeness
and because it makes us look utterly cool.
2014-03-09 00:43:55 +01:00
Michael Natterer 57da340f78 app, libgimp: pass "use-opencl" to plug-ins
and configure Gegl on the plug-in side accordingly. This bumps
the GIMP protocol version.
2014-02-25 21:25:40 +01:00
Michael Natterer fab7a994fc app: formatting in gimppluginmanager-restore.c 2013-11-06 21:20:00 +01:00
Michael Natterer 6e3495ff69 app: treat an empty ("" not NULL) plug-in proc_install->menu_path as NULL
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.
2013-10-20 18:28:13 +02:00
Michael Natterer 697572ccc0 app,libgimp*: fix includes to follow our include policy
- 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
2013-10-15 01:58:39 +02:00
Jehan c7aa623a55 app: clean out a big bunch of leading tabs.
For some unknown reason, most calls to gimp_message_literal() were
indented with tabs.
2013-09-15 04:59:20 +12:00
Michael Natterer 4ab02ea2dd app: store plug-in mtime as gint64 instead of time_t
This was an attempt to fix bug 703113 but didn't change anything,
however an explicit always-64 bit type is cleaner regardless, so here
it is.
2013-07-12 14:43:27 +02:00
Michael Natterer 3cf2c4dd87 app: use the "no-cpu-accel" command line option again
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.
2013-06-19 20:45:17 +02:00
Mikael Magnusson 3c2cb65088 app: don't potentially overread buffer
If a file has more than 4kB on the first line and starts with #!, then
we would pass a non-null terminated string to strchr. Found by coverity.
2013-06-15 22:40:49 +02:00
Michael Natterer ec786816bb */Makefile.am: merge INCLUDES into AM_CPPFLAGS
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
Michael Natterer 564e6010fd Bug 700675 - Missing menu locations for registration and other menu...
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.
2013-05-24 09:23:52 +02:00
Sven Claussner 0937953844 Bug 699886 - Missing <Dynamics> menu location for script/plugin
Add the missing <Dynamics> menu location for script/plugin
registration.
	modified:   app/plug-in/gimppluginprocedure.c
(cherry picked from commit 9625dd92b4)
2013-05-10 15:55:16 +02:00
Nils Philippsen 096c636b67 app: set error in case of error in ICC profile plug-in
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.
2013-03-18 13:37:17 +01:00
Michael Natterer 1ba0cfbf38 Bug 680132 - Unable to 'Save As' over smb share
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...
2013-02-13 23:44:36 +01:00
Michael Natterer 07f77e5ec8 pdb: allow file procedures to register themselves for handling URIs
and store the flag in pluginrc. There are no URIs passed to procedures
yet and no procedure registers as such, this is just preparation.
2012-11-17 16:01:52 +01:00
Michael Natterer c5f1fd1fda app: introduce a file format version for pluginrc
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.
2012-11-17 15:14:05 +01:00
Michael Natterer eac70cc513 Bug 686850 - Help system: GIMP crashes and closes without saving changes
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.
2012-11-05 01:12:21 +01:00
Michael Natterer dcaba4f1d1 Bug 677733 - Export image: duplicate list item for TIFF export
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.
2012-11-01 19:23:44 +01:00
Mikael Magnusson f6f22ed431 Remove stray semicolons 2012-08-20 15:22:20 +02:00
Michael Natterer 47c987b09e Bug 676270 - cppcheck report
Fix a couple of harmless stuff pointed out in the report, and one
real bug: gimp_plug_in_close() was killing each process 10 times
on windows.
2012-08-04 03:20:36 +02:00
Michael Natterer 06c59973d3 app: remove the entire legacy composition code 2012-05-19 00:41:43 +02:00
Michael Natterer e30d5512e2 app: fix the build on OSX 2012-05-07 23:04:59 +02:00
Michael Natterer 20f3cba2b6 app: rename gimp_image_base_type() to gimp_image_get_base_type() 2012-05-07 21:57:33 +02:00
Michael Natterer 7610e299ae Use GimpValueArray and GimpParamSpecValueArray
instead of the deprecated stuff from GLib.
2012-05-04 00:51:50 +02:00
Michael Natterer 3ad73b3658 libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
and update tons of includes in libgimp and app.
2012-05-03 03:37:20 +02:00
Michael Natterer 926f746b66 app: add gimp_babl_compat_u8_format() instead of having this code 5 times 2012-05-02 17:51:18 +02:00
Michael Natterer 58b56ecec6 app: increase the plug-in SHM size so it can hold a float RGBA tile 2012-05-02 17:51:17 +02:00
Michael Natterer e15702cbe5 app: create gimp-babl-compat.[ch] for gimp_babl_format_get_image_type()
and remove gimp_drawable_type().
2012-05-02 17:51:15 +02:00
Michael Natterer 21dfb8bd9f app/libgimp: enable plug-ins on high precision images
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.
2012-05-02 17:51:14 +02:00
Michael Natterer f0daec882f app: use an explicit tile format when talking to plug-ins 2012-05-02 17:51:06 +02:00
Michael Natterer 872bfabc9b app: don't use gimp_drawable_type() in more places
that talk to the outside world.
2012-05-02 17:51:02 +02:00
Michael Natterer 3e140fd105 app: factor out GimpPlugIn's tile access emulation code to app/gegl/
so it can be used to access a GeglBuffer's "tiles" in the XCF code.
2012-05-02 17:50:53 +02:00
Michael Natterer 3e119c5af7 libgimpcolor: add gimp_rgb[a]_set,get_pixel()
which converts from/to any pixel format using Babl. Added tons of
includes and CFLAGS now that libgimpcolor publically uses Babl.
2012-05-02 17:50:43 +02:00
Michael Natterer 867da8f293 app: add gimp_context_get_foreground,background_pixel()
which takes a Babl format to convert from/to.
Include <gegl.h> in a million places.
2012-05-02 17:50:41 +02:00
Michael Natterer c8481fd19e app: increase the tile size for plug-ins to 128x128 2012-05-02 17:50:39 +02:00
Michael Natterer 2e33fc15b5 app: remove includes from app/plug-in/ 2012-05-02 17:50:37 +02:00
Michael Natterer acd3ce41b0 app: port the entire plug-in tile communication to using GeglBuffers
which means we are now completely independent of TileManager tile
sizes. The "tile" size used to talk to plug-ins is now defined as:
2012-05-02 17:50:37 +02:00
Michael Natterer 99ae46b4ed app: turn the drawable's shadow tiles into a shadow buffer 2012-05-02 17:46:10 +02:00
Michael Natterer 5a7b7d9a4b app: add gimp_gegl_buffer_get_tile_manager()
and ust it in some get_memsize() functions instead of having a
FIXME. So many files changed because they need to inlcude <gegl.h>
now.
2012-05-02 17:46:07 +02:00
Michael Natterer f2f1eab753 app: add "ERROR" to the values of enum GimpPdbErrorCode
so they are now GIMP_PDB_ERROR_FOO instead of just GIMP_PDB_FOO,
because it was just too confusing wrt enum GimpPdbStatusType.
2012-03-05 19:36:59 +01:00
Michael Natterer 056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
Mukund Sivaraman 1c9231a44a app (plug-in): Remove duplicate assignment 2011-10-10 10:08:12 +05:30
Michael Natterer cc47b2a600 libgimpwidgets/color: move the cairo color utility functions to libgimpcolor
Add CAIRO_CFLAGS to a lot of Makefiles to make this possible, and
because they pull in cairo via the libgimp headers.
2011-04-28 15:50:39 +02:00
Martin Nordholts 5f48111af9 app: Support using plug-ins from build dir
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.
2011-04-08 08:50:59 +02:00
Michael Natterer fcfb7cf160 Use the new g_[s]list_free_full() instead of foreach() and free() 2011-03-07 17:11:28 +01:00
Michael Natterer f4af9b549e Globally switch to saying "window_id" instead of just "window"
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.
2011-02-06 12:07:55 +01:00
Sven Neumann 868fdcf99f app: remove min-colors and install-colormap properties from gimprc 2010-10-19 10:13:01 +02:00
Michael Natterer bdc2d4520b app: make sure to always show error messages returned by plug-ins
gimp_plug_in_handle_proc_return(): if there is no plug-in main loop
running (the plugin was running asynchronously from a menu), show the
plug-in's error message here, because nobody else will show it
otherwise.
2010-09-07 16:21:40 +02:00
Michael Natterer 2066545b91 app: add GimpPDBContext which holds more state available to procedures
Initially contains antialias, feather and feather radius for the
upcoming gimp-item-to-selection preocedure. Keeping states in the
context reduces the number of parameters of procedures, and both the
state API and the API using the states can be changed/deprecated
independently. Make sure that all procedures and all plug-ins get
GimpPDBContexts instead of plain GimpContexts passed.
2010-09-04 22:17:01 +02:00
Michael Natterer 2d6f808ff8 pdb: add a new PDB group "item" and move lots of functions to it
The item groups has all the duplicated functionality from drawable
and vectors (name, visible, linked etc).

Hijack the unused GIMP_PDB_REGION and turn it into GIMP_PDB_ITEM;
change all protocol aware files accordingly and bump the protocol
version number. Change script-fu to handle the new type.
2010-07-09 09:34:44 +02:00
Sven Neumann 9de1d97fb3 Bug 615071 - invalid menu path crashes GIMP
Check that gimp-plugin-menu-register is only used with procedures
that have registered with a label.
2010-04-07 21:27:51 +02:00
Michael Natterer 9a4bf10d30 Bug 609026 - leaks shared memory
Move calling gimp_plug_in_shm_free() from gimp_plug_in_manager_finalize()
to gimp_plug_in_manager_exit() so it's also called in stable GIMP
releases which simply call exit() at some point instead of taking the
time to shut down everything completely.
2010-02-10 19:37:46 +01:00
Michael Natterer 74c01d7a10 app: add log output when attaching/detaching shared memory
Also put the call to shmdt() out of the IPC_RMID_DEFERRED_RELEASE ifdef.
2010-02-10 19:24:40 +01:00
Michael Natterer 09c897262e Move all undo-related members to GimpImagePrivate
Also add some new API to access them.
2010-02-04 20:06:49 +01:00
Michael Natterer 1735f86d25 Kill plug-ins that write to tiles of locked drawables or group layers
Yes this is pretty lame, but we must prevent write access to these
items under all circumstances, and we have no other way but killing
the plug-in (it should not write to the drawable directly anyway)
2009-09-02 19:48:46 +02:00
Michael Natterer a3558e3cb8 Remove GIMP_OBJECT() casts when calling gimp_object_get_name() 2009-08-31 22:47:18 +02:00
Martin Nordholts 957cf2cfa9 app: Always use gimp_object_get_name()
Begin to consider GimpObject::name as private and always use
gimp_object_get_name(). Change gimp_object_get_name() to take an
untyped pointer so we don't have to do so awfully many casts. There is
a runtime check for the type inside the function anyway.
2009-08-29 12:41:29 +02:00
Michael Natterer b141bcdb60 Minor plug-in sensitivity refactoring
* app/plug-in/gimppluginprocedure.[ch]
  (gimp_plug_in_procedure_get_sensitive): change GimpImageType
  parameter to GimpDrawable and do the type check internally.

* app/actions/plug-in-actions.c (plug_in_actions_update): pass the
  active drawable instead of its type.
2009-08-22 11:03:05 +02:00
Martin Nordholts 51cd8c2981 app: Only show 'File->Overwrite' if the source URI has an exporter 2009-08-21 21:40:32 +02:00
Martin Nordholts acef48602c app: Separate save procs from export procs
In gimp_plug_in_manager_register_save_handler(), separate save procs
from export procs.
2009-05-16 09:48:12 +02:00
Martin Nordholts 58eda13548 app: Add GimpPlugInManager::export_procs member
Add GimpPlugInManager::export_procs member that will later contain all
the export procedures.
2009-05-16 09:48:11 +02:00
Martin Nordholts 4d7a6b10d1 Added .gitignore files generated with git svn create-ignore.
svn path=/trunk/; revision=27972
2009-01-31 11:37:44 +00:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Sven Neumann c61f677536 use the GIMP_PLUG_IN_ERROR domain.
2008-11-12  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-icc-profile.c: use the GIMP_PLUG_IN_ERROR
	domain.


svn path=/trunk/; revision=27627
2008-11-12 10:25:43 +00:00
Sven Neumann 33eb18a479 app/pdb/gimppdberror.h added generic error codes.
2008-11-12  Sven Neumann  <sven@gimp.org>

	* app/pdb/gimppdberror.h
	* app/plug-in/gimppluginerror.h: added generic error codes.

	* app/pdb/gimpprocedure.c
	* app/plug-in/gimppluginprocedure.c: use the GIMP_PDB_ERROR and
	GIMP_PLUG_IN_ERROR domains.


svn path=/trunk/; revision=27626
2008-11-12 10:06:07 +00:00
Sven Neumann 02817081ff use NC_() to mark enum values for translation. Use a lower-case short form
2008-11-06  Sven Neumann  <sven@gimp.org>

	* tools/gimp-mkenums: use NC_() to mark enum values for 
translation.
	Use a lower-case short form of the type name as translation 
context.

	* libgimp/libgimp-intl.h: define the NC_() macro as noop.

	* libgimpbase/gimpbasetypes.[ch]
	* libgimpbase/gimpbase.def: added new functions to set and
	get a translation context on an enum type.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am:
	* libgimpconfig/Makefile.am
	* libgimpthumb/Makefile.am
	* libgimpwidgets/Makefile.am: register the translation context
	with the enum types.

	* app/display/display-enums.h
	* libgimpbase/gimpbaseenums.h
	* libgimpconfig/gimpcolorconfig-enums.h: removed old-style 
explicit
	translation context.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/plug-in/plug-in-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c
	* libgimpconfig/gimpcolorconfig-enums.c
	* libgimpwidgets/gimpwidgetsenums.c: regenerated.


svn path=/trunk/; revision=27562
2008-11-06 08:28:28 +00:00
Sven Neumann 4762b73403 bumped minimum required version of GLib to 2.18.0.
2008-11-04  Sven Neumann  <sven@sven>

	* configure.in: bumped minimum required version of GLib to 
2.18.0.

	* INSTALL: document the updated dependency.

	* app/core/gimp.[ch]: introduced gimp_message_literal(), a 
variant
	of gimp_message() that takes a literal string.

	* app/errors.[ch]: removed format arguments from 
gimp_fatal_error()
	and gimp_terminate() and let them take a literal string instead.

	* app/tools/gimptool.[ch]: introduced 
gimp_tool_message_literal(),
	a variant of gimp_tool_message() that takes a literal string.

	* app/actions/documents-commands.c
	* app/actions/drawable-commands.c
	* app/actions/edit-commands.c
	* app/actions/error-console-commands.c
	* app/actions/file-commands.c
	* app/actions/gradients-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/plug-in-commands.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/config/gimprc.c
	* app/core/gimp-modules.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp-units.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer-filter.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/dialogs.c
	* app/dialogs/palette-import-dialog.c
	* app/dialogs/preferences-dialog.c
	* app/dialogs/quit-dialog.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/file/file-open.c
	* app/file/file-procedure.c
	* app/file/file-save.c
	* app/file/file-utils.c
	* app/gegl/gimpcurvesconfig.c
	* app/gegl/gimplevelsconfig.c
	* app/gui/gui-message.c
	* app/gui/gui.c
	* app/gui/session.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpclone.c
	* app/paint/gimpheal.c
	* app/paint/gimpperspectiveclone.c
	* app/paint/gimpsourcecore.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-restore.c
	* app/plug-in/gimppluginprocedure.c
	* app/text/gimptextlayer.c
	* app/tools/gimp-tools.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdesaturatetool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpgegltool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpimagemaptool-settings.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsourcetool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpactionview.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpcontrollers.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimperrordialog.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppdbdialog.c
	* app/widgets/gimpsettingsbox.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpwidgets-utils.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/image.pdb: use the _literal variants for
	g_set_error(), gimp_message() and gimp_tool_message().

	* app/pdb/convert-cmds.c
	* app/pdb/edit-cmds.c
	* app/pdb/floating-sel-cmds.c
	* app/pdb/image-cmds.c: regenerated.


svn path=/trunk/; revision=27548
2008-11-04 12:33:09 +00:00
Sven Neumann fe520925b7 app/base/Makefile.am app/core/Makefile.am app/display/Makefile.am
2008-11-03  Sven Neumann  <sven@gimp.org>

	
	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am: 
	* libgimpconfig/Makefile.am
	* libgimpthumb/Makefile.am
	* libgimpwidgets/Makefile.am: micro-optimization in the 
generated
	enum registration code.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/plug-in/plug-in-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c
	* libgimpconfig/gimpcolorconfig-enums.c
	* libgimpwidgets/gimpwidgetsenums.c: regenerated.


svn path=/trunk/; revision=27538
2008-11-03 21:38:13 +00:00
Michael Natterer d3d9724ee1 set proc_frame->procedure to NULL *after* calling gimp_plug_in_cleanup().
2008-10-23  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginprocframe.c
	(gimp_plug_in_proc_frame_dispose): set proc_frame->procedure to
	NULL *after* calling gimp_plug_in_cleanup(). Fixes the crash on
	windows in bug #557061 (but not the bug).


svn path=/trunk/; revision=27376
2008-10-23 17:13:19 +00:00
Sven Neumann b6ae85b74c app/core/gimpimagefile.c formatting.
2008-10-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c
	* app/plug-in/gimpplugin-progress.c: formatting.


svn path=/trunk/; revision=27357
2008-10-22 06:00:06 +00:00
Michael Natterer 5503e6a055 Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h had a
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
	had a GEGL dependency (they will have in the next commit, but I
	wanted to keep the commit separate).

	* app/dialogs/Makefile.am
	* app/file/Makefile.am
	* app/gui/Makefile.am
	* app/menus/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/vectors/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am: add GEGL_CFLAGS.

	* app/actions/*.c
	* app/core/*.c
	* app/dialogs/*.c
	* app/display/*.c
	* app/file/*.c
	* app/gui/*.c
	* app/menus/*.c
	* app/paint/*.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/*.c
	* app/text/*.c
	* app/tools/*.c
	* app/vectors/*.c
	* app/widgets/*.c
	* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
	to all files which include a drawable subclass or gimpimage.h

	* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
	in all generated files.

	* app/pdb/*-cmds.c: regenerated.

	* data/images/gimp-splash.png: the goat is still sleeping.
	By Aurore Derriennic.


svn path=/trunk/; revision=27202
2008-10-09 20:24:04 +00:00
Michael Natterer 62e7dcc640 reorder sections consistently. Remove redundant CFLAGS.
2008-10-07  Michael Natterer  <mitch@gimp.org>

	* app/*/Makefile.am: reorder sections consistently. Remove
	redundant CFLAGS.


svn path=/trunk/; revision=27163
2008-10-07 11:58:14 +00:00
Michael Natterer 6f1b06e065 add a fallback mapping from <Toolbox> to <Image> so we catch really
2008-10-06  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-menu-path.c (menu_path_mappings): add a
	fallback mapping from <Toolbox> to <Image> so we catch really
	everything that wants to go to <Toolbox>.


svn path=/trunk/; revision=27147
2008-10-06 20:35:41 +00:00
Michael Natterer 14aad7c222 app/plug-in/gimpplugin-cleanup.c #include <glib-object.h>, not
2008-10-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin-cleanup.c
	* app/vectors/gimpanchor.c: #include <glib-object.h>, not
	"glib-object.h".


svn path=/trunk/; revision=27137
2008-10-05 20:06:16 +00:00
Michael Natterer 184fe0a30b keep a reference to the proc_frame's procedure. We can't asume it's always
2008-10-02  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginprocframe.c: keep a reference to the
	proc_frame's procedure. We can't asume it's always there since it
	could be a temporary one and its plug-in might die during
	procedure execution, taking the temp_proc with it.


svn path=/trunk/; revision=27112
2008-10-02 17:13:58 +00:00
Tor Lillqvist 0eb68211f3 Don't #define _GNU_SOURCE on Windows as it confuses newest mingw headers.
2008-10-01  Tor Lillqvist  <tml@novell.com>

	* app/plug-in/gimpplugin.c: Don't #define _GNU_SOURCE on Windows
	as it confuses newest mingw headers.


svn path=/trunk/; revision=27096
2008-10-01 12:27:32 +00:00
Sven Neumann c7af52b846 renamed "file-new-menu" to "file-create-menu" and changed the menu label
2008-09-19  Sven Neumann  <sven@gimp.org>

	* app/actions/file-actions.c: renamed "file-new-menu" to
	"file-create-menu" and changed the menu label from "New" to 
"Create".

	* app/plug-in/plug-in-menu-path.c
	* menus/image-menu.xml.in
	* plug-ins/common/screenshot.c
	* plug-ins/script-fu/script-fu.c
	* plug-ins/script-fu/scripts/*.scm
	* plug-ins/twain/twain.c
	* plug-ins/win-snap/winsnap.c: changed accordingly.


svn path=/trunk/; revision=27013
2008-09-19 12:01:12 +00:00
Sven Neumann 1a8859805c app/plug-in/gimppluginprocedure.c minor cleanups.
2008-09-18  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginprocedure.c
	* libgimp/gimp.c: minor cleanups.


svn path=/trunk/; revision=26999
2008-09-18 16:25:39 +00:00
Tor Lillqvist 25ecbc063d Use INVALID_HANDLE_VALUE instead of INVALID_FILE_HANDLE which was an
2008-09-18  Tor Lillqvist  <tml@novell.com>

	* app/plug-in/gimppluginshm.c: Use INVALID_HANDLE_VALUE instead of
	INVALID_FILE_HANDLE which was an misunderstanding.


svn path=/trunk/; revision=26989
2008-09-18 09:35:00 +00:00
Michael Natterer a270381096 made the "args" parameter const.
2008-09-05  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugindebug.[ch] (gimp_plug_in_debug_argv): made
	the "args" parameter const.

	* app/plug-in/gimpplugin.c (gimp_plug_in_open): made some strings
	const.


svn path=/trunk/; revision=26877
2008-09-05 15:46:00 +00:00
Sven Neumann 2552aa2b37 if INVALID_FILE_HANDLE is undefined, define it as the constant that we
2008-09-02  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginshm.c: if INVALID_FILE_HANDLE is 
undefined,
	define it as the constant that we used to use here.


svn path=/trunk/; revision=26839
2008-09-02 20:52:25 +00:00
Sven Neumann 5ed7a372ee use the constant INVALID_FILE_HANDLE instead of 0xFFFFFFFF. Fixes shared
2008-09-01  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginshm.c (gimp_plug_in_shm_new): use the
	constant INVALID_FILE_HANDLE instead of 0xFFFFFFFF. Fixes shared
	memory tile transport on 64bit Windows systems.


svn path=/trunk/; revision=26827
2008-09-01 20:55:31 +00:00
Sven Neumann 2b1bf9b77a app/plug-in/gimppluginprocedure.[ch] moved error handling for asynchronous
2008-08-21  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginprocedure.[ch]
	* app/plug-in/gimptemporaryprocedure.c: moved error handling for
	asynchronous procedure calls to a central place. Use the plug-in
	label instead of the procedure name for the error message.


svn path=/trunk/; revision=26703
2008-08-21 18:09:41 +00:00
Sven Neumann 5e95e896b1 app/plug-in/gimppluginprocedure.c don't just free the return values when
2008-08-21  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginprocedure.c
	* app/plug-in/gimptemporaryprocedure.c: don't just free the 
return
	values when running procedures asynchronously. Instead examine
	them and display the error message if there's one.

	* app/plug-in/gimppluginmanager-call.c
	(gimp_plug_in_manager_call_run_temp): return NULL if
	procedure->plug_in is not set.

	* app/plug-in/gimpplugin-message.c: comment.


svn path=/trunk/; revision=26700
2008-08-21 16:27:06 +00:00
Michael Natterer 960b30cd9e app/plug-in/gimpplugin.[ch] (struct GimpPlugIn) move the error_handler
2008-08-19  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin.[ch] (struct GimpPlugIn)
	* app/plug-in/gimppluginprocframe.[ch] (struct GimpPlugInProcFrame):
	move the error_handler from the plug-in to the proc-frame.

	* app/plug-in/gimppluginprocframe.c
	* app/plug-in/gimpplugin-message.c: changed accordingly.


svn path=/trunk/; revision=26661
2008-08-19 08:24:48 +00:00
Sven Neumann 369d991fd2 Complements the fix for bug #344818:
2008-08-19  Sven Neumann  <sven@gimp.org>

	Complements the fix for bug #344818:

	* libgimpbase/gimpbaseenums.[ch]: added new enum 
GimpPDBErrorHandler.

	* tools/pdbgen/enums.pl: regenerated.

	* app/plug-in/gimpplugin.[ch]: added error_handler to 
GimpPlugIn.

	* app/plug-in/gimpplugin-message.c 
(gimp_plug_in_handle_proc_run):
	only display an error message for a failed procedure call if the
	plug-in's error-handler is set to 
GIMP_PDB_ERROR_HANDLER_INTERNAL.
	
	* tools/pdbgen/pdb/plug_in.pdb: added PDB getter and setter for
	the plug-in's error-handler.

	* app/pdb/plug-in-cmds.c
	* app/pdb/internal-procs.c
	* libgimp/gimpenums.c.tail
	* libgimp/gimpplugin_pdb.[ch]: regenerated.

	* plug-ins/common/file-compressor.c
	* plug-ins/file-uri/uri.c: set the error-handler to
	GIMP_PDB_ERROR_HANDLER_PLUGIN as these plug-ins are forwarding 
the
	error with their return values.


svn path=/trunk/; revision=26656
2008-08-18 22:54:26 +00:00
Sven Neumann 04539e92ed renamed gimp_plug_in_proc_frame_get_return_vals() to
2008-08-17  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginprocframe.[ch]: renamed
	gimp_plug_in_proc_frame_get_return_vals() to
	gimp_plug_in_proc_frame_get_return_values().

	* app/plug-in/gimppluginmanager-call.c: changed accordingly.

svn path=/trunk/; revision=26619
2008-08-17 12:08:52 +00:00
Sven Neumann 51d56e3a43 introduced a utility function to reduce code duplication.
2008-08-17  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin-progress.c
	(gimp_plug_in_progress_cancel_callback): introduced a utility
	function to reduce code duplication.

	* app/pdb/gimppdb.c (gimp_pdb_execute_procedure_by_name): 
changed
	to use g_error_new_literal().


svn path=/trunk/; revision=26616
2008-08-17 11:00:41 +00:00
Sven Neumann c4f3f05df4 removed the term 'PDB' from the user-visible error messages.
2008-08-16  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin-message.c 
(gimp_plug_in_handle_proc_run):
	removed the term 'PDB' from the user-visible error messages.


svn path=/trunk/; revision=26601
2008-08-16 17:11:22 +00:00
Sven Neumann f84608d539 If a procedure call fails, pass a string describing the error as the
2008-08-16  Sven Neumann  <sven@gimp.org>

	If a procedure call fails, pass a string describing the error as
	the second return value. First step towars fixing bug #344818.

	* app/pdb/gimpprocedure.[ch] (gimp_procedure_get_return_values):
	added a GError parameter. If it is set, pass the error message 
to
	the return values.

	* app/pdb/gimppdberror.h: added some more error codes.

	* app/pdb/gimppdb.c
	* app/xcf/xcf.c: pass errors to 
gimp_procedure_get_return_values().

	* app/plug-in/gimpplugin-message.c 
(gimp_plug_in_handle_proc_run):
	show a different error message for execution vs. calling errors.

	* app/plug-in/gimpplugin-progress.c
	(gimp_plug_in_progress_cancel_callback): pass the error
	GIMP_PDB_CANCELLED to gimp_procedure_get_return_values().

	* app/plug-in/gimppluginmanager-call.[ch]
	(gimp_plug_in_manager_call_run): removed the 
'destroy_return_vals'
	parameter.

	* app/plug-in/gimppluginprocedure.c: destroy the return values 
here.

	* app/plug-in/gimppluginprocframe.c: pass an error to
	gimp_procedure_get_return_values().

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/fileops.pdb: generate code that passes the
	error to gimp_procedure_get_return_values().

	* app/pdb/*-cmds.c: regenerated.
	
	* plug-ins/pygimp/pygimp-pdb.c: extract the error message from 
the
	return values and pass it to the exception that is thrown.


svn path=/trunk/; revision=26593
2008-08-16 13:57:57 +00:00
Sven Neumann ada401fe48 use G_STRFUNC in another error message that I missed earlier.
2008-08-14  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin-message.c 
(gimp_plug_in_handle_proc_run):
	use G_STRFUNC in another error message that I missed earlier.


svn path=/trunk/; revision=26570
2008-08-14 21:57:39 +00:00
Sven Neumann 9884974e53 use G_STRFUNC to get the proper function name in the error message.
2008-08-14  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin-message.c 
(gimp_plug_in_handle_tile_get):
	use G_STRFUNC to get the proper function name in the error 
message.


svn path=/trunk/; revision=26564
2008-08-14 19:59:47 +00:00
Sven Neumann 81131c0bb4 Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB colors as
2008-07-14  Sven Neumann  <sven@gimp.org>

	Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB
	colors as argument or return value.

	* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): replaced
	the unused GIMP_PDB_BOUNDARY with GIMP_PDB_COLORARRAY.

	* libgimpbase/gimpprotocol.h: increased GIMP_PROTOCOL_VERSION.
	(struct _GPParam): added d_colorarray entry to the union.

	* libgimpbase/gimpprotocol.c
	* libgimp/gimp.[ch]
	* app/pdb/gimp-pdb-compat.c
	* app/plug-in/plug-in-params.c
	* app/plug-in/gimpplugin-message.c
	* tools/pdbgen/pdb.pl: deal with the new data type.

	* tools/pdbgen/enums.pl: regenerated.

	* plug-ins/pygimp/pygimp-pdb.c
	* plug-ins/script-fu/scheme-wrapper.c: handle the new data type.


svn path=/trunk/; revision=26189
2008-07-14 14:09:16 +00:00
Michael Natterer 044a4a00ae also map <Toolbox>/File/Acquire to <Image>/File/New/Acquire.
2008-06-12  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-menu-path.c (menu_path_mappings): also map
	<Toolbox>/File/Acquire to <Image>/File/New/Acquire.


svn path=/trunk/; revision=25935
2008-06-12 15:11:07 +00:00
Sven Neumann 6554c3e397 app/plug-in/gimpplugin.c app/plug-in/gimppluginmanager-call.c formatting.
2008-06-10  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-call.c
	* app/widgets/gimphelp.c: formatting.

svn path=/trunk/; revision=25907
2008-06-10 09:16:48 +00:00
Michael Natterer a37bce0d31 add SHADOW_TILES log domain.
2008-05-10  Michael Natterer  <mitch@gimp.org>

	* app/gimp-log.[ch]: add SHADOW_TILES log domain.

	* app/plug-in/gimpplugin-cleanup.c (gimp_plug_in_cleanup_item):
	turn commented-out g_printerr() into a GIMP_LOG()


svn path=/trunk/; revision=25605
2008-05-10 10:15:49 +00:00
Sven Neumann bfa9eb956e commented out debug message.
2008-05-07  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin-cleanup.c (gimp_plug_in_cleanup_item):
	commented out debug message.

svn path=/trunk/; revision=25580
2008-05-07 08:05:00 +00:00
Michael Natterer c1b372f9ca split gimp_plug_in_handle_tile_request() into two functions:
2008-05-06  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin-message.c: split
	gimp_plug_in_handle_tile_request() into two functions:
	gimp_plug_in_handle_tile_put() and gimp_plug_in_handle_tile_get().


svn path=/trunk/; revision=25578
2008-05-06 20:30:51 +00:00
Michael Natterer 7d81b3041c show an error message instead of crashing when a plug-in registers a
2008-05-06  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin-message.c
	(gimp_plug_in_handle_proc_install): show an error message instead
	of crashing when a plug-in registers a prodecure with a NULL
	argument or return value name. Also introduce two macros which
	make the utf-8 validation of all strings much more readable.


svn path=/trunk/; revision=25577
2008-05-06 20:15:12 +00:00
Michael Natterer b9ba5072d5 do the actual cleanup in utility functions and reduce
2008-04-21  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin-cleanup.c: do the actual cleanup in
	utility functions and reduce gimp_plug_in_cleanup() to merely
	iterating the cleanup lists.


svn path=/trunk/; revision=25511
2008-04-21 19:53:10 +00:00
Michael Natterer e5be5664ed Move the shadow tiles from the image to the drawable. Fixes bug #100469.
2008-04-21  Michael Natterer  <mitch@gimp.org>

	Move the shadow tiles from the image to the drawable.
	Fixes bug #100469.

	* app/core/Makefile.am
	* app/core/gimpdrawable-shadow.[ch]: new files implementing
	the shadow tiles.

	* app/core/gimpimage.[ch]: remove the shadow tile manager from the
	GimpImage struct. Remove gimp_image_get_shadow_tiles() and
	_free_shadow_tiles().

	* app/core/gimpdrawable.[ch]: add the shadow tile manager
	here. Remove get_shadow_tiles() and merge_shadow(). Free the
	shadow tiles in finalize and when the drawable gets removed from
	the image.

	* app/core/gimpdrawable-brightness-contrast.c
	* app/core/gimpdrawable-color-balance.c
	* app/core/gimpdrawable-colorize.c
	* app/core/gimpdrawable-curves.c
	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-hue-saturation.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-levels.c
	* app/core/gimpdrawable-operation.c
	* app/core/gimpdrawable-posterize.c
	* app/core/gimpdrawable-threshold.c
	* app/core/gimpimagemap.c: changed accordingly. Free the shadow tiles
	after using them.

	* app/plug-in/gimpplugin-cleanup.[ch]: add
	gimp_plug_in_cleanup_add_shadow() and _remove_shadow() which keep
	track of whether shadow tiles were created on behalf of a plug-in
	procedure.

	(gimp_plug_in_cleanup): free shadow tiles which were created but
	not destroyed by a plug-in procedure.

	* app/plug-in/gimpplugin-message.c (plug_in_handle_tile_request):
	call gimp_plug_in_cleanup_add_shadow() whenever a plug-in requests
	shadow tiles.

	* tools/pdbgen/pdb/drawable.pdb: use the new drawable shadow
	API. Add new procedure gimp-drawable-free-shadow. Call
	gimp_plug_in_cleaup_remove_shadow() when it gets called.

	* tools/pdbgen/pdb/image.pdb: deprecate gimp-image-free-shadow.
	Calling it has no effect any longer.

	* app/pdb/drawable-cmds.c
	* app/pdb/image-cmds.c
	* app/pdb/internal-procs.c
	* libgimp/gimpimage_pdb.[ch]
	* libgimp/gimpdrawable_pdb.[ch]: regenerated.


svn path=/trunk/; revision=25510
2008-04-21 17:20:51 +00:00
Michael Natterer 7aa177fa01 Add some infrastructure that will be used soon:
2008-04-17  Michael Natterer  <mitch@gimp.org>

	Add some infrastructure that will be used soon:

	* app/plug-in/gimppluginprocframe.[ch]: replace "cleanup" list
	by two lists "image_cleanups" and "item_cleanups" and call
	gimp_plug_in_cleanup() if any of them is non-NULL.

	* app/plug-in/gimpplugin-cleanup.c: add private new() and free()
	functions for GimpPlugInCleanupImage structs and add the same
	infrastructure for GimpPlugInCleanupItem structs which are
	currently unused.


svn path=/trunk/; revision=25497
2008-04-17 17:55:04 +00:00
Sven Neumann 9d51e64525 renamed gimp_plug_in_handle_tile_req() to
2008-04-14  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin-message.c: renamed
	gimp_plug_in_handle_tile_req() to 
gimp_plug_in_handle_tile_request().


svn path=/trunk/; revision=25488
2008-04-14 17:50:25 +00:00
Michael Natterer 07708f74bd made messages about killed plug-ins due to invalid tile requests more
2008-04-14  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_tile_req):
	made messages about killed plug-ins due to invalid tile requests
	more verbose. They are good for debugging only and not translated,
	so more info can't hurt. Also fail (kill the plug-in) if a tile is
	requested that lives on the undo stack.


svn path=/trunk/; revision=25487
2008-04-14 15:01:23 +00:00
Sven Neumann 48c864acfb removed function name from debug output.
2008-04-09  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-menu-path.c (plug_in_menu_path_map): 
removed
	function name from debug output.


svn path=/trunk/; revision=25443
2008-04-09 17:10:01 +00:00
Michael Natterer 63e9148785 enable and improve debug output for mapped menu paths.
2008-04-09  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-menu-path.c (plug_in_menu_path_map): enable
	and improve debug output for mapped menu paths.


svn path=/trunk/; revision=25437
2008-04-09 15:37:45 +00:00
Michael Natterer e188e22fa7 Really map everything else in "Xtns" to "Filters/Extensions".
svn path=/trunk/; revision=25428
2008-04-09 10:56:56 +00:00
Michael Natterer e173c6facb add "File/New" submenu and an "Acquire" placeholder inside it. Removed
2008-04-09  Michael Natterer  <mitch@gimp.org>

	* menus/image-menu.xml.in: add "File/New" submenu and an "Acquire"
	placeholder inside it. Removed "File/Acquire". Removed the "Xtns"
	menu.

	* app/plug-in/plug-in-menu-path.[ch] (plug_in_menu_path_map):
	add "menu_label" parameter and add support for mapping around
	individual menu items while preserving their translation and
	mnemonics. Add mappings for the known menus from "Xtns" and map
	them to "File/New".

	Map everything else in "Xtns" to "Filters/Extensions".

	* app/plug-in/gimppluginmanager-menu-branch.c
	(gimp_plug_in_manager_add_menu_branch): pass the menu_label so
	menu branches can be mapped with their translation.

	* app/plug-in/gimppluginprocedure.c
	(gimp_plug_in_procedure_add_menu_path): pass NULL because mapping
	menu items which have no submenu makes no sense and is redundant.

	* app/actions/image-actions.c: remove the "Xtns" menu action.

	* app/actions/file-actions.c: add action for the "File/New" menu
	and removed the "File/Acquire" action.

	* app/actions/edit-actions.c: rename "Paste as New" to
	"From Clipboard".

	* menus/image-menu.xml.in: add the "From Clipboard" action to the
	"File/New" menu.


svn path=/trunk/; revision=25427
2008-04-09 10:48:01 +00:00
Michael Natterer 5015460bc8 add placeholder "Help/Programming"
2008-04-08  Michael Natterer  <mitch@gimp.org>

	* menus/image-menu.xml.in: add placeholder "Help/Programming"

	* plug-ins/common/plugin-browser.c
	* plug-ins/common/procedure-browser.c: move the plug-in and
	procedure browsers there.

	* menus/image-menu.xml.in: moved the (now by default empty)
	"Extensions" placeholder from "Xtns" to "Filters". Let's see what
	cruft shows up there.

	* app/plug-in/plug-in-menu-path.c: map "Xtns/Extensions" to
	"Filters/Extensions".


svn path=/trunk/; revision=25415
2008-04-08 18:31:56 +00:00
Michael Natterer 3aa63a431f Start getting rid of the "Xtns" menu:
2008-04-08  Michael Natterer  <mitch@gimp.org>

	Start getting rid of the "Xtns" menu:

	* app/actions/dialogs-actions.c (dialogs_toplevel_actions):
	renamed "Module Manager" to "Modules".

	* menus/image-menu.xml.in: move it to "Edit/Preferences" for the
	time being so it doesn't block the removal of the "Xtns" menu.

	Move "Languages" placeholder from "Xtns" to "Filters".

	* app/plug-in/plug-in-menu-path.c (menu_path_mappings): map
	"Xtns/Languages" to "Filters/Languages".


svn path=/trunk/; revision=25414
2008-04-08 18:18:59 +00:00
Mukund Sivaraman 0708ffea76 Fixes for some Sparse reported issues in app/
2008-03-28  Mukund Sivaraman  <muks@mukund.org>

        Fixes for some Sparse reported issues in app/

        * app/core/gimpdrawable-operation.c: Added prototype for            
        gegl_node_add_child().

        * app/core/gimpcurve.c: Remove C99 code       
                                
        * app/tools/gimpcurvestool.c 
        * app/tools/gimpperspectiveclonetool.c 
        * app/vectors/gimpstroke.c: Mark functions as static.

        * app/base/siox.c: state is a pointer.

        * app/plug-in/gimppluginprocframe.c: values is a pointer.

        * app/plug-in/plug-in-rc.c: plug_in_rc_parse() returns a pointer.

        * app/plug-in/gimpinterpreterdb.c: Check program[0] for '\0'
        instead of the pointer program itself.


svn path=/trunk/; revision=25292
2008-03-28 23:18:19 +00:00
Sven Neumann 26d1021e77 Properly pass the focus from the core to plug-in dialogs:
2008-03-27  Sven Neumann  <sven@gimp.org>

	Properly pass the focus from the core to plug-in dialogs:

	* libgimpbase/gimpprotocol.[ch]: added a user_time member to the
	GimpConfig struct. Bumped the protocol version to 0x0012.

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: added gimp_get_user_time() to get the
	timestamp of the last user interaction.

	* app/plug-in/gimppluginmanager-call.c
	(gimp_plug_in_manager_call_run): pass the timestamp to in the
	GimpConfig message.

	* libgimp/gimp.[ch]:
	* libgimp/gimp.def: added method to access the timestamp as set
	in the config message.

	* libgimp/gimpui.c (gimp_ui_init): construct a fake startup ID and
	set the DESKTOP_STARTUP_ID environment variable.

svn path=/trunk/; revision=25263
2008-03-27 16:30:29 +00:00
Michael Natterer f63a7153ef Remove the toolbox menu:
2008-03-21  Michael Natterer  <mitch@gimp.org>

	Remove the toolbox menu:

	* configure.in: remove --enable-toolbox-menu option.

	* menus/Makefile.am
	* menus/toolbox-menu.xml.in: removed.

	* menus/image-menu.xml.in: add the debug menu here.

	* menus/menus.xsl: remove transformations depending on whether
	there is a toolbox menu or not.

	* app/menus/Makefile.am
	* app/menus/toolbox-menu.[ch]: removed.

	* app/menus/menus.c: remove the toolbox menu but keep the
	<Toolbox> UI manager around so we can configure its actions
	separate from normal docks.

	* app/actions/image-actions.c (image_actions): remove the action
	for the toolbox menubar.

	* app/widgets/gimptoolbox.c: remove all menu code.

	* app/plug-in/plug-in-menu-path.c: map plug-in registered toolbox
	menu items to their new location in the image menu
	unconditionally.

	* plug-ins/common/screenshot.c
	* plug-ins/common/uniteditor.c
	* plug-ins/script-fu/script-fu.c
	* plug-ins/script-fu/scripts/web-browser.scm
	* plug-ins/twain/twain.c
	* plug-ins/winsnap/winsnap.c: remove menu registrations under
	<Toolbox>/File and change <Toolbox>/Help to <Image>/Help. Leave
	<Toolbox>/Xtns untouched until its final location and name are
	decided.


svn path=/trunk/; revision=25156
2008-03-21 17:55:32 +00:00
Sven Neumann 68947c0430 don't allow "file:" to be registered as prefix. This seems to happen with
2008-03-20  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginprocedure.c
	(gimp_plug_in_procedure_set_file_proc): don't allow "file:" to be
	registered as prefix. This seems to happen with the uri-gio plug-in
	when no gvfs backends are installed.


svn path=/trunk/; revision=25139
2008-03-20 11:56:13 +00:00
Michael Natterer 3a66deae00 add get_pid() which returns getpid().
2008-02-07  Michael Natterer  <mitch@gimp.org>

	* app/base/base-utils.[ch]: add get_pid() which returns getpid().

	* app/base/base.c
	* app/base/tile-swap.c
	* app/core/gimp-utils.c
	* app/plug-in/gimppluginshm.c
	* app/widgets/gimpselectiondata.c
	* tools/pdbgen/pdb/misc.pdb: use it instead of getpid() and remove
	all the #ifdef'ed includes getpid() needs.

	* tools/pdbgen/app.pl: remove support for these includes. Also
	remove some perl cruft in the include handling which is not needed
	any longer.

	* app/pdb/misc_cmds.c: regenerated.


svn path=/trunk/; revision=24827
2008-02-07 13:19:15 +00:00
Sven Neumann 7909c0bcbd added accessor for the list of menu branches.
2007-12-20  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager-menu-branch.[ch]: added accessor
	for the list of menu branches.

	* app/actions/plug-in-actions.c (plug_in_actions_setup): use it.


svn path=/trunk/; revision=24417
2007-12-20 21:48:18 +00:00
Sven Neumann cc44a68902 made the code more robust against errors on the wire protocol level.
2007-12-11  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpprotocol.c: made the code more robust against
	errors on the wire protocol level.

	* app/plug-in/gimpplugin-message.c: added sanity checks to message
	handlers. This doesn't keep us from crashing on invalid input, but
	we will at least get some warnings before that happens.

svn path=/trunk/; revision=24317
2007-12-11 09:40:10 +00:00
Hans Breuer 6f5bbfe0bd updated and removed -GD to let msvc9 complain less
2007-12-09  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated and removed -GD to let msvc9 complain less


svn path=/trunk/; revision=24305
2007-12-09 14:11:09 +00:00
Sven Neumann 915ac64ad5 use GError for error reporting in PDB invoker methods.
2007-12-02  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/app.pl: use GError for error reporting in PDB
	invoker methods.

	* tools/pdbgen/pdb/vectors.pdb: use the GError for the 
procedures
	introduced for bug #497159.

	* tools/pdbgen/pdb/fileops.pdb: use the GError from file-load 
and
	file-save procedures.

	* app/pdb/*_cmds.c: regenerated.

	* app/pdb/Makefile.am

	* app/pdb/gimppdberror.[ch]: new file introducing the
	GIMP_PDB_ERROR domain.

	* app/actions/plug-in-commands.c
	* app/actions/vectors-commands.c
	* app/batch.c
	* app/core/gimpimagefile.c
	* app/core/gimppdbprogress.c
	* app/file/file-open.[ch]
	* app/file/file-save.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimppluginmanager-restore.c
	* app/plug-in/gimppluginprocedure.c
	* app/plug-in/gimptemporaryprocedure.c
	* app/plug-in/plug-in-icc-profile.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppatternselect.c
	* app/widgets/gimppdbdialog.[ch]: changed accordingly.


svn path=/trunk/; revision=24255
2007-12-02 18:05:54 +00:00
Michael Natterer 036085fd9e app/base/temp-buf.c app/base/tile-manager.c accept NULL in all
2007-11-16  Michael Natterer  <mitch@gimp.org>

	* app/base/temp-buf.c
	* app/base/tile-manager.c
	* app/core/gimpobject.c: accept NULL in all get_memsize() functions.

	* app/core/gimp-utils.[ch]: ditto. Added gimp_string_get_memsize().

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbuffer.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdrawable.c
	* app/core/gimpdrawablemodundo.c
	* app/core/gimpdrawableundo.c
	* app/core/gimpimage.c
	* app/core/gimpitempropundo.c
	* app/core/gimplayer.c
	* app/core/gimpmaskundo.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimppreviewcache.c
	* app/core/gimpundo.c
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/gimpplugindef.c
	* app/plug-in/gimppluginmanager.c
	* app/plug-in/gimppluginprocedure.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/text/gimptextundo.c
	* app/vectors/gimpvectorsmodundo.c: simplify
	GimpObject::get_memsize() implementations accordingly.

	* app/core/gimpimageundo.c: ditto. Always keep around colormaps in
	chunks of GIMP_IMAGE_COLORMAP_SIZE to be coonsistent with the
	other colormap handling code.


svn path=/trunk/; revision=24174
2007-11-16 18:19:30 +00:00
Manish Singh a8fb4f0c03 app/core/gimpcontainer-filter.c app/pdb/gimppdb-query.c replace usage of
2007-11-01  Manish Singh  <yosh@gimp.org>

        * app/core/gimpcontainer-filter.c
        * app/pdb/gimppdb-query.c
        * app/plug-in/gimppluginmanager-query.c: replace usage of POSIX
        regex API with GRegex.

        * configure.in: remove check for regex support in glibc.

        * app/Makefile.am
        * plug-ins/script-fu/Makefile.am: remove REGEXREPL references.

        * tools/pdbgen/app.pl: remove code that references HAVE_GLIBC_REGEX.

        * regexrepl/*
        * makefile.msc
        * Makefile.am: remove regexrepl directory.

svn path=/trunk/; revision=24024
2007-11-01 08:15:38 +00:00
Hans Breuer c17fbf8c14 updated msvc build add ENABLE_TOOLBOX_MENU, it should only vanish on Mac
2007-10-27  Hans Breuer  <hans@breuer.org>

	* app/base/makefile.msc app/file/makefile.msc app/gimpcore.def
	  app/gui/makefile.msc app/plug-in/makefile.msc
	  libgimpwidgets/makefile.msc : updated msvc build
	* config.h.win32 : add ENABLE_TOOLBOX_MENU, it should only
	vanish on Mac OSX (Quartz build)


svn path=/trunk/; revision=23964
2007-10-27 12:41:43 +00:00
Sven Neumann f8a56311ce set the procedure name before parsing the image types. Fixes bug #490055.
2007-10-25  Sven Neumann  <sven@gimp.org>

        * app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_proc_install):
        set the procedure name before parsing the image types.
        Fixes bug #490055.

svn path=/trunk/; revision=23943
2007-10-25 09:59:45 +00:00
Sven Neumann 74f55887bb changed message about missing executable and only output it if gimp is
2007-10-09  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager-restore.c
	(gimp_plug_in_manager_add_from_rc): changed message about 
missing
	executable and only output it if gimp is verbose.


svn path=/trunk/; revision=23785
2007-10-09 18:17:33 +00:00
Sven Neumann cee862f744 rewritten array handling to make the IRIX MIPSpro compiler happy (bug
2007-10-05  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in-menu-path.c (plug_in_menu_path_map):
	rewritten array handling to make the IRIX MIPSpro compiler happy
	(bug #483619).

svn path=/trunk/; revision=23730
2007-10-05 08:29:47 +00:00
Michael Natterer 26e11d5fc3 replaced HAVE_GDK_QUARTZ conditional by --disable-toolbox-menu configure
2007-09-18  Michael Natterer  <mitch@gimp.org>

	* configure.in: replaced HAVE_GDK_QUARTZ conditional by
	--disable-toolbox-menu configure switch which defaults to "yes"
	normally and to "no" on quartz.

	* app/widgets/gimptoolbox.c: changed #ifdef accordingly.

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-menu-path.[ch]: new generic machanism to map
	around menu locations. If ENABLE_TOOLBOX_MENU is false, map
	"Xtns" and "Help" from <Toolbox> to <Image>.

	* app/plug-in/gimppluginmanager-menu-branch.c
	* app/plug-in/gimppluginprocedure.c: run all menu paths through the
	new mapping function.

	* menus/Makefile.am
	* menus/menus.xsl
	* menus/image-menu.xml.in: add both the "Xtns" and "Help" menus to
	the image menubar if TOOLBOX_MENU is false.


svn path=/trunk/; revision=23581
2007-09-18 14:39:52 +00:00
Hans Breuer aface5c12a updated msvc build include <io.h> for get_osfhandle() prototype
2007-08-26  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated msvc build
	* app/main.c : include <io.h> for get_osfhandle()
	* plug-ins/jpeg/jpeg-settings.h : prototype
	jpeg_swap_original_settings


svn path=/trunk/; revision=23377
2007-08-26 18:59:34 +00:00
Michael Natterer da32f5a002 remove GimpPlugInDebug typedef.
2007-08-15  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: remove GimpPlugInDebug typedef.

	* app/plug-in/plug-in-types.h: added it here instead.

	* app/core/gimpchannel-combine.h
	* app/widgets/gimppropwidgets.[ch]: match parameter names
	in .c, .h and API docs to make gtk-doc happy.


svn path=/trunk/; revision=23275
2007-08-15 16:40:39 +00:00
Michael Natterer cd164058b8 renamed files:
2007-08-11  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/Makefile.am: renamed files:

	* app/plug-in/plug-in-error.[ch]: old names
	* app/plug-in/gimppluginerror.[ch]: new names

	* app/plug-in/plug-in-icc-profile.c
	* app/file/file-open.c: changed accordingly.


svn path=/trunk/; revision=23217
2007-08-11 19:36:08 +00:00
Sven Neumann 35425c7028 app/plug-in/Makefile.am new files defining the GimpPlugIn error domain.
2007-08-07  Sven Neumann  <sven@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-error.[ch]: new files defining the
	GimpPlugIn error domain.

	* app/plug-in/plug-in-icc-profile.c (plug_in_icc_profile_apply_rgb):
	set an error code.

	* app/file/file-open.c (file_open_profile_apply_rgb): only do the
	profile conversion if color management is enabled. If the plug-in
	is missing, show a warning and disable color management.
	Fixes bug #434205.

	* modules/cdisplay_lcms.c (cdisplay_lcms_get_rgb_profile): check
	if we actually got a profile before checking its color space.

	* libgimpwidgets/gimpwidgetstypes.h: removed leftover typedef
	for GimpResolutionEntry.


svn path=/trunk/; revision=23130
2007-08-07 09:26:28 +00:00
Hans Breuer 024ef60a49 updated msvc build
2007-08-05  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated msvc build


svn path=/trunk/; revision=23118
2007-08-05 15:16:02 +00:00
Sven Neumann 36e8e6989a don't call gp_quit_write() on a plug-in with a broken pipe. Fixes bug
2007-07-30  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin.[ch]: don't call gp_quit_write() on a
	plug-in with a broken pipe. Fixes bug #460878.

svn path=/trunk/; revision=23076
2007-07-30 16:24:14 +00:00
Sven Neumann 143c5f9173 app/file/file-open.c minor cleanups.
2007-07-29  Sven Neumann  <sven@gimp.org>

	* app/file/file-open.c
	* app/plug-in/plug-in-icc-profile.c: minor cleanups.


svn path=/trunk/; revision=23063
2007-07-29 17:20:29 +00:00
Sven Neumann de7d46d6e2 plugged tiny memory leak.
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginprocedure.c
	(gimp_plug_in_procedure_set_file_proc): plugged tiny memory 
leak.

	* libgimpcolor/gimprgb.c (gimp_rgb_min) (gimp_rgb_max): 
formatting.


svn path=/trunk/; revision=22940
2007-07-17 07:22:20 +00:00
Sven Neumann 09578ea070 removed extra check for gthread and fold it into the GLIB and GTK checks.
2007-06-25  Sven Neumann  <sven@gimp.org>

	* configure.in: removed extra check for gthread and fold it into
	the GLIB and GTK checks.

	* */Makefile.am: changed accordingly.

	* app/main.c (main): always call g_thread_init().

svn path=/trunk/; revision=22832
2007-06-25 12:41:59 +00:00
Tor Lillqvist bafefcd579 In GLib 2.13 pipe() is no longer defined as a macro in gwin32.h. Define it
2007-06-20  Tor Lillqvist  <tml@novell.com>

	* app/plug-in/gimpplugin.c: In GLib 2.13 pipe() is no longer
	defined as a macro in gwin32.h. Define it here in that case.


svn path=/trunk/; revision=22802
2007-06-20 09:22:34 +00:00
Sven Neumann f322854007 app/text/Makefile.am app/core/Makefile.am app/tools/Makefile.am
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/core/Makefile.am
	* app/tools/Makefile.am
	* app/display/Makefile.am
	* app/widgets/Makefile.am
	* app/base/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* libgimp/Makefile.am
	* libgimpthumb/Makefile.am
	* tools/pdbgen/Makefile.am
	* libgimpwidgets/Makefile.am: applied the remaining parts of the
	patch from Daniel Richard G. to fix out-of-source-tree builds
	(bug #444960).

svn path=/trunk/; revision=22735
2007-06-07 13:19:44 +00:00
Mukund Sivaraman f67306c1d3 Added missing include.
2007-05-30  Mukund Sivaraman  <muks@mukund.org>

        * app/tools/gimpdrawtool.c: Added missing include.

        * app/tools/gimpbycolorselecttool.c: Removed unused variable.

        * app/plug-in/gimpenvirontable.c: Added cast for callback function.

        * plug-ins/script-fu/tinyscheme/scheme.c: Correctly cast pointer to
        an long integer type.


svn path=/trunk/; revision=22659
2007-05-30 11:49:14 +00:00
Sven Neumann c7bffbceaa app/dialogs/tips-parser.c app/display/gimpdisplayshell-autoscroll.c
2007-05-23  Sven Neumann  <sven@gimp.org>

	* app/dialogs/tips-parser.c
	* app/display/gimpdisplayshell-autoscroll.c
	* app/menus/plug-in-menus.c
	* app/plug-in/gimpenvirontable.c
	* app/plug-in/gimpinterpreterdb.c
	* app/plug-in/gimpplugindebug.c
	* app/plug-in/gimppluginshm.c
	* app/text/gimptextundo.c: allocate structs using GSlice

	* app/widgets/gimpselectiondata.c 
(gimp_selection_data_set_color):
	stack allocate tempory data.


svn path=/trunk/; revision=22588
2007-05-23 08:57:53 +00:00
Michael Natterer 460fab8fee free parasites using gimp_parasite_free()
2007-05-22  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-params.c (plug_in_args_to_params): free
	parasites using gimp_parasite_free()

	* libgimp/gimp.c (gimp_run_procedure2): free wire messages using
	gimp_wire_destroy().


svn path=/trunk/; revision=22563
2007-05-22 12:36:10 +00:00
Michael Natterer ada79e533a app/actions/data-commands.c app/base/boundary.c app/base/gimphistogram.c
2007-05-22  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/base/boundary.c
	* app/base/gimphistogram.c
	* app/base/gimplut.c
	* app/base/temp-buf.c
	* app/core/gimpcontainer.c
	* app/core/gimpgradient.c
	* app/core/gimpparamspecs.c
	* app/core/gimpundo.c
	* app/plug-in/gimpplugin-cleanup.c
	* app/plug-in/gimppluginmanager-data.c
	* app/plug-in/gimppluginmanager-help-domain.c
	* app/plug-in/gimppluginmanager-locale-domain.c
	* app/plug-in/gimppluginmanager-menu-branch.c
	* app/plug-in/gimppluginprocframe.c
	* app/vectors/gimpanchor.c
	* app/widgets/gimpsessioninfo.c: use GSlice instead of g_new/g_free
	for structs of fixed size.


svn path=/trunk/; revision=22558
2007-05-22 10:43:48 +00:00
Sven Neumann 2ecd48b944 removed debug output.
2007-05-04  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpplugin-cleanup.c: removed debug output.

svn path=/trunk/; revision=22410
2007-05-04 11:39:26 +00:00
Sven Neumann 5313214382 use GQuark for locale and help domains to avoid duplicating the same
2007-04-24  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginprocedure.[ch]: use GQuark for locale and
	help domains to avoid duplicating the same strings many times.

	* app/plug-in/gimppluginmanager-restore.c: removed FIXME.


svn path=/trunk/; revision=22304
2007-04-24 10:28:28 +00:00
Michael Natterer 687fc2d415 set the default plug-in locale domain on all GimpPlugInDefs which don't
2007-04-24  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginmanager-restore.c
	(gimp_plug_in_manager_restore): set the default plug-in locale
	domain on all GimpPlugInDefs which don't register a locale domain
	themselves. Fixes bug #430146.


svn path=/trunk/; revision=22303
2007-04-24 09:35:42 +00:00
Sven Neumann 44cefcc818 app/plug-in/Makefile.am app/plug-in/gimppluginmanager.[ch] moved
2007-04-18  Sven Neumann  <sven@gimp.org>

	* app/plug-in/Makefile.am
	* app/plug-in/gimppluginmanager.[ch]
	* app/plug-in/gimppluginmanager-restore.[ch]: moved
	gimp_plug_in_manager_restore() to it's own file.

	* app/core/gimp.c: changed accordingly.

	* app/Makefile.am (LDFLAGS): convince the linker to do its job.


svn path=/trunk/; revision=22286
2007-04-18 15:06:05 +00:00
Sven Neumann 91dc2e614e added another helper function to improve readability
svn path=/trunk/; revision=22284
2007-04-18 14:28:47 +00:00
Sven Neumann 76b1f3ca3f try to improve readability by moving code to helper functions.
2007-04-18  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
	try to improve readability by moving code to helper functions.

svn path=/trunk/; revision=22283
2007-04-18 14:23:20 +00:00
Sven Neumann 3d5a8450da added a function that returns all file extensions registered in the
2007-04-18  Sven Neumann  <sven@gimp.org>

	* app/plug-in/gimpinterpreterdb.[ch]: added a function that
	returns all file extensions registered in the interpreter db.

	* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
	if the PATHEXT environment variable is set, append all registered
	file extensions to it. This way GIMP can recognize Python scripts
	as plug-ins on platforms where the executable bit is unknown.


svn path=/trunk/; revision=22282
2007-04-18 13:21:20 +00:00
Michael Natterer e198e7cba3 app/config/gimprc.c app/plug-in/gimppluginmanager.c
2007-04-17  Michael Natterer  <mitch@gimp.org>

	* app/config/gimprc.c
	* app/plug-in/gimppluginmanager.c
	* app/plug-in/gimpplugin.c
	* app/gui/themes.c: don't translate --verbose or g_printerr()
	messages, they are debugging output that often end up in bugzilla
	and should not depend on the locale.


svn path=/trunk/; revision=22262
2007-04-17 14:25:09 +00:00
Michael Natterer 5ba99bdacd app/actions/plug-in-actions.c GimpPlugInProcedure has a boolean member
2007-03-19  Michael Natterer  <mitch@gimp.org>

	* app/actions/plug-in-actions.c
	* app/menus/plug-in-menus.c: GimpPlugInProcedure has a boolean
	member "file_proc" now, use it instead of checking prefixes,
	extensions and magics manually.

	* app/plug-in/gimppluginprocedure.c
	(gimp_plug_in_procedure_set_mime_type)
	(gimp_plug_in_procedure_set_thumb_loader): set
	plug_in_proc->file_proc to TRUE here too.

	* plug-ins/common/pnm.c: register "image/x-portable-anymap" as
	mime-type and "pnm" as extension for file-pnm-save so it's
	recognized as file procedure.


svn path=/trunk/; revision=22152
2007-03-20 10:41:35 +00:00
Michael Natterer cefff5f07f don't just g_free() the GValueArray after we memcpy()-stole its values
2007-03-16  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimppluginprocframe.c
	(gimp_plug_in_proc_frame_get_return_vals): don't just g_free() the
	GValueArray after we memcpy()-stole its values because this both
	leaks the contained array of GValues and crashes with glib trunk
	where GValueArray is slice-allocated. Instead, free the array of
	GValues manually, set it to NULL and use g_value_array_free().


svn path=/trunk/; revision=22134
2007-03-16 14:24:02 +00:00
Michael Natterer dd4042df85 Fix stuck progress bars (bug #393832):
2007-03-16  Michael Natterer  <mitch@gimp.org>

	Fix stuck progress bars (bug #393832):

	* app/plug-in/gimpplugin-progress.[ch] (gimp_plug_in_progress_end):
	added PlugInProcFrame parameter instead of blindly using the topmost
	in the procedure stack...

	* app/plug-in/gimppluginprocframe.c
	(gimp_plug_in_proc_frame_dispose): ...because we call it from here,
	when the proc_frame is already removed from the procedure stack.

	Unrelated:

	* plug-ins/script-fu/scripts/difference-clouds.scm: use
	RUN-INTERACTVE instead of 0, added (gimp-displays-flush)

	* plug-ins/common/snoise.c (solid_noide): update the progress to
	1.0 after rendering.


svn path=/trunk/; revision=22131
2007-03-15 23:39:32 +00:00
Michael Natterer bb6530592f require either "procedure" or "prog" being non-NULL, not both of them at
2007-03-14  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/gimpplugin.c (gimp_plug_in_new): require either
	"procedure" or "prog" being non-NULL, not both of them at the same
	time. Get the executable name from the procedure if the procedure
	was passed.

	* app/plug-in/gimppluginmanager-call.c
	(gimp_plug_in_manager_call_run): pass a NULL prog since we already
	pass the procedure.


svn path=/trunk/; revision=22122
2007-03-14 20:03:10 +00:00
Sven Neumann 4d44bacd74 deal with gimp_plug_in_procedure_get_label() returning NULL
svn path=/trunk/; revision=22104
2007-03-12 13:07:18 +00:00