2003-07-01 Sven Neumann <sven@gimp.org>
* plug-ins/ifscompose/ifscompose.[ch]
* plug-ins/ifscompose/ifscompose_utils.c: use Pango to draw text.
* plug-ins/ifscompose/ifscompose_storage.c: minor code cleanup.
2003-07-01 Michael Natterer <mitch@gimp.org>
* libgimp/gimpmenu.[ch]: removed all brush, font, gradient
and pattern related code.
* libgimp/gimpbrushselect.[ch]
* libgimp/gimpfontselect.[ch]
* libgimp/gimpgradientselect.[ch]
* libgimp/gimppatternselect.[ch]: new files containing the
wrappers around their resp. _pdb.[ch] files. Changed function
names to gimp_*_select_new(). Added gimp_*_select_destroy()
functions so we're not forced to leak all wrappers. Cleanup.
* libgimp/gimpbrushmenu.h
* libgimp/gimpfontmenu.h
* libgimp/gimpgradientmenu.h
* libgimp/gimppatternmenu.h: new files. Changed function names
here too.
* libgimp/gimpbrushmenu.c
* libgimp/gimpfontmenu.c
* libgimp/gimpgradientmenu.c
* libgimp/gimppatternmenu.c: changed accordingly. Free the
foo_select wrappers when they are no longer needed (generally,
free everthing instead of leaking everything). Lots of cleanup.
* libgimp/Makefile.am
* libgimp/gimp.def
* libgimp/gimpui.def: changed accordingly.
* libgimp/gimp.h
* libgimp/gimpui.h: include the new headers.
* libgimp/gimpcompat.h: added the old function names here.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/common/film.c
* plug-ins/gfig/gfig.c
* plug-ins/script-fu/script-fu-scripts.c: changed accordingly.
2003-07-01 Michael Natterer <mitch@gimp.org>
* libgimp/libgimp-docs.sgml
* libgimp/libgimp-sections.txt: follow libgimp cleanup, moved the
brush, font, gradient and pattern selection stuff to their own
sections.
* libgimp/tmpl/gimpfonts.sgml: removed.
* libgimp/tmpl/gimpbrushmenu.sgml
* libgimp/tmpl/gimpbrushselect.sgml
* libgimp/tmpl/gimpfontmenu.sgml
* libgimp/tmpl/gimpfontselect.sgml
* libgimp/tmpl/gimpgradientmenu.sgml
* libgimp/tmpl/gimpgradientselect.sgml
* libgimp/tmpl/gimppatternmenu.sgml
* libgimp/tmpl/gimppatternselect.sgml: new files.
* libgimp/tmpl/gimpbrushes.sgml
* libgimp/tmpl/gimpgradients.sgml
* libgimp/tmpl/gimpmenu.sgml
* libgimp/tmpl/gimppatterns.sgml: regenerated.
2003-06-28 Dave Neary <bolsh@gimp.org>
* plug-ins/common/pat.c: Save patterns with alpha
channels, and remove warning while loading patterns
with an alpha channel.
* app/core/gimppattern.c
* app/core/gimpdrawable-bucket-fill.c
* app/paint/gimpclone.c: Make cloning from a pattern
source, and bucket filling with a pattern, work when
there's an alpha channel present in the pattern.
I'm not particularly happy with this, because the only
way to tell whether there's an alpha channel or not is
by the number of bytes in the TempBuf the clone and
bucketfill routines get passed, which is rather
restrictive. It would be nice if a TempBuf had a
_has_alpha () method.
2003-06-26 Manish Singh <yosh@gimp.org>
* plug-ins/pygimp/gimpui.py: Missing self. reference. Fixes#115714.
* plug-ins/pygimp/gimpui.py: Move item.show() in Selector so that all
items are shown. Fixes bug #115715. Thanks to Dave Corrie for catching
both these.
* plug-ins/pygimp/gimpfu.py: Always register as type PLUGIN, to
reflect the recent changes in semantics.
* plug-ins/pygimp/plug-ins/gimpcons.py
* plug-ins/pygimp/plug-ins/pdbbrowse.py: s/extension/plug_in/ to
reflect above, for consistency.
* plug-ins/pygimp/gimpfu.py: Add a fail method which uses
gimp.message and then raises an error.
* plug-ins/pygimp/gimpmodule.c: remove declarations for
gimp_extension_ack and gimp_extension_process, they are in gimp.h.
* plug-ins/pygimp/gimpfu.py
* plug-ins/pygimp/gimpui.py
* plug-ins/pygimp/plug-ins/gimpcons.py
* plug-ins/pygimp/plug-ins/pdbbrowse.py: Added pygtk.require('2.0').
Fixes bug #115545.
2003-06-25 Sven Neumann <sven@gimp.org>
* app/text/gimptext-parasite.c (gimp_text_from_gdyntext_parasite):
attempt to convert text from locale encoding.
* app/vectors/gimpvectors-compat.c (gimp_vectors_compat_new):
allow paths with zero points (bug # 115955).
* plug-ins/script-fu/script-fu-server.c: if a connection to a
client is lost, invalidate file descriptors in the command queue.
Plugged a couple of memleaks.
2003-06-24 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scripts/Makefile.am
* plug-ins/script-fu/scripts/spyrogimp.scm
* plug-ins/script-fu/scripts/trochoid.scm: replaced Trochoid
script with the more advanced Spyrogimp (bug #115290).
* plug-ins/script-fu/scripts/grid-system.scm: renamed menu entry.
2003-06-22 Dave Neary <bolsh@gimp.org>
* configure.in
* plug-ins/common/Makefile.am
* plug-ins/common/jpeg.c: Add support for the keeping of EXIF
information in jpeg files. This is step 1 in the overall plan to
an all-singing, all-dancing metadata editor. Next step is to do
the same thing for TIFFs, then to do both properly as a number of
parasites rather than one big one, and then to allow a generic
metadata editor, as well as (possibly) adding a nice way to
manipulate exif data in the jpeg plug-in while saving.
This is a modified patch of one posted to the devel list by Lutz
Muller in February 2002, and subsequently added to bug #56443.
Sorry it took so long Lutz.
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 Sven Neumann <sven@gimp.org>
* libgimp/gimpmenu.c: when idle dispatching calls to plug-ins, use
the data from the last call, not the first one. This fixes some
weird behaviour that the brush/font/gradient/pattern selection
widgets showed under certain circumstances.
* plug-ins/gfig/gfig.c (select_brush_callback): removed debugging
output that I forgot to remove before my last commit.
2003-06-19 Sven Neumann <sven@gimp.org>
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/common/film.c
* plug-ins/script-fu/script-fu-scripts.c: adapt to libgimp API
changes.
2003-06-19 Hans Breuer <hans@breuer.org>
* makefile.msc : replace the win9x specific cd ....
with the portable cd ..\..\..
* **/makefile.msc : updated
* plug-ins/xjt/xjt.c plug-ins/common/psd_save.c :
there is still no unistd.h with msvc build
2003-06-17 Sven Neumann <sven@gimp.org>
* plug-ins/gfig/gfig.c: raise the brush selection dialog if there
is one already; various code cleanups. Fixes#82475.
2003-06-17 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scripts/select-to-brush.scm: added a missing
call to gimp-drawable-fill for the RGB case. Fixed description,
restore selection and delete the temporary channel. Fixes bug
#115350.
* plug-ins/common/gif.c: Attempt to use the palette colour
closest to that of the GIMP's current brush background colour
for the GIF file's background index hint for non-transparency-aware
image viewers. NOTE that this is merely a hint and may be
ignored by this plugin for various (rare) reasons that
would usually entail writing a somewhat larger image file.
2003-06-16 Michael Natterer <mitch@gimp.org>
* plug-ins/dbbrowser/dbbrowser_utils.c: minor cleanups.
(struct dbbrowser_t): use GimpDBBrowserApplyCallback type instead
of duplicating its signature when specifying the "apply_callback"
member. Minor cleanups
2003-06-16 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
use gimp_datafiles_read_directories() instead of doing the same
manually.
* plug-ins/script-fu/siod-wrapper.c (siod_init): s/gint/gboolean/.
2003-06-13 Michael Natterer <mitch@gimp.org>
Cleaned up and improved the message system:
* app/core/gimp.[ch]: added "const gchar *domain" to
GimpMessageFunc (a NULL domain means the message is from the GIMP
core, everything else is a plug-in).
* app/errors.c: pass "domain == NULL" to gimp_message().
* tools/pdbgen/pdb/message.pdb: derive the message domain from the
current plug-in's menu_path (evil hack but works reasonably well).
* app/pdb/message_cmds.c: regenerated.
* app/widgets/gimpwidgets-utils.[ch] (gimp_message_box): added a
header showing the message domain and changed the dialog layout to
follow the HIG more closely.
* app/gui/error-console-dialog.[ch]: removed.
* app/widgets/gimperrorconsole.[ch]
* app/gui/error-console-commands.[ch]
* app/gui/error-console-menu.[ch]: new files containing a
re-implementation of the error console dialog.
* app/gui/Makefile.am
* app/gui/dialogs-constructors.c
* app/gui/gui.c
* app/gui/menus.c
* app/widgets/Makefile.am
* app/widgets/widgets-types.h: changed accordingly.
* app/display/gimpprogress.c: added more spacing and removed the
separator (more HIG compliant).
* plug-ins/[most plug-ins].c: Changed lots of messages and
progress strings:
- Removed plug-in names from messages since that's automatically
covered by "domain" now.
- Put all filenames in ''.
- Changed "Loading" to "Opening".
- Added "..." to all progress messages.
- Cleaned up all file open/save error messages to look the
same and include g_strerror(errno).
- Removed special casing for progress bars and *always* show them,
not only if run_mode != GIMP_RUN_NONINTERACTIVE (we can't expect
all plug-ins to do this correctly but need to hack the core to
sort out unwanted progress bars).
Unrelated:
- Cleaned up indentation, spacing, #includes, coding style and
other stuff while I was at all these files.
2003-06-12 Dave Neary <bolsh@gimp.org>
* plug-ins/common/tga.c: Applied a patch from Yohei Honda
<yoh2@d2.dion.ne.jp> to handle 16 bit TGAs which use the
spare bit to do alpha. Closes bug #114913.
2003-06-11 Sven Neumann <sven@gimp.org>
* app/gui/info-window.c
* libgimpwidgets/gimpcolorscales.c
* libgimpwidgets/gimpcolorselect.c: applied some slightly modified
patches from Michael Bushey that fix rounding errors when
converting between color values in gdouble and guchar
representation (bug #109241).
* libgimpcolor/gimpcolorspace.c
* libgimpcolor/gimprgb.c: similar fixes here.
2003-06-11 Sven Neumann <sven@gimp.org>
* plug-ins/common/pnm.c (pnm_load_raw): improved handling of
invalid PGM files by clamping all pixel values to the specified
maximum value (see Debian bug #195066).
2003-06-10 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/scripts/coffee.scm: added an undo group
around all operations.
* plug-ins/script-fu/scripts/distress-selection.scm: replaced
undo disable/enable by an undo group.
Together fixes bug #114493. Removed weird spacing and indented
both scripts to make them readable.
2003-06-09 Sven Neumann <sven@gimp.org>
* configure.in
* plug-ins/Makefile.am: use automake conditionals for
subdirectories so that they will always be included in the
tarball.
2003-06-09 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_interface):
use a GimpScaleEntry for SF_SLIDER adjustments (bug #114509).
2003-06-06 Sven Neumann <sven@gimp.org>
* plug-ins/gfig/gfig.c (gfig_save_callbk): fixed broken usage of
g_strconcat() that caused a crash (bug #114564).
2003-06-06 Sven Neumann <sven@gimp.org>
* plug-ins/common/CML_explorer.c (CML_save_to_file_callback): use
gtk_window_present() instead of reimplementing its functionality.
2003-06-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_bounds): always return
channel->x1,y1,x2,y2, *not* tx1,ty1,tx2,ty2 since the latter
contain bogus values if the mask is empty. Fixes bug #114419.
* plug-ins/script-fu/scripts/unsharp-mask.scm: cleaned up
while searching the bug.
2003-06-05 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/scripts/predator.scm (script-fu-predator):
moved gimp-undo-push-group-end to the end of the script.
Fixes bug #114416.
2003-06-04 Michael Natterer <mitch@gimp.org>
* plug-ins/film/film.c: moved the "Reset" button to the "Advanced"
page since it only resets this page. Fixed widget packing and
spacing. Added more stock icons and mnemonics. Cleanup.
2003-06-04 Sven Neumann <sven@gimp.org>
* plug-ins/xjt/xjt.c: applied a patch from Wolfgang Hofer that
makes the plug-in use locale-independant code to convert floats to
strings and back.
* plug-ins/common/gifload.c: When initializing the LZW state,
watch out for a completely bogus input_code_size [based on fix
by Raphael Quinet] Also, fix a stupid old bug when clearing the
code table between subimages. (Enables us to deal better with errors
when the stream is corrupted pretty early in a subimage.) [me]