Commit Graph

30 Commits

Author SHA1 Message Date
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
Michael Natterer fe19ad9706 Bug 683694 - Spelling errors
Reworded all places that used to say "allows to".
2012-11-11 15:50:25 +01:00
Michael Natterer 0a5059da51 Bug 685445 - color-to-alpha plugin crashes (use-after-free)
gimp_tile_put(): make sure we don't free libgimp's tile data twice in
the non-SHM case. I could never reproduce the bug, but I'm pretty sure
this fixes it. The change in gimpprotocol.c is just cleanup.
2012-10-22 19:03:00 +02:00
Michael Natterer 7e17a1e42e libgimp: deprecate the entire legacy pixel fiddling api
which generates a gazillion warnings in plug-ins, a perfect guide
where to do porting.
2012-05-03 01:51:39 +02:00
Michael Natterer c78e4c8d63 libgimp: move docs from template files to inline comments
Also split up the "tools" docs into separate files so it matches
the new autogenerated PDB section headers.
2010-07-07 11:48:10 +02: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 f2df31a50e converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* libgimp*/gimp*.[ch]: converted tabs to spaces.
2006-04-12 10:53:28 +00:00
Michael Natterer 15118f184a silence warning about unused return value of g_list_concat().
2006-04-02  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimptile.c (gimp_tile_cache_insert): silence warning
	about unused return value of g_list_concat().
2006-04-02 16:12:03 +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 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 bd427b2e4d libgimpbase/Makefile.am libgimpbase/gimpbase.h libgimpbase/gimpbase.def
2004-07-27  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpbase.def
	* libgimpbase/gimpmemsize.[ch]: added new files with memsize
	related functions (moved here from gimputil.c) and
	GIMP_TYPE_MEMSIZE (moved here from app/config/gimpconfig-types.[ch]).

	* libgimpbase/gimputils.[ch]: removed gimp_memsize_to_string() here.

	* libgimpbase/gimpunit.[ch]: added GIMP_TYPE_UNIT (moved here from
	app/config/gimpconfig-types.[ch]).

	* libgimpbase/gimpbase-private.c
	* libgimp/gimptile.c
	* libgimp/gimpunitcache.c
	* plug-ins/help/domain.c
	* app/xcf/xcf-read.c: need to include glib-object.h.

	* plug-ins/common/uniteditor.c: use GIMP_TYPE_UNIT.

	* app/config/gimpconfig-types.[ch]: removed code that lives in
	libgimpbase now.

	* app/config/gimpconfig-deserialize.c: changed accordingly.

	* app/config/gimpbaseconfig.c
	* app/config/gimpdisplayconfig.c
	* app/core/gimpcontext.c
	* app/gui/grid-dialog.c
	* app/tools/gimpcolortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpunitstore.c: no need to include gimpconfig-types.h
	any longer.
2004-07-27 16:39:00 +00:00
Michael Natterer 1434675850 new inernal function which removes all tiles from a given drawable from
2004-02-16  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimptile.[ch] (_gimp_tile_cache_flush_drawable): new
	inernal function which removes all tiles from a given drawable
	from the cache.

	* libgimp/gimpdrawable.c (gimp_drawable_detach): call the new
	function before freeing the tiles. Fixes bug #134562.
2004-02-16 21:57:01 +00:00
Sven Neumann 5c6a6662bb partly rewritten. Instead of removing the list element from the hash
2004-02-16  Sven Neumann  <sven@gimp.org>

	* libgimp/gimptile.c (gimp_tile_cache_insert): partly rewritten.
	Instead of removing the list element from the hash table, freeing
	it, allocating a new one and inserting it again, simply move it to
	the end of the list without touching the hash table at all.
2004-02-16 18:00:25 +00:00
Michael Natterer acbc6ead6a warn and return NULL instead of a meaningless struct for invalid
2004-02-15  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpdrawable.c (gimp_drawable_get): warn and return NULL
	instead of a meaningless struct for invalid drawable_IDs. Will
	make buggy plug-ins crash earlier and more reliably.

	Replaced all if(drawable) by g_return_if_fail(drawable != NULL)

	* libgimp/gimptile.c (gimp_tile_ref): replaced if(tile)
	by g_return_if_fail(tile != NULL)

	(gimp_tile_unref): g_return_if_fail(tile->ref_count > 0)
2004-02-15 22:18:17 +00:00
Sven Neumann 6ebaccd6d1 code cleanup and some documentation.
2003-10-13  Sven Neumann  <sven@gimp.org>

	* libgimp/gimptile.c: code cleanup and some documentation.
2003-10-13 16:52:49 +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
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
Sven Neumann fe0bf162c1 removed FINITE() macro.
2002-05-13  Sven Neumann  <sven@gimp.org>

	* libgimpmath/gimpmath.h: removed FINITE() macro.

	* tools/pdbgen/pdb/image.pdb
	* app/pdb/image_cmds.c: define FINITE() here, where it is used.

	* tools/pdbgen/pdb/lib.pl: add "config.h" to all generated libgimp
	.c files.

	* libgimp/gimp*_pdb.c: regenerated.

	* libgimp/gimpbrushmenu.c
	* libgimp/gimpchannel.c
	* libgimp/gimpdrawable.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimphelp.c
	* libgimp/gimpimage.c
	* libgimp/gimplayer.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimppixelrgn.c
	* libgimp/gimpproceduraldb.c
	* libgimp/gimpselection.c
	* libgimp/gimptile.c
	* libgimp/gimpui.c
	* libgimpmath/gimpmatrix.c
	* libgimpmath/gimpvector.c
	* plug-ins/MapObject/arcball.c
	* plug-ins/fp/fp_gdk.c
	* plug-ins/fp/fp_misc.c
	* plug-ins/ifscompose/ifscompose_storage.c
	* plug-ins/ifscompose/ifscompose_utils.c
	* plug-ins/maze/handy.c
	* plug-ins/rcm/rcm_gdk.c
	* plug-ins/sel2path/edge.c
	* plug-ins/xjt/xjpeg.c
	* plug-ins/xjt/xpdb_calls.c: include "config.h".
2002-05-13 23:30:23 +00:00
Michael Natterer 593043a1b6 fixed a FIXME: set the sensitivity of the color tools' menu entries again.
2001-06-14  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.c: fixed a FIXME: set the sensitivity of the
	color tools' menu entries again.

	* libgimp/gimpcolorselector.h
	* libgimp/gimpdrawable.h
	* libgimp/gimpmenu.h: removed the usage of "id" from the public
	interface because it's a reserved keyword of Objective C.

	* libgimp/gimpdrawable.c
	* libgimp/gimptile.c

	* plug-ins/[lotsa plugins].c: changed accordingly.
2001-06-14 20:07:38 +00:00
Michael Natterer 7d1375e949 Makefile.am configure.in added new directory libgimpbase/
2001-05-21  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* configure.in
	* gimptool-1.4.in: added new directory libgimpbase/

	* app/Makefile.am: link against the new lib.

	* app/appenums.h: removed the PDB enums which are in
	libgimpbase/gimpbasetypes.h now. They are all "Gimp" prefixed.

	* app/apptypes.h: #include "libgimpbase/gimpbasetypes.h"

	* app/[lots]
	* app/core/[of]
	* app/gui/[files]
	* app/tools/: changed includes and all PDB types.

	* app/pdb/*: regenerated.

	* libgimp/Makefile.am: don't build libgimpi.a uglyness any more.

	* libgimp/gimpenv.[ch]
	* libgimp/gimplimits.[hh]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimpparasiteio.[ch]
	* libgimp/gimpprotocol.[ch]
	* libgimp/gimpsignal.[ch]
	* libgimp/gimpunit.h
	* libgimp/gimputils.[ch]
	* libgimp/gimpwire.[ch]: removed...

	* libgimpbase/*: ...and added here as new library.

	* libgimp/gimp.[ch]
	* libgimp/gimpdrawable.[ch]
	* libgimp/gimpenums.h
	* libgimp/gimpimage.[ch]
	* libgimp/gimptile.c
	* libgimp/gimptypes.h
	* libgimp/gimpunit.c: changed accordingly. Added the
	gimp_*_add_new_parasite to gimp.[ch], gimpdrawable.[ch] and
	gimpimage.[ch].

	* libgimpwidgets/gimppatheditor.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpsizeentry.c
	* libgimpwidgets/gimpunitmenu.c
	* libgimpwidgets/gimpwidgets.c
	* libgimpwidgets/gimpwidgetstypes.h: changed includes accordingly.

	* plug-ins/*/Makefile.am
	* plug-ins/common/mkgen.pl: link against libgimpbase.

	* tools/pdbgen/Makefile.am: scan libgimpbase/gimpbasetypes.h, so
	the enums are known to pdbgen...

	* tools/pdbgen/enumcode.pl: ...but don't write them out to
	libgimp/gimpenums.h

	* tools/pdbgen/app.pl: include libgimp/gimpbase.h in all *_cmds.c
	files. Added GIMP_ to the type names ganerated in app/.

	* tools/pdbgen/enums.pl: regenerated.

	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/procedural_db.pdb
	* tools/pdbgen/pdb/unit.pdb: changed includes.
2001-05-21 13:58:46 +00:00
Michael Natterer 053af2f1c9 Sven Neumann <sven@gimp.org>
2000-05-31  Michael Natterer  <mitch@gimp.org>
	    Sven Neumann  <sven@gimp.org>

	* libgimp/Makefile.am
	* libgimp/gimpchannel_pdb.h
	* libgimp/gimpdisplay_pdb.h
	* libgimp/gimpdrawable_pdb.h
	* libgimp/gimpgradient_pdb.h
	* libgimp/gimphelp_pdb.h
	* libgimp/gimpimage_pdb.h
	* libgimp/gimplayer_pdb.h
	* libgimp/gimpparasite_pdb.h
	* libgimp/gimpselection_pdb.h
	* libgimp/gimpunit_pdb.h
	* libgimp/gimpdrawable.[ch]
	* libgimp/gimphelp.c
	* libgimp/gimppixelrgn.h
	* libgimp/gimptile.h: new files

	* libgimp/gimp.[ch]
	* libgimp/gimpchannel_pdb.c
	* libgimp/gimpdrawable_pdb.c
	* libgimp/gimpgradient_pdb.c
	* libgimp/gimppalette_pdb.c
	* libgimp/gimpselection_pdb.c
	* libgimp/gimphelp_pdb.c
	* libgimp/gimpimage_pdb.c
	* libgimp/gimplayer_pdb.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmenu.[ch]
	* libgimp/gimppatternmenu.c
	* libgimp/gimppixelrgn.c
	* libgimp/gimptile.c: part III of the (final) libgimp cleanup

	Split gimp.h into a bunch of headers. More or less finished the
	task of moving PDB wrappers into separate files in preparation
	of the upcoming autogen-it-all-attack.

	* libgimp/gimpcompat.h: declared the following functions obsolete:
	gimp_[channel|layer]_[width|height]
	gimp_layer_[bpp|type]
	gimp_channel_get_[image|layer]_ID

	* libgimp/gimptypes.h: new file:
	GPlugInInfo
	GTile
	GDrawable
	GPixelRgn
	GParamColor
	GParamRegion
	GParamData
	GParamDef
	GParam: s/G/Gimp/

	* app/gimphelp_cmds.c
	* app/plug_in_cmds.c
	* tools/pdbgen/pdb/gimphelp.pdb
	* tools/pdbgen/pdb/plug_in.pdb: changed help texts.
2000-05-31 06:15:06 +00:00
Marc Lehmann df8b445be6 *** empty log message *** 1999-11-17 21:13:50 +00:00
Tor Lillqvist 951c92a602 Second batch of Win32 merge. 1999-03-07 12:56:03 +00:00
Marc Lehmann f12faae82a *** empty log message *** 1999-02-14 22:56:10 +00:00
BST 1998 Andy Thomas dbb801e2d6 app/blend.c app/brush_select.c app/brush_select.h app/bucket_fill.c
Sat Sep 19 01:19:18 BST 1998 Andy Thomas <alt@picnic.demon.co.uk>

	* app/blend.c app/brush_select.c app/brush_select.h app/bucket_fill.c
	app/gimpbrushlist.c app/internal_procs.c app/plug_in.c libgimp/gimp.c
	libgimp/gimp.h libgimp/gimpmenu.c libgimp/gimptile.c
	plug-ins/gfig/gfig.c

	Infrastructure to allow gimp dialogs to be controlled from plugins.
	Brush dialog can now be invoked multiple times. Dialogs invoked
	via plugins do not control the active brush (dialog only used for
	selections).
	New gimp_interactive_selection_brush() function to popup dialog
	Example of usage in the gfig plugin.
	Other dialogs should be able to use this method of invocation.
1998-09-19 00:40:27 +00:00
Manish Singh 6ddbb705a3 more g_message changes
* more g_message changes

* CEL plugin update

* INSTALL: info on why plugins don't get built

-Yosh
1998-05-30 07:32:37 +00:00
Manish Singh 84abd5d700 Have fun recompiling gimp everyone. It's the great FSF address change!
-Yosh
1998-04-13 05:44:11 +00:00
Manish Singh 2afd3ffb75 From the Changelog:
* Makefile.am: don't do docs generation by default

        * configure.in: -lXt for webbrowser plugin

        * libgimp/gimp.c
        * libgimp/gimpprotocol.c
        * libgimp/gimptile.c
        * libgimp/gimpwire.c
        * app/plug_in.c: applied memory leak patch from Mattias Gronlund

        * app/eraser.c
        * app/eraser.h
        * app/internal_procs.c
        * app/paintbrush.c
        * app/paintbrush.h: incremental modes for eraser and paintbrush,
        as well as a "hard eraser"

        * plug-ins/ifscompose/ifscompose.c: pixmap visual fixups

-Yosh
1998-03-01 01:18:45 +00:00
Manish Singh 92ab4b4278 Placed libgimp under LGPL
-Yosh
1998-01-25 10:26:47 +00:00
Elliot Lee 32cefec8f7 Initial revision 1997-11-24 22:05:25 +00:00