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-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 Michael Natterer <mitch@gimp.org>
* libgimp/gimppixelrgn.c: cleaned up a bit: added missing
g_return_if_fail()s, iterate lists using for() loops, indentation.
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-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-10 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.[ch]: added new function
gimp_viewable_get_dummy_preview() which currently returns a
completely white and opaque TempBuf of the requested size. Added
this useless function because this is the place where to implement
a nicer preview if someone volunteers.
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: use the new function if
gimp->config->layer_previews is FALSE instead of returning no
preview at all. Fixes bug #112012.
Cleaned up the preview functions a bit and raised
the limit for drawable previews from 128x128 to 256x256.
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpdrawable_pdb.c: regenerated.
2004-02-07 Hans Breuer <hans@breuer.org>
* gimpdefs.msc : new file to keep common definitions for the msc build
* **/makefile.msc : use common defintions, e.g. GIMP_VER
* Makefile.am : add the former to EXTRA_DIST
2004-01-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-convert.[ch]: use gboolean instead of gint
for "alpha_dither" and "remove_dups" in all public and private
functions. Properly prototyped private functions. Minor cleanup.
* app/gui/convert-dialog.c: pass FALSE instead of 0.
* tools/pdbgen/pdb/convert.pdb: ditto. Also cleaned up a bit: use
generated checks and documentation for enums, removed duplicate
check for enum range (spotted by Kevin Cozens).
* app/pdb/convert_cmds.c
* libgimp/gimpconvert_pdb.c: regenerated.
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-21 Manish Singh <yosh@gimp.org>
* configure.in: modernized, made a lot of things m4 macros, and made
versioning a lot more finegrained, in anticipation for post-2.0.
* autogen.sh: bumped up libtool and glib minimum requirements to match
reality.
* gimp-2.0.pc.in
* gimpthumb-2.0.pc.in
* gimpui-2.0.pc.in: adapted to new versioning variables, and bring
in RT_LIBS when needed.
* */*/Makefile.am: adapted to new versioning variables.
2004-01-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: added help IDs for the libgimp
export and unit dialogs.
* libgimp/gimpexport.c
* libgimpwidgets/gimpunitmenu.c: replaced html links by the new
help IDs.
* plug-ins/*/*.c: replaced all html help links by help IDs. A
plug-in's help ID is its procedure name with '_' relaced by '-'.
(e.g. file_tiff_save's help ID is file-tiff-save)
Did some random indentation and whitespace cleanup.
2004-01-20 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/help.pdb: changed "prog_name" parameter of
gimp_help() to "help_domain". It's useless to pass the plug-in's
executable name to the core because the core already knows it.
Instead, enabled accessing arbitrary help domains via the
PDB. Passing NULL as help_domain will use the domain the plug-in
registered, or the GIMP main help domain if it didn't register a
domain.
* app/pdb/help_cmds.c
* libgimp/gimphelp_pdb.[ch]: regenerated.
* libgimp/gimpui.c (gimp_ui_help_func): pass NULL as help_domain.
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.
* plug-ins/common/plugindetails.c: clean up the code (use
gimp_table_attach_aligned() where needed).
* plug-ins/dbbrowser/dbbrowser.c:
* plug-ins/dbbrowser/dbbrowser_utils.c: changed tabs to spaces.
2004-01-12 Sven Neumann <sven@gimp.org>
* libgimp/gimpmenu.c (gimp_image_menu_new): call the callback with
the selected image which is not necessarily the requested one
(fixes bug #92586).
Also changed all menu constructors to always call the registered
callback even when the value is -1 because the menu is empty.
* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): run the
procedure even if there's no active GIMP display. The display and
screen is then taken from the current cursor position.
* app/gui/gui-vtable.c (gui_get_display_name): don't call
gimp_display_get_by_ID() unless gdisp_ID is > 0.
2004-01-06 Michael Natterer <mitch@gimp.org>
Enabled skipping enum values for either the PDB or GType
registration (don't always skip both targets):
* tools/gimp-mkenums: skip enum values only if there is a literal
"skip" (don't match "pdb-skip").
* tools/pdbgen/enumgen.pl: skip only "pdb-skip" values, not "skip"
ones.
* app/base/base-enums.h
* app/core/core-enums.h
* app/paint/paint-enums.h
* libgimpbase/gimpbaseenums.h: use the right "pdb-skip"/"skip"
combination to skip enum values. Changed comments accordingly.
Cleaned up the fill functions:
* app/core/core-enums.[ch]: added GIMP_PATTERN_FILL enum value to
the GimpFillType enum. Don't export GIMP_NO_FILL to the PDB
because it's completely useless to export a NOP.
* app/core/gimp-edit.c (gimp_edit_fill, gimp_edit_fill_internal):
handle pattern fill requests.
* app/core/gimpdrawable.[ch] (gimp_drawable_fill): added GimpPattern
parameter and fill with it if it's non-NULL.
(gimp_drawable_fill_by_type): handle pattern fill and pass the
current pattern to gimp_drawable_fill().
* app/text/gimptextlayer.c: changed accordingly.
* app/gui/edit-commands.c
* app/gui/image-menu.c: use gimp_edit_fill() instead of
gimp_drawable_bucket_fill() for FG, BG and pattern filling.
* libgimp/gimpcompat.h
* plug-ins/script-fu/siod-wrapper.c: removed NO_IMAGE_FILL compat
enum value. It should have never been exported to the PDB.
* app/pdb/drawable_cmds.c
* app/pdb/edit_cmds.c
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
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-26 Sven Neumann <sven@gimp.org>
* libgimp/gimpmisc.[ch]: applied a modified version of a patch
from Maurits Rijk that cleans up the remaining API (bug #125141).
* plug-ins/common/curve_bend.c
* plug-ins/common/displace.c
* plug-ins/common/edge.c
* plug-ins/common/illusion.c
* plug-ins/common/shift.c
* plug-ins/gflare/gflare.c: changed accordingly.
2003-12-14 Raphaël Quinet <quinet@gamers.org>
* libgimp/gimpui.h: Removed inclusion of libgimp/gimpmiscui.h,
which is gone now. Looks like another forgotten commit. It was
breaking the build (ouch! bad DindinX!). ;-)
* plug-ins/FractalExplorer/Dialogs.c:
* plug-ins/gfig/gfig.c:
* plug-ins/gflare/gflare.c: Don't call gimp_plug_in_get_path(), since
it doesn't really help, call gimp_gimprc_query() instead and display
an error message in case of problem. Aka move the code from
gimpmiscui back to these plug-ins.
* libgimp/gimpmiscui.[ch]: removed these file.
* libgimp/Makefile.am: changed accordlingly.
* plug-ins/libgimpoldpreview/gimpoldpreview.c: removed
gimp_plug_in_get_path() from here also, since I forgot to do this in
my previous commits (ouch! bad DindinX!).
All this partly close#125141.
2003-12-12 Hans Breuer <hans@breuer.org>
[
I've postponed my reservations against pangoft2/fontconfig/freetype2
usage, so The Gimp should now build with msvc without patching it.
]
* app/makefile.msc app/text/makefile.msc : use $(PANGOFT2_CFLAGS) etc.
* libgimpthumb/makefile.msc : (new file)
* makefile.msc : added libgimpthumb
* libgimpthumb/gimpthumbnail.c : include gimpwin32-io.h
* libgimpthumb/gimpthumb-utils.c : don't compare size pointer
with GIMP_THUMB_SIZE_FAIL but *size
* plug-ins/makefile.msc : handle libgimpoldpreview
* plug-ins/common/decompose.c : define cbrt() if not __GLIBC__
* plug-ins/common/winclipboard.c : make it compile without gimpcompat.h
* plug-ins/imagemap/imagemap_csim_lex.c : its a generated file
but still win32/msvc has no unistd.h
* plug-ins/pygimp/makefile.msc : (new file) to use the binary you
need to patch glib, see bug #98737
* plug-ins/libgimpoldpreview.c : use <libgimp/gimp.h> instead of "gimp.h"
* **/Makefile.am : added makefile.msc to EXTRA_DIST
2003-12-12 Michael Natterer <mitch@gimp.org>
* libgimp/gimplayer.h: removed preserve_transparency #defines.
This is the last of the #defines we added before 1.2 to create a
saner libgimp API (this time, removed the function names that were
planned to be the new ones, because this one is just nitpicky and
overly long).
* libgimp/gimpcompat.h: added them here.
* plug-ins/common/iwarp.c
* plug-ins/common/psd.c
* plug-ins/common/psd_save.c
* plug-ins/common/psp.c
* plug-ins/common/rotate.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/vpropagate.c
* plug-ins/xjt/xjt.c: changed accordingly.
2003-12-12 Michael Natterer <mitch@gimp.org>
* libgimp/libgimp-sections.txt
* libgimp/tmpl/gimplayer.sgml: follow preserve_transparency removal.
2003-12-09 Michael Natterer <mitch@gimp.org>
Fixed memory management of layers and channels which were created
using the PDB:
* app/core/gimpitem.[ch]: added "gboolean floating" flag to
GimpItem. Items are created with floating == TRUE. Added
gimp_item_sink() which resets the floating flag and unrefs the
item if it was TRUE. Added gimp_item_is_floating() accessor.
* app/core/gimpimage.c (gimp_image_add_layer,channel,vectors):
g_object_ref()/gimp_item_sink() added items to take ownership of
them.
* app/core/gimplayer.c (gimp_layer_add_mask):
g_object_ref()/gimp_item_sink() the mask.
* app/gui/layers-commands.c
* app/xcf/xcf-load.c: don't unref layer masks after adding them to
the layer.
* tools/pdbgen/pdb/drawable.pdb (drawable_delete):
gimp_item_sink() the drawable if it's floating and fail if it's
not. Fixes bug #128881.
* tools/pdbgen/pdb/layer.pdb (layer_create_mask): fixed docs.
* app/pdb/drawable_cmds.c
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.c: regenerated.
2003-12-08 Michael Natterer <mitch@gimp.org>
Some PDB fixes/cosmetics before doing real changes again:
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/layer.pdb: changed order of generated functions
to make more sense.
* tools/pdbgen/pdb/misc_tools.pdb: doc cosmetics, removed unused
subroutines.
* tools/pdbgen/pdb/image.pdb: reordered generated functions as
above, fixed resolution and unit accessors to use functions
instead of setting gimage->foo directly, use &image_accessors()
for the tattoo_state functions, cleanup.
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/misc_tools_cmds.c
* libgimp/gimpdrawable_pdb.[ch]
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimplayer_pdb.[ch]
* libgimp/gimpmisctools_pdb.c: regenerated.