Commit Graph

125 Commits

Author SHA1 Message Date
Sven Neumann 4ec5642b50 declare gp_params_destroy() in the private header file.
2005-12-14  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: declare gp_params_destroy() in
	the private header file.

	* libgimp/gimp.c (gimp_destroy_params): removed extern declaration.
2005-12-14 13:19:18 +00:00
Sven Neumann 4467e1cd4b let the private wire methods live in the GIMP namespace. Declare internal
2005-12-13  Sven Neumann  <sven@gimp.org>

        * libgimpbase/gimpwire.[ch]: let the private wire methods live in
        the GIMP namespace. Declare internal functions as such and prefix
        them with an underscore.

        * libgimp/gimp.c
        * libgimp/gimptile.c
        * libgimpbase/gimpbase.def
        * libgimpbase/gimpprotocol.c
        * app/plug-in/plug-in-message.[ch]
        * app/plug-in/plug-in-run.c
        * app/plug-in/plug-in.c: changed accordingly.
2005-12-13 14:11:56 +00:00
Sven Neumann 39e866d9c0 Added support for binary relocation by means of binreloc, largely based on
2005-11-06  Sven Neumann  <sven@gimp.org>

	Added support for binary relocation by means of binreloc, largely
	based on a patch by Hongli Lai:

	* m4macros/Makefile.am
	* m4macros/binreloc.m4: new file providing a macro to check for
	binreloc support.

	* acinclude.m4
	* configure.in: use the macro.

	* libgimpbase/Makefile.am
	* libgimpbase/gimpreloc.[ch]: new files providing binreloc support
	on Linux.

	* libgimpbase/gimpenv.[ch]: use binreloc, provide a function to
	initialize the environment machinery.

	* libgimpbase/gimpbase.def: updated.

	* app/Makefile.am: fiddle with the LDFLAGS for binreloc.

	* app/main.c (main): gimp_env_init(FALSE).

	* libgimp/gimp.c (gimp_main): gimp_env_init(TRUE).
2005-11-06 01:06:41 +00:00
Michael Natterer ec49e30396 GimpUnitVTable -> GimpUnitVtable
2005-09-10  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbase-private.h: GimpUnitVTable -> GimpUnitVtable

	* libgimpbase/gimpbase-private.c
	* libgimp/gimp.c (gimp_main)
	* app/units.c (units_init): changed accordingly.
2005-09-10 12:21:37 +00:00
Sven Neumann 449c40733e improved documentation.
2005-08-31  Sven Neumann  <sven@gimp.org>

	* libgimp/gimp.c (gimp_run_procedure2, gimp_run_procedure):
	improved documentation.
2005-08-31 10:57:23 +00:00
Jens Seidel d08ae844d3 fixed a typo: s/occured/occurred/g 2005-08-21 20:28:05 +00:00
Sven Neumann da9eb037c7 define G_DISABLE_DEPRECATED unless glib >= 2.9.0.
2005-08-16  Sven Neumann  <sven@gimp.org>

	* configure.in: define G_DISABLE_DEPRECATED unless glib >= 2.9.0.

	* app/core/gimpscanconvert.c: added missing include.

	* app/text/gimp-fonts.c
	* libgimp/gimp.c
	* libgimpwidgets/gimpcolornotebook.c
	* plug-ins/helpbrowser/dialog.c: fixed signedness warnings.

	* plug-ins/bmp/bmpread.c (ReadBMP): initialize variable.
2005-08-16 00:48:20 +00:00
Manish Singh b77ca997a7 make _gimp_enums_init public, so language bindings can do early enum
2005-06-03  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/enumcode.pl: make _gimp_enums_init public, so
        language bindings can do early enum registration if needed.

        * libgimp/gimpenums.h
        * libgimp/gimpenums.c.tail: regenerated

        * gimp.c: call gimp_enums_init instead of _gimp_enums_init.

        * gimp.def: add newly exported function.
2005-06-03 23:25:44 +00:00
Manish Singh 92d6b9272d libgimp/gimp.[ch] libgimp/gimpdrawable.[ch] changed attach_new_parasite
2005-03-02  Manish Singh  <yosh@gimp.org>

        * libgimp/gimp.[ch]
        * libgimp/gimpdrawable.[ch]
        * libgimp/gimpimage.[ch]: changed attach_new_parasite variants
        to return success or failure.
2005-03-02 23:26:16 +00:00
Sven Neumann 022b3532f8 libgimp/gimptile.c (gimp_tile_put) added missing calls to wire_destroy().
2005-01-15  Sven Neumann  <sven@gimp.org>

	* libgimp/gimptile.c (gimp_tile_put)
	* libgimp/gimp.c (gimp_loop) (gimp_read_expect_msg): added missing
	calls to wire_destroy(). Plugs memory leaks in the wire protocol.
2005-01-15 12:09:25 +00:00
Sven Neumann 4d27239a9c renamed menu_path parameter to menu_label and added a pointer to
2004-12-28  Sven Neumann  <sven@gimp.org>

	* libgimp/gimp.[ch] (gimp_install_procedure, gimp_install_temp_proc):
	renamed menu_path parameter to menu_label and added a pointer to
	gimp_plugin_menu_register()

	* app/widgets/gimpsizebox.c (gimp_size_box_constructor): removed
	unused variables.
2004-12-28 15:21:16 +00:00
Sven Neumann 5570780082 converted a g_warning() to g_printerr().
2004-11-19  Sven Neumann  <sven@gimp.org>

	* libgimp/gimp.c: converted a g_warning() to g_printerr().
2004-11-19 20:08:14 +00:00
Manish Singh 5d01581069 Fix a bunch of warnings from Sparse:
2004-11-13  Manish Singh  <yosh@gimp.org>

        Fix a bunch of warnings from Sparse:

        * app/actions/dockable-commands.c
        * app/actions/layers-actions.c
        * app/actions/view-commands.c
        * app/base/pixel-surround.c
        * app/config/gimpconfig-utils.c
        * app/config/gimpscanner.c
        * app/core/gimpbrushgenerated.c
        * app/core/gimpcontainer.c
        * app/core/gimpimage.c
        * app/dialogs/palette-import-dialog.c
        * app/file/gimprecentlist.c
        * app/plug-in/plug-in-params.c
        * app/text/gimptext-compat.c
        * app/text/gimptext-parasite.c
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpstroke.c
        * app/widgets/gimpcellrendereraccel.c
        * app/widgets/gimpselectiondata.c
        * app/xcf/xcf.c
        * libgimp/gimp.c
        * libgimpthumb/gimpthumb-utils.c
        * libgimpthumb/gimpthumbnail.c
        * modules/cdisplay_proof.c
        * plug-ins/Lighting/lighting_ui.c
        * plug-ins/common/csource.c
        * plug-ins/common/glasstile.c
        * plug-ins/common/nova.c
        * plug-ins/common/pcx.c
        * plug-ins/common/pnm.c
        * plug-ins/common/randomize.c
        * plug-ins/common/screenshot.c
        * plug-ins/common/sel_gauss.c
        * plug-ins/common/spheredesigner.c
        * plug-ins/common/wind.c
        * plug-ins/gfig/gfig-dialog.c
        * plug-ins/gfig/gfig-dobject.c
        * plug-ins/gimpressionist/gimpressionist.c
        * plug-ins/ifscompose/ifscompose.c
        * plug-ins/print/gimp_main_window.c
        * plug-ins/print/print.c: Cleanup integer vs. pointer confusion.

        * app/base/temp-buf.c
        * app/dialogs/about-dialog.c
        * plug-ins/common/bumpmap.c
        * plug-ins/common/jigsaw.c
        * plug-ins/gfig/gfig-dobject.c: Cosmetic cleanups.

        * app/config/gimpconfig-deserialize.c
        * app/config/gimpconfig-path.c
        * app/config/gimpconfigwriter.c
        * app/core/gimpgradient.c
        * app/tools/gimpdrawtool.c
        * plug-ins/common/nlfilt.c
        * plug-ins/common/unsharp.c
        * plug-ins/common/zealouscrop.c: Define inline functions before they
        are used.

        * app/core/gimpdrawable-blend.c: PixelRegion definition was changed
        some time ago, but the initialization here didn't change. Fix it.

        * app/plug-in/plug-in-rc.c (plug_in_extra_deserialize): No need to
        assign token twice in a row.

        * libgimpbase/gimpdatafiles.c (gimp_datafiles_read_directories): No
        need to initialize file_data, since the code fills out all the fields.

        * plug-ins/common/CML_explorer.c
        * plug-ins/common/vpropagate.c: Declare function pointers fully.

        * plug-ins/common/grid.c (pix_composite): G_INLINE_FUNC isn't needed,
        we assume we can use the "inline" keyword always.

        * plug-ins/common/psd_save.c
        * plug-ins/common/vinvert.c
        * plug-ins/gfig/gfig-arc.c
        * plug-ins/gfig/gfig-bezier.c
        * plug-ins/gfig/gfig-circle.c
        * plug-ins/gfig/gfig-dialog.c
        * plug-ins/gfig/gfig-dobject.c
        * plug-ins/gfig/gfig-ellipse.c
        * plug-ins/gfig/gfig-line.c
        * plug-ins/gfig/gfig-poly.c
        * plug-ins/gfig/gfig-spiral.c
        * plug-ins/gfig/gfig-star.c
        * plug-ins/gfig/gfig.c
        * plug-ins/gimpressionist/orientmap.c
        * plug-ins/gimpressionist/placement.c
        * plug-ins/gimpressionist/sizemap.c
        * plug-ins/imagemap/imap_grid.c
        * plug-ins/imagemap/imap_main.c
        * plug-ins/imagemap/imap_preferences.c
        * plug-ins/imagemap/imap_settings.c
        * plug-ins/maze/maze.c
        * plug-ins/sel2path/curve.c
        * plug-ins/sel2path/fit.c
        * plug-ins/sel2path/pxl-outline.c
        * plug-ins/sel2path/spline.c
        * plug-ins/xjt/xjt.c: Functions with no args should be declared
        with (void).

        * plug-ins/common/retinex.c (MSRCR): Initialize max_preview to quiet
        the compiler.
2004-11-14 02:50:33 +00:00
Michael Natterer b030530936 register some missing enums.
2004-10-25  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbaseenums.[ch]: register some missing enums.

	* tools/pdbgen/enumcode.pl: removed code to generate
	plug-ins/script-fu/script-fu-constants.c, generate code to
	explicitely initialize and query all of libgimp*'s enums
	and write it to libgimp/gimpenums.c.tail

	* libgimp/gimpenums.h: regenerated.

	* libgimp/Makefile.am: append gimpenums.c.tail to gimpenums.c

	* libgimp/gimp.c (gimp_main): call g_type_init() and
	_gimp_enums_init().

	* libgimp/gimp.def: added gimp_enums_get_type_names().

	* plug-ins/script-fu/Makefile.am
	* plug-ins/script-fu/script-fu-constants.[ch]: removed these files.

	* plug-ins/script-fu/siod-wrapper.c: dynamically register all
	constants using gimp_enums_get_type_names() and introspection.
	Also register the built-in unit types.

	* plug-ins/script-fu/script-fu.c: changed accordingly.
2004-10-25 19:29:00 +00:00
Sven Neumann 62b5c77c76 app/config/gimpguiconfig.[ch] added gimprc option "show-help-button".
2004-10-04  Sven Neumann  <sven@gimp.org>

        * app/config/gimpguiconfig.[ch]
        * app/config/gimprc-blurbs.h: added gimprc option "show-help-button".

        * app/dialogs/preferences-dialog.c: added a GUI for it.

        * app/dialogs/file-save-dialog.c
        * app/dialogs/image-new-dialog.c
        * app/dialogs/quit-dialog.c
        * app/display/gimpdisplayshell-close.c
        * app/widgets/gimphelp-ids.h: don't set help-ids on confirmation
        dialogs.

        * libgimpbase/gimpprotocol.[ch]
        * libgimp/gimp.[ch]: added boolean "show_help_button" to the
        config message.

        * app/plug-in/plug-in-run.c: pass the new preference to the plug-in.

        * libgimpwidgets/gimpdialog.[ch]: added new function that allows to
        set whether new dialogs should get a help button added.

        * app/gui/gui.c
        * libgimp/gimpui.c: call gimp_dialogs_show_help_button() according
        to the gimprc settings.
2004-10-04 16:21:52 +00:00
Michael Natterer 4f6f5316eb Restore binary compatibility of the wire protocol that was broken by the
2004-09-13  Michael Natterer  <mitch@gimp.org>

	Restore binary compatibility of the wire protocol that was
	broken by the recent GPConfig changes:

	* libgimpbase/gimpprotocol.[ch] (struct _GPConfig)
	(_gp_config_read)
	(_gp_config_write): argh, we can't use the two bytes padding
	because that's just a binary compatible struct change, but inserts
	two bytes into the byte stream that goes over the wire. Use the
	first two bytes of the former "gdouble gamma" instead.

	* app/plug-in/plug-in-run.c (plug_in_run)
	* libgimp/gimp.c (gimp_config): changed accordingly.
2004-09-13 13:33:56 +00:00
Michael Natterer 4085b1fecf replaced the never used "gdouble gamma" with 8 reserved gint8 and stuffed
2004-09-03  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.h (struct _GPConfig): replaced the
	never used "gdouble gamma" with 8 reserved gint8 and stuffed two
	gint8 behind "gint8 show_tool_tips" where they fit in in a binary
	compatible way due to 32bit aligning of the following "gint32
	min_colors". Use the latter ones for "check_size" and
	"check_type".

	* libgimpbase/gimpprotocol.c (_gp_config_read,write): changed
	accordingly to pass the new stuff over the wire.

	* app/plug-in/plug-in-run.c: ditto. Pass the transpareny values
	from GimpDisplayConfig to plug-ins.

	* libgimp/gimp.[ch] (gimp_config): remember the new config values.
	(gimp_check_size,type): new functions returning the new config values.

	* libgimp/gimpdrawablepreview.c (gimp_drawable_preview_init):
	use the new values to configure preview->area accordingly.
2004-09-03 12:19:26 +00:00
Michael Natterer 49dd42f65b app/plug-in/plug-in-message.c app/plug-in/plug-in-run.c (plug_in_temp_run)
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-run.c (plug_in_temp_run)
	* libgimp/gimp.c (gimp_temp_proc_run): removed ENABLE_TEMP_RETURN
	#define and all code which was in #ifndef ENABLE_TEMP_RETURN.
2004-08-11 09:41:48 +00:00
Sven Neumann e10ebe1805 removed enums GimpImageType and GimpImageBaseType ...
2004-07-29  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.h: removed enums GimpImageType and
	GimpImageBaseType ...

	* libgimpbase/gimpbaseenums.h: ... and added them here. Also moved
	all enums from gimpbasetypes.h to this new file.

	* libgimpbase/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly.

	* app/core/core-enums.c
	* libgimp/gimpenums.h
	* libgimpbase/gimpbaseenums.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimpbase/gimpparasite.c
	* libgimpbase/gimpprotocol.c
	* libgimp/gimp.c: include <glib-object.h>

	* libgimpbase/gimpbasetypes.[ch]: added API to set and get a
	translation domain on a GType. This is used for translatable enum
	values.

	* libgimpbase/gimputils.[ch]: added API to retrieve the translated
	name for an enum value.

	* app/widgets/gimpenumstore.c
	* app/widgets/gimpenumwidgets.c: use the new API in libgimpbase.
2004-07-29 12:33:15 +00:00
Manish Singh 87fba73a12 libgimp/gimp.c close the shm_open fd in the POSIX shm case. We were
2004-03-25  Manish Singh  <yosh@gimp.org>

        * libgimp/gimp.c
        * app/plug-in/plug-in-shm.c: close the shm_open fd in the POSIX
        shm case. We were leaking an fd here.
2004-03-25 09:02:28 +00:00
Sven Neumann 3fb6adbcfb changed wm_name to app_name in the GimpConfig struct; increased
2004-02-17  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: changed wm_name to app_name in
	the GimpConfig struct; increased GIMP_PROTOCOL_VERSION.

	* app/plug-in/plug-in-run.c (plug_in_run): pass the return value
	of g_get_application_name() to the plug-ins.

	* libgimp/gimp.[ch]: removed function gimp_wm_name(). Set the
	plug-in's application name if an app_name is passed in the config
	message.

	* libgimp/gimpui.c: removed usage of gimp_wm_name(); it was wrong
	to do it this way and caused all plug-ins claim to be the gimp-1.3
	executable in their error messages.

	* libgimp/gimp.def: removed symbol gimp_wm_name.

	* configure.in: reset gimp_binary_age and gimp_interface_age.

	* app/core/gimpimage.c (gimp_image_name_changed): removed unused
	variable.
2004-02-17 14:03:07 +00:00
Michael Natterer 57911bbcba app/app_procs.c app/errors.c app/main.c app/config/gimpconfigwriter.c
2004-01-23  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c
	* app/errors.c
	* app/main.c
	* app/config/gimpconfigwriter.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/gui/user-install-dialog.c
	* app/plug-in/plug-ins.c
	* app/vectors/gimpvectors-import.c: some more gimp_filename_to_utf8().

	* libgimp/gimp.c
	* libgimpmodule/gimpmodule.c
	* libgimpmodule/gimpmoduledb.c: use it here, too, now that is in
	libgimpbase.
2004-01-23 17:24:44 +00:00
Michael Natterer e8b27df097 changed member "ProcRec *current_temp_proc" to "GList *temp_proc_recs", a
2004-01-20  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-in.[ch]: changed member
	"ProcRec *current_temp_proc" to "GList *temp_proc_recs", a stack
	of temporary procedures, just as the "temp_main_loops" member is
	supposed to be the stack of main loops for waiting for the
	temp_procs' return values.

	* app/plug-in/plug-in-run.c (plug_in_temp_run): changed accordingly.

	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in-run.c
	* libgimp/gimp.c: added #define ENABLE_TEMP_RETURN 1.

	Enables return values for temporary procedures. On the libgimp
	side, this just enables the code which returns the values, on the
	app side it enables per-plug-in stacks of proc_recs and main_loops
	and a message handler for the GP_TEMP_PROC_RETURN message.
	A temp_proc's caller now blocks until the proc is finished.
	Fixes bug #50649.

	Left the #ifdefs there so it can be easily disabled if things
	break. Please play with Script-Fu and test this.
2004-01-20 00:54:43 +00:00
Tor Lillqvist 6ee79a7530 Convert to native encoding (if requested) only after expanding completely.
2004-01-11  Tor Lillqvist  <tml@iki.fi>

	* app/config/gimpconfig-path.c: Convert to native encoding (if
	requested) only after expanding completely. (Mentioned in #130118,
	patch by Sven.)

	* app/base/tile-swap.c
	* app/pdb/image_cmds.c
	* app/plug-in/plug-in.c
	* libgimp/gimp.c
	* libgimpbase/gimpdatafiles.c
	* libgimpbase/gimpenv.c
	* libgimpmodule/gimpmoduledb.c
	* plug-ins/common/bz2.c
	* plug-ins/common/gz.c
	* plug-ins/common/mail.c
	* plug-ins/common/ps.c
	* plug-ins/common/url.c
	* plug-ins/gfig/gfig-preview.c
	* plug-ins/helpbrowser/helpbrowser.c
	* plug-ins/print/print.c
	* plug-ins/script-fu/script-fu-scripts.c
	* tools/pdbgen/pdb/image.pdb: Remove __EMX__ ifdefs. EMX port is
	unmaintained, presumed dead. (#131109)
2004-01-11 21:25:24 +00:00
Manish Singh 6bf0f76be8 app/main.c app/plug-in/plug-in-shm.c POSIX shared memory tile transport
2003-12-27  Manish Singh  <yosh@gimp.org>

        * app/main.c
        * app/plug-in/plug-in-shm.c
        * libgimp/gimp.c: POSIX shared memory tile transport implementation,
        and a little code cleanup of the SysV and Win32 implementations.

        * configure.in: checks for shm_open, default to POSIX shared memory
        transport on OS X.
2003-12-27 08:07:15 +00:00
Michael Natterer 5221d4daa6 libgimpbase/Makefile.am libgimpbase/gimpbase-private.[ch] new files
2003-11-15  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase-private.[ch]
	* libgimpbase/gimpunit.c: new files implementing GimpUnitVTable
	(formerly known as GimpWidgetsVTable). Now the unit functions
	finally live in the same library as their header declarations.

	* libgimpbase/gimpunit.h: removed comment about being a header for
	two different files.

	* libgimpwidgets/gimpwidgets-private.[ch]: removed
	GimpWidgetsVTable.

	* libgimpwidgets/gimpsizeentry.c
	* libgimpwidgets/gimpunitmenu.c
	* libgimpwidgets/gimpwidgets.c: use normal gimp_unit functions
	again.

	* libgimp/gimpui.c
	* app/gui/gui.c: removed GimpWidgetVTable stuff.

	* libgimp/Makefile.am
	* libgimp/gimpunitcache.[ch]: new files.

	* libgimp/gimpunit.c: removed (moved to gimpunitcache.c).

	* libgimp/gimp.c (gimp_main): initialize GimpUnitVTable using the
	gimp_unit_cache functions.

	* app/Makefile.am
	* app/units.[ch]: new files implementing GimpUnitVTable.

	* app/libgimp_glue.[ch]: removed.

	* app/app_procs.[ch]: made "the_gimp" a static variable. Call
	units_init().

	* app/main.c: changed accordingly.
2003-11-15 22:53:28 +00:00
Sven Neumann 74c8218a3f added GIMP_CONFIG_ERROR_VERSION to GimpConfigError enum.
2003-11-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-error.h: added GIMP_CONFIG_ERROR_VERSION
	to GimpConfigError enum.

	* libgimpbase/gimpprotocol.h: renamed GP_VERSION to
	GIMP_PROTOCOL_VERSION.

	* libgimp/gimp.c
	* app/plug-in/plug-in-run.c: changed accordingly.

	* app/plug-in/plug-in-rc.[ch]: write the protocol version to the
	pluginrc and stop parsing when a wrong protocol version is found.

	* app/plug-in/plug-ins.c: pass a GError to plug_in_rc_parse().
2003-11-07 23:47:35 +00:00
Michael Natterer efd9a3e14a added "wm_name", "wm_class", "display_name" and "monitor_number" to the
2003-11-07  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: added "wm_name", "wm_class",
	"display_name" and "monitor_number" to the GPConfig message.
	Increased protocol version number.

	* libgimp/gimp.[ch] (gimp_config): read them from the GPConfig
	message and remember them.
	Added public accessors for the new config values.

	* libgimp/gimpui.c (gimp_ui_init): pass wm_name and wm_class to
	gtk_init() and export the display/screen to use to the
	environment.

	* app/core/gimp.[ch]: added vtable entries to get the values
	from the GUI.

	* app/gui/gui-vtable.c: implement the vtable entries.

	* app/plug-in/plug-in-run.c: fill in the GPConfig values using
	the new Gimp vtable functions.

	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/gui/about-dialog.c
	* app/gui/channels-commands.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gradients-commands.c
	* app/gui/grid-dialog.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/resize-dialog.c
	* app/gui/splash.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tips-dialog.c
	* app/gui/vectors-commands.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpdock.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpviewabledialog.[ch]
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpunitmenu.c
	* plug-ins/helpbrowser/dialog.c
	* plug-ins/ifscompose/ifscompose.c: replaced all calls to
	gtk_window_set_wmclass() by gtk_window_set_role() and all
	"const gchar *wmclass_name" parameters by "const gchar *role".
	Cleaned up the window role strings.
2003-11-07 17:29:02 +00:00
Hans Breuer b70d6c3317 renamed GimpOrientationType with Compat postfix to avoid name clashing
2003-07-26  Hans Breuer  <hans@breuer.org>

	* libgimp/gimpcompat.h : renamed GimpOrientationType
	with Compat postfix to avoid name clashing when using
	this header together with libgimp/gimpenums.h

	* app/composite/makefile.msc : (new file)
	  **/makefile.msc : updated

	* libgimp/gimp.c : use static defined _tile<widht|height>
	in this file instead of function call

	* libgimp/gimp.def libgimp/libgimpui.def : moved from former
	to latter : gimp_<brush|font|gradient|pattern>_select_<new|destroy>
	added to former gimp_<brushes|gradients|patterns>_popup

	* app/paint/gimppaintcore.h : removed double semicolon
	which gave msvc error C2059: syntax error : ';'

	* libgimpbase/gimpwin32-io.h : (new file) compatibilty defines
	which were spread over multiple files to make up mostly for
	missing unistd.h

	* app/base/tile-swap.c app/core/gimpimagefile.c
	  libgimpbase/gimpdatafiles.c
	  plug-ins/FractalExplorer/FractalExplorer.c : use new header

	* plug-ins/gflare/gflare.c
	  plug-ins/flame/flame.c
	  plug-ins/FractalExplorer/Dialogs.c :
	removed #ifdef G_OS_WIN32 special casing, not needed anymore
	due to g_file_test() usage

	* app/text/*.* : changes required for build with PangoWin32,
	but not commited ...
2003-07-26 17:37:32 +00:00
Tor Lillqvist ebea567bdf libgimpcolor/gimpcolor.def Updates.
2003-07-20  Tor Lillqvist  <tml@iki.fi>

	* libgimpcolor/gimpcolor.def
	* libgimpmath/gimpmath.def: Updates.

	* libgimp/gimp.c (gimp_config): [Win32] Use gimp_tile_width() and
	_height() instead of now nonexistent _gimp_tile_width and _height
	variables.
2003-07-20 22:25:55 +00:00
Manish Singh 473a15a4c3 remove bogus trailing slash
2003-07-13  Manish Singh  <yosh@gimp.org>

        * app/composite/Makefile.am: remove bogus trailing slash

        * libgimp/gimp.c: use raise() instead of kill() with getpid()
2003-07-13 18:03:42 +00:00
Sven Neumann 4d61cc563d libgimp/gimp.[ch] libgimp/gimpchannel.[ch] libgimp/gimpdrawable.[ch]
2003-07-01  Sven Neumann  <sven@gimp.org>

	* libgimp/gimp.[ch]
	* libgimp/gimpchannel.[ch]
	* libgimp/gimpdrawable.[ch]
	* libgimp/gimpimage.[ch]
	* libgimp/gimplayer.[ch]
	* libgimp/gimpmisc.[ch]
	* libgimp/gimpmiscui.[ch]
	* libgimp/gimppixelrgn.[ch]
	* libgimp/gimpproceduraldb.[ch]: added const qualifiers to the
	libgimp API. Will cause lots of compiler warnings until the
	generated PDB code has been constified as well.

	* libgimpbase/gimpparasite.[ch]: use gconstpointer, not const
	gpointer.
2003-07-01 18:11:18 +00:00
Sven Neumann 335c71c4e5 fixed error messages.
2003-06-20  Sven Neumann  <sven@gimp.org>

	* libgimp/gimp.c (gimp_config): fixed error messages.

	* app/widgets/gimpwidgets-utils.c (gimp_message_box): use a
	selectable label so you can copy from message dialogs.
2003-06-20 11:04:11 +00:00
Sven Neumann 9ab621e731 documentation fixes.
2003-06-19  Sven Neumann  <sven@gimp.org>

	* libgimp/gimp.[ch]: documentation fixes.
2003-06-19 18:59:43 +00:00
Michael Natterer ecb0b58439 Changed the semantics of GIMP_EXTENSION and (to some extent) of
2003-06-19  Michael Natterer  <mitch@gimp.org>

	Changed the semantics of GIMP_EXTENSION and (to some extent)
	of GIMP_PLUGIN:

	The old meaning of EXTENSION was "I live in the toolbox" and
	PLUGIN meant "I take RUN-MODE,IMAGE,DRAWABLE args (but only if I
	am invoked interactively)". This is completely useless, since
	living in the toolbox means having "<Toolbox>" in the menu_path
	and taking RUN-MODE,IMAGE,DRAWABLE means just that, regardless of
	what type of procedure we are.

	The new meaning of GIMP_PLUGIN is just "I am an ordinary procedure,
	I am invoked, do my job and finish", while GIMP_EXTENSION means
	"I will install temporary procedures and I will keep running to
	keep them available".

	(A GIMP_EXTENSION *must* call gimp_extension_ack() now to tell the
	core that it's ready to run, or the core will block waiting for
	the message !!!).

	* configure.in: bumped version number to 1.3.16.

	* libgimpbase/gimpprotocol.h: increased protocol version number so
	old extensions will refuse to load.

	* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): don't
	blindly pass RUN-MODE,IMAGE,DRAWABLE to GIMP_PLUGIN procedures but
	look at their parameters and pass them either RUN-MODE, or
	RUN-MODE,IMAGE, or RUN-MODE,IMAGE,DRAWABLE.

	* app/pdb/procedural_db.c: cleaned up, better error reporting,
	replaced an impossible error message by g_return_if_fail()

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install):
	better error messages.

	* app/plug-in/plug-in-params.c: allocate parameter arrays using
	g_new0() so we don't have to worry about uninitialized stuff
	later.

	* app/plug-in/plug-in-run.c (plug_in_run): wait for
	gimp_extension_ack() installation confirmation for ALL extensions,
	not just for automatically started ones.

	* app/plug-in/plug-ins.c: cleanup.

	* libgimp/gimp.[ch]: cleaned up and API-documented massively. Made
	all magic values given in the GPConfig message static and added
	accessor functions for them. Added gimp_tile_width()/height().
	Added new function gimp_extension_enable() which turns on
	asynchronous processing of temp_proc run requests without having
	to enter an endless gimp_extension_process() loop. Moved all
	private functions to the end of the file. Added tons of
	g_return_if_fail() all over the place.  Call gimp_run_procedure2()
	from gimp_run_procedure() instead of duplicating the
	code. Indentation, spacing, stuff...

	* libgimp/gimptile.[ch]: removed gimp_tile_width()/height().

	* libgimp/gimpdrawable.c
	* libgimp/gimppixelrgn.c
	* libgimp/gimptile.c: use the gimp_tile_width()/height() accessor
	functions.

	* libgimp/gimp.def: added gimp_extension_enable.

	* libgimp/gimpmenu.c: removed evil code which connected to
	_readchannel manually and use gimp_extension_enable() for watching
	temp_procs.

	* plug-ins/helpbrowser/helpbrowser.c: removed the same evil code
	here and call gimp_extension_enable(). Call gimp_extension_ack()
	to let the core know that the temp_proc is installed.

	* plug-ins/script-fu/script-fu.c: made all procedures except the
	permanently running "extension_script_fu" ordinary GIMP_PLUGIN
	procedures.

	* plug-ins/common/curve_bend.c
	* plug-ins/common/plugindetails.c
	* plug-ins/common/screenshot.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/winclipboard.c
	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/gfli/gfli.c
	* plug-ins/twain/twain.c
	* plug-ins/webbrowser/webbrowser.c
	* plug-ins/winsnap/winsnap.c: made them all ordinary GIMP_PLUGIN
	procedures and renamed them from "extension_*" to "plug_in_*".
	Random cleanups.

	* app/widgets/gimphelp.c
	* plug-ins/maze/maze_face.c: call "plug_in_web_browser" now.
2003-06-19 17:12:00 +00:00
Manish Singh f6fb0ffff8 gimp_main now takes a GimpPlugInInfo *, and PLUG_IN_INFO is now a static
2003-05-23  Manish Singh  <yosh@gimp.org>

        * libgimp/gimp.[ch]: gimp_main now takes a GimpPlugInInfo *,
        and PLUG_IN_INFO is now a static variable set from that. This
        removes all the special casing for the Win32 and OS/2 ports around
        this. Also added a debugging hook for quit procs.

        * plug-ins/common/mng.c: moved MAIN() to the end so PLUG_IN_INFO is
        declared.

        * plug-ins/gimpressionist/gimpressionist.c: pass &PLUG_IN_INFO
        to gimp_main.

        * plug-ins/pygimp/gimpmodule.c: Here too. Also add a message
        function.
2003-05-23 23:34:13 +00:00
Sven Neumann 28fddfd554 Makefile.am removed this header file.
2003-03-25  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* gimpintl.h: removed this header file.

	* gimpmiscui.c: include libgimp-intl.h.

	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
	textdomain so that plug-ins don't need to do that explicitely.

	* libgimp/stdplugins-intl.h: added the functionality that used to
	live in gimpintl.h and removed the libgimp related stuff. Got rid
	of the INIT_I18N_UI() macro.

	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
	Plug-ins simply call INIT_I18N() once in their run() function.

	* plug-ins/script-fu/script-fu-intl.h: added the functionality
	that used to live in gimpintl.h and removed the libgimp related
	stuff.

	* app/Makefile.am
	* app/gimp-intl.h: new file that defines the gettext macros for
	the GIMP core.

	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.

	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-25 16:38:19 +00:00
Manish Singh b8505dccc3 implemented plug-in debugging hooks. Also, use G_LOG_DOMAIN instead of
2003-02-09  Manish Singh  <yosh@gimp.org>

        * libgimp/gimp.c: implemented plug-in debugging hooks. Also, use
        G_LOG_DOMAIN instead of hardcoding "LibGimp" for g_log_set_handler.

        * devel-docs/debug-plug-ins.txt: documenyed here

        * devel-docs/Makefile.am: add new file
2003-02-09 20:49:38 +00:00
Michael Natterer bbc13c5199 removed gimp_help_init() and gimp_help_free(). Added _gimp_help_init()
2003-01-07  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: removed gimp_help_init() and
	gimp_help_free(). Added _gimp_help_init() instead.

	* libgimpwidgets/gimpwidgets.def: changed accordingly.

	* libgimpwidgets/gimpwidgets.c (gimp_widgets_init): call
	_gimp_help_init() so it doesn't need to be done in all plug-ins
	manually.

	* libgimp/gimpcompat.h: added gimp_help_init() and gimp_help_free()
	here as COMPAT_CRUFT.

	* app/gui/gui.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/AlienMap.c
	* plug-ins/common/AlienMap2.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/blur.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/gtm.c
	* plug-ins/common/illusion.c
	* plug-ins/common/jigsaw.c
	* plug-ins/common/plasma.c
	* plug-ins/common/polar.c
	* plug-ins/common/ps.c
	* plug-ins/common/randomize.c
	* plug-ins/common/sinus.c
	* plug-ins/common/snoise.c
	* plug-ins/common/sparkle.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/warp.c
	* plug-ins/common/wind.c
	* plug-ins/gap/gap_arr_dialog.c
	* plug-ins/gap/gap_mov_dialog.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/maze/maze_face.c
	* plug-ins/print/gimp_main_window.c
	* plug-ins/sel2path/sel2path.c: removed the calls to
	gimp_help_init() and gimp_help_free().

	Fixed bug #81017:

	* libgimpbase/gimpprotocol.[ch]: added "guint8 show_tool_tips"
	to the GPConfig message. Increased the protocol version number.

	* app/plug-in/plug-in.c: pass the value of gui_config->show_tool_tips.

	* libgimp/gimp.[ch]: added gimp_show_tool_tips() to get the value
	which was passed in the GPConfig message.

	* libgimp/gimpui.c (gimp_ui_init): disable the tooltips
	if show_tool_tips is FALSE.

	* plug-ins/MapObject/mapobject_main.[ch]
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/jigsaw.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gfig/gfig.c: removed all plug-in specific GUI for
	enabling/disabling tooltips.
2003-01-07 17:00:49 +00:00
Tor Lillqvist 5c547107a4 Drop makefile.mingw{,.in}.
2002-12-26  Tor Lillqvist  <tml@iki.fi>

	* app/Makefile.am (EXTRA_DIST): Drop makefile.mingw{,.in}.

	* libgimp/gimp.c: Define LIBGIMP_COMPILATION.
	(gimp_main) [Win32] Use g_ascii_strcasecmp().

	* libgimp/gimp.def: Add _readchannel (used by libgimpui).

	* libgimp/gimp.h: Fix minor typo in comment.

	* libgimp/Makefile.am: Similar additions for Win32 as in the other
	libgimp*/Makefile.am files: Use -no-undefined. Conditionally link
	to ../lib*/*.la as needed. Use the .def file. Produce MS style
	import library if possible. Install and uninstall import
	libraries. Don't distribute makefile.mingw{,.in}.
2002-12-26 00:11:03 +00:00
Nate Summers 1919031327 libgimp/gimp.[ch] libgimp/gimpdrawable.c added some documentation
* libgimp/gimp.[ch]
	* libgimp/gimpdrawable.c
 	* libgimp/gimpimage.c: added some documentation
2002-12-17 17:30:34 +00:00
James Henstridge dd87d9f127 handle GIMP_PDB_COLOR correctly. This fixes
2002-08-31  James Henstridge  <james@daa.com.au>

    * libgimp/gimp.c (gimp_run_procedure): handle GIMP_PDB_COLOR
    correctly.  This fixes gimp_palette_set_{back,fore}ground.
2002-08-30 17:05:37 +00:00
Michael Natterer dba356d815 libgimpbase/gimpprotocol.[ch] pass "gpointer user_data" to all functions,
2002-05-16  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]
	* libgimpbase/gimpwire.[ch]: pass "gpointer user_data" to all
	functions, which in gets turn passed to the registered reader,
	writer, and flusher funcs.

	* libgimp/gimp.c
	* libgimp/gimptile.c: pass NULL as user_data. We have only one
	pipe on the plug-in side.

	* app/plug-in/plug-in.c: pass the PlugIn as user_data. As a
	consequence, got rid of more global variables. The global
	"current_plug_in" and the plug_in_push()/pop() madness are still
	there. Will reeplace them by some less ugly hack later...

2002-05-16  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/tmpl/gimpprotocol.sgml
	* libgimpbase/tmpl/gimpwire.sgml: regenerated after API change.
2002-05-16 17:41:38 +00:00
Nate Summers e1db698bfd implement a new pluginrc flag, "has-init", so that only plug-ins with init
* app/plug-in/plug-in-rc.c: implement a new pluginrc flag,
 	"has-init", so that only plug-ins with init functions are
 	initialized.

	* app/plug-in/plug-in.ch
 	* libgimp/gimp.c
 	* libgimpbase/gimpprotocol.ch: send a new gimpwire message,
 	GP_HAS_INIT during the query stage if the plug-in needs to be
 	initialized.  Only invoke the plug-in in init mode if the plug-in
 	has an init function.
2002-02-12 07:59:16 +00:00
Nate Summers 3d5548b50b app/plug-in/plug-in.[ch] added support for the init function in plug-ins.
* app/plug-in/plug-in.[ch]
	* libgimp/gimp.c: added support for the init function in plug-ins.
2002-02-12 02:41:01 +00:00
Michael Natterer a109f0ff40 removed the "palette" PDB type again. Incremented protocol version.
2001-11-09  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpprotocol.[ch]: removed the "palette" PDB type
	again. Incremented protocol version.

	* app/plug_in.c
	* app/pdb/procedural_db.c
	* libgimp/gimp.c
	* libgimpbase/gimpbasetypes.h: changed accordingly.

	* app/pdb/procedural_db_cmds.c
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2001-11-09 19:04:41 +00:00
Nate Summers 6ffaf7317c app/plug_in.c libgimp/gimp.c libgimpbase/gimpbasetypes.h
* app/plug_in.c
 	* libgimp/gimp.c
	* libgimpbase/gimpbasetypes.h
 	* libgimpbase/gimpprotocol.c
 	* libgimpbase/gimpprotocol.h
 	* tools/pdbgen/pdb/palette.pdb: added preliminary pdb support to
 	manipulate palettes.  Incremented plugin interface version number.

 	* app/pdb/internal_procs.c
 	* app/pdb/palette_cmds.c
 	* app/pdb/procedural_db.c
	* app/pdb/procedural_db_cmds.c
	* libgimp/gimppalette_pdb.c
	* libgimp/gimppalette_pdb.h
 	* plug-ins/script-fu/script-fu-constants.c
 	* tools/pdbgen/enums.pl: regenerated
2001-10-28 00:53:42 +00:00
Sven Neumann 334911e271 require GTK+-1.3.8 and PangoFT2-0.19.
2001-09-19  Sven Neumann  <sven@gimp.org>

	* configure.in: require GTK+-1.3.8 and PangoFT2-0.19.

	* app/devices.c:
	* app/tools/gimppainttool.c: removed intermediate hacks that are no
	longer needed with the new GTK+ release.

	* app/plug_in.c
	* libgimp/gimp.[ch]
	* libgimp/gimpui.c
	* libgimpbase/gimpprotocol.[ch]: removed use_xshm and color_cube
	variables and accessor functions.

	* app/errors.c: use gtk_exit() instead of gdk_exit().

	* app/gdisplay.c: use Pango API to determine cursor label width. This
	does not work correctly, but at least it compiles...

	* app/gui/splash.c: follow Pango API changes.

	* app/tools/gimpcurvestool.[ch]: use PangoLayouts to draw text.

	* app/tools/gimptexttool.c: follow Pango API changes.

	* app/widgets/gimpfontselection-dialog.c
	* app/widgets/gimpfontselection.c: mostly rewritten following the
	changes in GtkFontSelection. This is unusable at the moment and
	crashes, but at least it compiles again...

	* plug-ins/Makefile.am: temporarily disabled build of ifscompose since
	it does not compile any longer after the latest GDK cleanups.

	* plug-ins/common/nlfilt.c: gimp_color_cube() is obsolete.
2001-09-19 14:42:35 +00:00
Michael Natterer 51f99c3259 app/plug_in.c libgimpbase/gimpwire.c removed GIOChannel
2001-08-30  Michael Natterer  <mitch@gimp.org>

	* app/plug_in.c
	* libgimpbase/gimpwire.c
	* libgimp/gimp.c: removed GIOChannel "channel->funcs->io_foo()"
	hacks and use plain g_io_channel_[read|write]_chars(). An
	additional g_io_channel_set_buffered (channel, FALSE); is needed
	to make the channels work in binary mode. Fixed misc other stuff
	in the GIOChannel code.

	* app/tools/gimpdrawtool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpdialogfactory.c
	* libgimpwidgets/gimpcolorarea.c
	* libgimp/gimpui.c: replaced some deprecated GDK functions.

	* app/gui/palette-editor.c: block the color_name entry's "changed"
	signal while setting it. Fixes invalid UTF-8 warnings.
2001-08-30 01:09:58 +00:00
Michael Natterer 98410c35a9 added -DG_DISABLE_DEPRECATED and -DGDK_DISABLE_COMPAT_H.
2001-08-29  Michael Natterer  <mitch@gimp.org>

	* configure.in: added -DG_DISABLE_DEPRECATED and
	-DGDK_DISABLE_COMPAT_H.

	* app/batch.c
	* app/file-utils.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/gimprc.[ch]
	* app/module_db.c
	* app/nav_window.c
	* app/undo_history.c
	* app/core/gimpgradient.c
	* app/core/gimpimagefile.c
	* app/core/gimppalette.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/error-console-dialog.c
	* app/gui/file-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/info-window.c
	* app/gui/menus.c
	* app/gui/palette-import-dialog.c
	* app/tools/gimpbycolorselecttool.c
	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpdatafactoryview.c
	* libgimp/gimpmenu.c
	* plug-ins/common/bz2.c
	* plug-ins/common/compose.c
	* plug-ins/common/csource.c
	* plug-ins/common/decompose.c
	* plug-ins/common/gz.c
	* plug-ins/common/uniteditor.c
	* plug-ins/common/wmf.c
	* plug-ins/common/xbm.c
	* plug-ins/rcm/rcm_dialog.c
	* plug-ins/script-fu/interp_slib.c
	* plug-ins/script-fu/script-fu-console.c
	* plug-ins/script-fu/script-fu-scripts.c
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gimprc.pdb
	* app/pdb/fileops_cmds.c
	* app/pdb/gimprc_cmds.c: removed deprecated stuff like
	g_basename(), g_dirname(), g_strup() and friends. Added some
	"const gchar *" declarations while I was on it. Added some
	G_N_ELEMENTS() macros instead of declaring a useless variable
	for the number of items.

	* app/widgets/gtkhwrapbox.[ch]
	* app/widgets/gtkvwrapbox.[ch]
	* app/widgets/gtkwrapbox.[ch]: replaced with the latest versions
	from GLE, ported by the master himself.

	* app/gui/toolbox.c: changed accordingly.

	* app/plug_in.c
	* libgimp/gimp.c
	* libgimpbase/gimpwire.[ch]: use evil hacks to get binary mode
	from the new GIOChannel implementation (upstream bugreport already
	posted).
2001-08-29 17:48:28 +00:00