2000-05-31 Michael Natterer <mitch@gimp.org>
* app/gimpunit.c
* libgimp/*: all libgimp headers are included via gimp.h or
gimpui.h, so include <gtk/gtk.h> there and in the *.c files.
Various cleanups.
2000-05-29 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/paint_core.c
* app/paint_core_kernels.h: moved brush subsampling kernels
into its own header file and generated a slightly different
kernel (using the new kernelgen tool, see below). The new
kernel simulates a circular brush instead of a rectangular
one and gives slightly different (lighter) results.
* app/gimage_mask.c: when stroking a selection, offset the
points by 0.5 to align the brushes with the pixel grid. This
lets you create 1-pixel wide rectangles and ellipses.
* tools/Makefile.am
* tools/kernelgen.c: simple hack to generate subsampling
kernels.
2000-05-29 Tor Lillqvist <tml@iki.fi>
* gimprc.win32: Update to match Unix version.
* app/gimp.sym: Add dialog_{,un}register.
* app/dialog_handler.c: Include <gmodule.h>, mark above functions
with G_MODULE_EXPORT.
* app/makefile.{msc,cygwin}: Update to match current GLib 1.3.
* libgimp/gimp.def
* libgimp/gimpui.def: Update according to function name changes etc.
* libgimp/makefile.{msc,cygwin}: Update for changed file
names.
* libgimp/makefile.cygwin
* modules/makefile.cygwin: Simplify, use the
../build/win32/make.mingw file.
* plug-ins/common/gz.c (save_image): Somewhat more informative
error message on Win32 when gzip.exe isn't found (most probable
cause of error).
* tips/gimp_tips.txt: Clarify location of personal GIMP directory
on Unix and Windows.
2000-05-28 Michael Natterer <mitch@gimp.org>
* libgimp/gimp.h
* libgimp/gimpcolordisplay.h
* libgimp/gimpcolorselector.h
* libgimp/gimpmatrix.h
* libgimp/gimpmodule.h
* libgimp/gimpunit_pdb.c: purely cosmetic stuff and added some
typedefs to make the html documentation nicer. Moved the module
documentation from the headers to the sgml files.
* app/module_db.[ch]: The type of the "init" and "unload" functions
has changed. Code cleanup.
2000-05-28 Michael Natterer <mitch@gimp.org>
* libgimp/libgimp-decl.txt
* libgimp/libgimp-docs.sgml
* libgimp/libgimp-sections.txt
* libgimp/tmpl/gimp.sgml
* libgimp/tmpl/gimpcolorbutton.sgml
* libgimp/tmpl/gimpcolordisplay.sgml
* libgimp/tmpl/gimpcolorselector.sgml
* libgimp/tmpl/gimpcolorspace.sgml
* libgimp/tmpl/gimpcompat.sgml
* libgimp/tmpl/gimpenums.sgml
* libgimp/tmpl/gimpfeatures.sgml
* libgimp/tmpl/gimplimits.sgml
* libgimp/tmpl/gimpmath.sgml
* libgimp/tmpl/gimpmodule.sgml
* libgimp/tmpl/gimpparasite.sgml
* libgimp/tmpl/gimpparasiteio.sgml
* libgimp/tmpl/gimppixmap.sgml
* libgimp/tmpl/gimpprotocol.sgml
* libgimp/tmpl/gimpsignal.sgml
* libgimp/tmpl/gimpui.sgml
* libgimp/tmpl/gimpunit.sgml
* libgimp/tmpl/gimputils.sgml
* libgimp/tmpl/gimpvector.sgml
* libgimp/tmpl/gimpwire.sgml
* libgimp/tmpl/libgimp-unused.sgml: Moved the module documentation
from the libgimp headers here, updates, cleanups.
* app/gimpimage.c
--Fixed Fujita Yuji's bug (reported 27May2000 to
gimp-developer) -larger than 64x64 brush and
selection mask crashes smudge/dodgeburn/convolve
This was a rowstrides bug in gimp_image_replace_image.
2000-05-22 Sven Neumann <sven@gimp.org>
* app/tools.c: moved Magnify into the Transformation tools
category. This is not entirely correct, but at least the
tools are now grouped as they appear in the toolbox.
* plug-ins/common/flarefx.c: applied modified version of
gimp-timecop-200005-4.flarefx which adds a scaled down
flarefx to tthe preview.
--Sven
2000-05-21 Michael Natterer <mitch@gimp.org>
These changes enable help support for 3rd party plug-ins which
install their help files outside GIMP's main help dir.
Instead of calling gimp_help(), gimp_plugin_help_func() etc.,
all help callbacks now have to call gimp_standard_help_func()
which has different implementations in the app and in libgimp.
There is a new function gimp_plugin_help_register() which can
be called during plug-in query. plug_in.c keeps a list of
executable_name/help_path pairs. Plug-ins have to pass their
exec. name to gimp_help() which uses the list to find the plug-in's
help directory.
* app/gimphelp.[ch]: gimp_help() now takes a help_path parameter.
help_path == NULL means the standard help directory. Various
changes to pass the help_path to the help browser.
* app/gimprc.c: save the plug-in's help_path in the pluginrc file.
* app/menus.c: ugly hack to enable help_paths in the "F1" callback.
* app/plug_in.[ch]: many help_path related changes. Use g_basename()
instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups.
* app/internal_procs.c
* app/gimphelp_cmds.c
* tools/pdbgen/pdb/gimphelp.pdb: new procedure
gimp_plugin_help_register(). gimp_help() takes a second parameter
which is the executable name (not the help_path).
* app/color_notebook.c
* app/commands.c
* app/lc_dialog.c
* app/preferences_dialog.c
* app/tools.c: call gimp_standard_help_func() instead of gimp_help().
* libgimp/gimp.c: new function gimp_get_progname() which returns
the full path of the plug-in's executable.
* libgimp/gimp.h: export the new function,
removed gimp_plugin_help_func(), gimp_help() takes the executable
name as second parameter.
* libgimp/gimpcompat.h: added gimp_plugin_help_func().
* libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(),
changed the calls to gimp_help.
* libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead
of gimp_help().
* plug-ins/helpbrowser/helpbrowser.c: now called with an additional
help_path parameter. Various changes to enable
help_path != gimp_standard_help_path.
Unrelated stuff:
* app/batch.h: added missing GPL header.
* app/gimpunit.c: had a LGPL header, merged some fprintf's into
one call.
* app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/,
prototypes, indentation.
* app/resize.c: use less packing widgets. didn't find the "offset"
redraw bug :(
2000-05-20 Garry R. Osgood <gosgood@idt.net>
*app/docindex.c
Used feof(fp) as a hardware independent indicator, replacing
constructs comparing EOF (-1) to integers that once were unsigned
characters. Puts an end to infinite looping at line 239 giving rise to
#11578. See bug report; closes 11578.
2000-05-20 Sven Neumann <sven@gimp.org>
* plug-ins/webbrowser/web-browser.scm: added links to
Carey Bunks's "Gimp-Savvy" and "Grokking the GIMP" resources.
* libgimp/gimpwidgets.[ch]: use unsigned integers for the
memsize_entry. Added gimp_uint_adjustment_update().
* gimprc.[ch]
* preferences_dialog.c: use unsigned integers for memsizes
(tile_cache_size and max_new_image_size). Allows to set those
values up to 4GB. Fixes bug #11053.
2000-05-20 Sven Neumann <sven@gimp.org>
* app/transform_core.c (transform_core_cut): when transforming
a selection in an indexed image, we used to create an indexed
tile_buffer. This gives strange (black) results later when we
use layer_new_from_tiles() since that function assumes that a
TileManager is always RGB or GRAY. Eeek!!
Instead of fixing it correctly by changing the TileManager
struct, I've unset the keep_indexed flag when calling
gimage_mask_extract(), so whatever layer_new_from_tiles()
assumes becomes true. Fixes bug #10762.
--Sven
2000-05-17 Michael Natterer <mitch@gimp.org>
* app/plug_in.c: be a bit more verbose in the "Plug-In crashed"
message: Warn the user that Gimp's internal state may be messed
up and that the safe way is to restart Gimp.
Unified all plug-in error messages.
* libgimp/gimp.c: also changed to messages that the Gimp is using
a newer/older wire protocol than the plug-in.
2000-05-16 Michael Natterer <mitch@gimp.org>
* app/commands.c
* app/layers_dialog.c
* app/resize.c: set the scale/resize dialog insensitive before
scaling/resizing to keep users from pressing "OK" again.
Fixes#10656.
2000-05-16 Tor Lillqvist <tml@iki.fi>
* libgimp/gimpenv.c (gimp_path_parse)
* app/gimprc.c (transform_path): Don't try to handle tilde (~) at
all on Windows. The tilde is used when mangling long file names
into 8.3 form, and some people have a HOME environment variable
that contains this kind of 8.3 path with a tilde. This causes
interesting effects if we expand a tilde in some gimprc variable
with $HOME, which contains a tilde, which we expand with $HOME,
etc.
2000-05-12 Sven Neumann <sven@gimp.org>
* gimpdrawable.c: enabled the (commented out) signal
"invalidate_preview".
* app/layers_dialog.c: connect to the "invalidate_preview"
signal to catch changes that need to be shown in the layer
previews. Synthetize an expose event when a layer changes.
Expose events are optimzed away by GTK+ if the widget is not
visible. Therefore, previews not visible in the layers_dialog
are not redrawn when they invalidate. Later the preview gets
validated by the image_preview in lc_dialog but is never
propagated to the layer_pixmap. We work around this by using an
additional flag "layer_pixmap_valid" so that the pixmap gets
updated once the preview scrolls into sight.
Fixes bugs #10549, #10300 and #8787.
* app/channel.[ch]
* app/layer.[ch]: code review and indentation
--Sven
2000-05-10 Michael Natterer <mitch@gimp.org>
Another try to get the signal/dead child recovery stuff right.
Could the brave signal crew (TM) (Austin, Garry, Raphael, Tim)
please do bad tests to the new code? I removed all strange
constants (SA_NODEFER etc.) and used only glib and POSIX stuff.
* app/main.c
* libgimp/gimp.c:
- Call gimp_signal_private() with no flags to enforce a proper
sigaction() behaviour (block signals while handler is active).
- Removed the reentrancy guards from the handlers.
- Renamed the handlers.
- Ignore SIGPIPE in the app and in plugins.
- Re-introduced the SIGCHLD handler because it should work
now. Also added a SIGCHLD handler to libgimp/gimp.c.
* app/errors.c
* libgimp/gimp.c: in the signal handler, unblock all signals
with sigprocmask() before calling g_on_error_query() because
gdb otherwise inherits the blocked signals and does nothing.
Wrapped the statements with "if (TRUE) { }" blocks so it's
easy to make the stack trace a command line option.
* app/plug_in.c
* libgimp/gimp.c: listen for G_IO_ERR and G_IO_HUP on the read
channels. In the app, pop up an error message and clean up the
plugin. In plugins, clean up and exit.
* libgimp/gimpwire.c: removed the "plug-in chrashed?" message
and print the program's name with all error messages.
* plug-ins/helpbrowser/helpbrowser.c: typo.
* app/image_map.[ch]: new function image_map_clear that removes
the preview without freeing the image_map.
* app/brightness_contrast.c
* app/color_balance.c
* app/curves.c
* app/hue_saturation.c
* app/levels.c
* app/posterize.c
* app/threshold.c: Add a call to image_map_clear in the
preview toggle button callback. This makes the preview toggle
button behave as expected.
* app/histogram_tool: remove an unnecessary include.
2000-05-08 Michael Natterer <mitch@gimp.org>
* app/errors.c (gimp_fatal_error): oops, forgot a debugging
g_print().
* app/gdisplay.c (gdisplay_set_menu_sensitivity): there _can_ be
an active drawable even if there is no layer. Also reordered
the rest if the checks.
2000-05-08 Michael Natterer <mitch@gimp.org>
* app/fileops.c
* app/gdisplay.c: return silently from save/save_as and grey out
the menu entries if there is no active drawable. Fixes#10239.
2000-05-08 Michael Natterer <mitch@gimp.org>
* app/docindex.c (open_idea_window): put the ops_buttons box
into the action_area. Makes the dialog smaller.
* app/menus.c: in Image/Filters move all entries that are not
submenus to the top of the menu.
* app/plug_in.c: order all plugin menu-entries alphabetically
(in the current locale) before sending them to menus.c.
* plug-ins/script-fu/script-fu-scripts.c: order all script-fu
menu-entries alphabetically (in the current locale) before
registering them.
* plug-ins/script-fu/script-fu.c: minor cleanups
* plug-ins/bmp/bmpread.c
* plug-ins/bmp/bmpwrite.c
* plug-ins/xjt/xjt.c: strings used with g_message do not need
a trailing newline
--Sven
2000-05-07 Michael Natterer <mitch@gimp.org>
* app/app_procs.c
* app/docindex.[ch]: named all public functions document_index_*().
Don't loop/segfault when opening an old "ideas" file but silently
skip the first line.
* app/fileops.[ch]: do some file access sanity checks before
actually calling the load/save proc. Show the full file name
in all error messages. Use a query_boolean_box for the overwrite
warning. Made file_save() static.
Also copied some Win32 #define's from libgimp/gimpenv.c for the
file access stuff. Tor, could you have a look at them please?
* gimprc.in
* gimprc.win32
* app/gimprc.c: set default image size back to 256x256, default
to local paint options and info-window-follows-mouse.
* app/brightness_contrast.c
* app/docindex.c
* app/hue_saturation.c: picky changes on some labels.
* app/tips_dialog.c: applied (sort of) gimp-quinet-20000504-0,
which replaces the message "Show tip next time" in the
Tip Of The Day dialog with "Show tip next time GIMP starts".
--Sven
2000-05-06 Michael Natterer <mitch@gimp.org>
* app/menus.c (menus_reorder_plugins): no need to reorder
<Image>/Script-Fu twice.
* app/docindex.c: replaced the toolbar by an ops_buttons box.
Also default to opening the file instead of rising an already
open display.
2000-05-06 Michael Natterer <mitch@gimp.org>
* app/gimpdnd.[ch]: new public function gimp_dnd_file_dest_set().
Moved the file/url dnd stuff from interface.c to gimpdnd.c.
* app/docindex.c
* app/interface.c: use the function from gimpdnd.
2000-05-06 Michael Natterer <mitch@gimp.org>
* po/POTFILES.in
* app/Makefile.am
* app/docindexif.[ch]: removed because it was not doing core/ui
separation at all. UI functions were randomly scattered across
both files.
* app/app_procs.c
* app/docindex.[ch]: swallow all functions from docindex.c,
removed functions which were called just once, replaced the
tree by a list. Actually raise displays of already open images.
When opening a file which is already in the list, move it's entry
to the top; this way the toolbox' last_opened list finally works
as expected.
2000-05-05 Michael Natterer <mitch@gimp.org>
Made the document index a bit more like the rest of the dialogs:
* app/commands.[ch]
* app/menus.c: added a cmd_callback instead of calling a function
in docindex.c directly.
* app/gimprc.c
* app/session.[ch]: added proper session management.
* app/app_procs.c
* app/docindex.[ch]
* app/docindexif.[ch]: removed another bunch of useless variables
and functions. Removed the status bar because it was not telling
very useful stuff. Removed the window position/size from the
"ideas" file.
Note: you have to either remove your ~/.gimp-1.1/ideas file or
remove it's first line or experience a nice endless loop :)
2000-05-05 Jay Cox <jaycox@earthlink.net>
* app/pixel_processor.c: try to minimize the overhead of
multiprocessor support. This should fix bug #9296
but it has not been tested on a dual processor machine.
2000-05-03 Michael Natterer <mitch@gimp.org>
* app/layers_dialog.c: removed layers_dialog_idle_set_layer_focus()
because Wolfgang pointed out that it caused bad segfaults. This
fixes#10139 and #9844. OTOH this brings back the bug that the
active layers is sometimes not the selected one in the layers
dialog, grmpf.
* plug-ins/script-fu/script-fu-scripts.c: small cleanups.
* plug-ins/gap/README
* plug-ins/gap/gap_exchange_image.c
* plug-ins/gap/gap_lib.[ch]
* plug-ins/gap/gap_main.c
* plug-ins/gap/gap_mov_dialog.[ch]
* plug-ins/gap/gap_mov_exec.[ch]
* plug-ins/gap/gap_navigator_dialog.c: applied a patch from
Wolfgang Hofer <hof@hotbot.com>.
2000-05-02 Michael Natterer <mitch@gimp.org>
* app/main.c
* libgimp/gimp.c: as noticed by Garry, Tim, Raphael and probably
many others, my latest signal change introduced a Linuxism
which doesn't compile on any other UNIX system, eek.
s/SA_NOMASK/SA_NODEFER/ makes it compile and is hopefully
the last chapter in this saga.
2000-05-01 Michael Natterer <mitch@gimp.org>
* app/main.c
* libgimp/gimp.c: again... _do_ use gimp_signal_private() but
force it to behave like signal(). While on Linux it seems to
be ok to use both signal() and sigaction() (because signal() is
built on top of sigaction()), doing the same on other systems
is totally broken code. Thanks to Garry for pointing out this
portability issue.
* app/errors.c: s/vprintf/g_strdup_vprintf/
* libgimp/gimpsignal.[ch]: code formating paranoia.
2000-04-30 Michael Natterer <mitch@gimp.org>
* gimprc.in
* app/gimprc.[ch]: replaced "color-cube" by "min-colors".
* app/app_procs.c: read unitrc/gimprc before displaying the splash.
* app/colormaps.c: set min_colors and install_cmap before
initializing GdkRGB.
* app/gimprc.[ch]
* app/gimpunit.c: don't call the splash's progress_update function.
* app/plug_in.c: pass min_colors instead of color_cube to plugins.
* app/preferences_dialog.c: widget for min_colors.
* libgimp/gimp.[ch]: s/color_cube/min_colors/ but left
gimp_color_cube() there for source level compatibility.
* libgimp/gimpprotocol.[ch]: changed the GPConfig message
accordinly and increased the gimp protocol version number because
the change breaks binary compatibility. Also actually pass the
use_xshm variable over the wire (was only in the GPConfig struct
before).
Was it the right thing to do to increase the version number??
* libgimp/gimpui.c (gimp_ui_init): use the same code as the app
for initializing GdkRGB. Never explicitly activate Gdk's SHM
usage (only switch it off).
* app/main.c
* libgimp/gimp.c: reverted the handling of all signals except
SIGCHLD back to plain old signal() because those signals are
fatal anyway and sigaction() as used by gimp_signal_*() made
debugging (stacktrace) impossible.
* plug-ins/AlienMap/AlienMap.c
* plug-ins/AlienMap2/AlienMap2.c
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/bmp/bmp.c
* plug-ins/borderaverage/borderaverage.c
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/faxg3/faxg3.c
* plug-ins/fits/fits.c
* plug-ins/flame/flame.c
* plug-ins/fp/fp.c
* plug-ins/fp/fp_gtk.c
* plug-ins/gdyntext/Makefile.am
* plug-ins/gdyntext/gdyntext_ui.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/gfli/gfli.c
* plug-ins/gimpressionist/gimpressionist.c
* plug-ins/helpbrowser/helpbrowser.c
* plug-ins/ifscompose/ifscompose.c
* plug-ins/imagemap/Makefile.am
* plug-ins/imagemap/imap_main.c
* plug-ins/maze/maze_face.c
* plug-ins/mosaic/mosaic.c
* plug-ins/pagecurl/pagecurl.c
* plug-ins/print/print.c
* plug-ins/rcm/rcm_dialog.c
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/sel2path/Makefile.am
* plug-ins/sel2path/sel2path.c
* plug-ins/sgi/sgi.c
* plug-ins/sinus/sinus.c
* plug-ins/struc/struc.c
* plug-ins/webbrowser/webbrowser.c
* plug-ins/winsnap/winsnap.c
* plug-ins/xjt/xjt.c: use gimp_ui_init().
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c: only switch Gdk SHM usage off,
never on. Don't use gimp_ui_init() here because of libgck.
2000-04-30 Garry R. Osgood <gosgood@idt.net>
* app/main.c
* libgimp/gimpsignal.c [Documentation only]
Patches arising from Tim Mooney to fix#2742
which should (hopefully) die at this point.
removes on_sig_chld() from app/main() which
offers no meaningful functionality in light
of SA_NOCHLDSTOP.