2000-06-09 Michael Natterer <mitch@gimp.org>
Cursor patch II:
This is only the logic inside the cursor system and not yet used.
* app/cursorutil.[ch]: [gimp]_change_win_cursor() take lots of
parameters now and compose cursors from up to three cursor
bitmaps/masks.
* app/gdisplay.[ch]: As a test, create a hardcoded example cursor
if "Cursor Mode" is set to "Tool Icon with Crosshair" in prefs.
* app/curves.c
* app/dialog_handler.c
* app/scroll.c: changed the calls to the win_cursor function.
* app/tools.[ch]: added a cursor and a toggle cursor to the ToolInfo
structure of all tools.
* app/toolsF.h: new ToolType TOOL_TYPE_NONE.
* app/gimpdnd.c
* app/interface.c: check for silly filenames in the file dnd
callback. Closes#13733.
* Makefile.am
* cursors/bucket_fill_small.xbm
* cursors/bucket_fill_small_mask.xbm
* cursors/crop_small.xbm
* cursors/crop_small_mask.xbm
* cursors/crosshair_small.xbm
* cursors/crosshair_small_mask.xbm
* cursors/ellipse_select_small.xbm
* cursors/ellipse_select_small_mask.xbm
* cursors/eraser_small.xbm
* cursors/eraser_small_mask.xbm
* cursors/free_select_small.xbm
* cursors/free_select_small_mask.xbm
* cursors/fuzzy_select_small.xbm
* cursors/fuzzy_select_small_mask.xbm
* cursors/intersect.xbm
* cursors/intersect_mask.xbm
* cursors/minus.xbm
* cursors/minus_mask.xbm
* cursors/move.xbm
* cursors/move_mask.xbm
* cursors/paintbrush_small.xbm
* cursors/paintbrush_small_mask.xbm
* cursors/pencil_small.xbm
* cursors/pencil_small_mask.xbm
* cursors/plus.xbm
* cursors/plus_mask.xbm
* cursors/rect_select_small.xbm
* cursors/rect_select_small_mask.xbm
* cursors/resize_small.xbm
* cursors/resize_small_mask.xbm
* cursors/zoom.xbm
* cursors/zoom_mask.xbm
* cursors/zoom_small.xbm
* cursors/zoom_small_mask.xbm: new files extracted from Tigert's
gimp-tool-cursors.xcf created at GimpCon.
Tigert, I'll commit the xcf as soon as I've added empty layers
with the names of the cursors that are missing.
* cursors/mouse.xbm
* cursors/mouse_mask.xbm: made it 32x32 to allow for cursor
composition.
2000-06-08 Sven Neumann <sven@gimp.org>
* app/eraser.c: as suggested by Daniel Egger, set
TOOL_CAN_HANDLE_CHANGING_BRUSH for the eraser tool.
Fixes bug #13172.
2000-06-08 Sven Neumann <sven@gimp.org>
* app/qmask.c: call undo_push_qmask() before removing the
channel since the callback will set the qmask_state
incorrectly otherwise. Fixes bug #13472.
* app/undo.[ch]: code cleanup
* plug-ins/common/gif.c: put save_comment into the values
that are stored between calls to the GIF plug-in, so it
remembers if the user wants to save the comment. Fixes
bug #12755.
* app/layers_dialog.c: Disable the "Add Layermask" menuentry
for indexed images.
* app/gimpimage.c: Leave gimp_image_add_layer_mask(...) after
spitting out messages when trying to add a layermask to an
indexed image.
-Yosh
2000-06-07 Sven Neumann <sven@gimp.org>
* app/pixel_region.c: applied patch provided by Daniel Egger:
store the result of tile_bpp() into a variable and use it
instead of calling it over and over again in the inner loop.
* app/pixel_region.h
* app/pixel_regionP.h:
Did some additional indentation and code cleanup.
2000-06-07 Sven Neumann <sven@gimp.org>
* Makefile.am: sorry, there's no build directory
* app/plug_in.c (plug_in_temp_run): uncommented the call to
plug_in_pop(). This seems to solve the longstanding problem
that made temporary procedures like Script-Fu fail when
called from plug-ins.
2000-06-07 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Add the build subdirectory (which contains a copy
of the build module).
* app/makefile.cygwin
* libgimp/makefile.cygwin
* modules/makefile.cygwin
* plug-ins/makefile.cygwin: Include make.mingw from build/win32,
simplify accordingly.
2000-06-07 Tor Lillqvist <tml@iki.fi>
* app/gimphelp.c (gimp_help_netscape): Test for help_path being
non-NULL was wrong way.
* app/preferences_dialog.c (file_pref_cmd_callback): Change
"From X Server" to "From windowing system".
* app/makefile.cygwin: Update according to file name changes.
* libgimp/gimp.def
* libgimp/gimpui.def
* libgimp/makefile.{cygwin,msc}: Update for Mitch's and Sven's
changes.
* plug-ins/libgck/gck/gckcolor.c: Include <glib.h> before
gimpmath.h, so G_PI don't get redefined when glib.h is included
later.
From Hans Breuer, portability fixes for MSVC compilation:
* app/dialog_handler.h: Bypass decalration of exported functions
which are marked with G_MODULE_EXPORT in dialog_handler.c when
compiling that file. Otherwise some compilers will get confused.
* app/dialog_handler.c: Define a test macro for above bypass.
* plug-ins/MapObject/mapobject_apply.c
* plug-ins/MapObject/mapobject_image.c
* plug-ins/MapObject/mapobject_shade.c: Include <string.h>.
* plug-ins/flame/flame.c: Define S_ISREG if needed.
* plug-ins/makefile.{cygwin,msc}: Updates.
* plug-ins/sel2path/global.h: Include <stdlib.h>.
* plug-ins/winsnap/winsnap.c: Include libgimp/gimpui.h.
2000-06-06 Michael Natterer <mitch@gimp.org>
* Makefile.am
* cursors/crosshair.xbm
* cursors/crosshair_mask.xbm: new files.
* app/cursorutil.[ch]
* app/gdisplay.[ch]
* app/gimprc.[ch]
* app/preferences_dialog.c: Started to add the new set of
consistent tool cursors. The crosshair one is the easy part
but I wanted to see a result :) The other two options in
the pref's cursor menu are still dummys.
2000-06-05 Sven Neumann <sven@gimp.org>
* app/paint_core.[ch]: indentation, no real changes
* plug-ins/gap/README
* plug-ins/gap/gap_mov_dialog.c
* plug-ins/gap/gap_mov_exec.c: applied a patch from Wolfgang
Hofer
* plug-ins/imagemap/imap_csim.y: applied a patch from
Maurits Rijk which promises to fix bug #10090.
Yosh, could you regenerate the C code, please...?!
* tips/gimp_tips.txt: applied gimp-quinet-20000508-0.patch,
an update to the english tips file provided by Raphael Quinet.
Sun Jun 4 20:17:25 2000 CET Austin Donnelly <austin@gimp.org>
* app/paths_dialog.c: run the sel2path plugin with a proper
display ID - previously we were using a _drawable_ ID as the
display ID: a blatant type mismatch.
* plug-ins/sel2path/pxl-outline.c: progress bar on
selection-to-path. Also, small optimization to inner loop:
cache the max values of the loops rather than needing a
function call per loop iteration (ouch!).
2000-06-04 Sven Neumann <sven@gimp.org>
* app/interface.c: connect to the toolbox's "style_set" signal
and set window manager hints in the callback.
another checkin using Yosh's lovely notebook...
2000-06-01 Michael Natterer <mitch@gimp.org>
Sven Neumann <sven@gimp.org>
Completed the new file structure. Yet only few of the _pdb.[ch]
files are based upon generated code and nothing is really
autogenerated...
* app/Makefile.am
* app/gdisplay_cmds.c -> app/display_cmds.c
* app/gimage_cmds.c -> app/image_cmds.c
* app/gimage_mask_cmds.c -> app/selection_cmds.c
* app/internal_procs.c: related change
* libgimp/Makefile.am
* libgimp/gimp.h
* libgimp/gimp_pdb.h
* libgimp/gimpdisplay_pdb.[ch]
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimpselection_pdb.[ch]: replaced with code based on files
generated using pdbgen
* libgimp/gimpchannelops_pdb.[ch]
* libgimp/gimpcolor_pdb.[ch]
* libgimp/gimpedit_pdb.[ch]
* libgimp/gimpfloatingsel_pdb.[ch]
* libgimp/gimpgimprc_pdb.[ch]
* libgimp/gimptexttool_pdb.[ch]
* libgimp/gimptools_pdb.[ch]
* libgimp/gimpundo_pdb.[ch]: new files based on generated code
* libgimp/gimpgradientselect.[ch]
* libgimp/gimpimage.[ch]
* libgimp/gimpselection.[ch]: new files wrapping around the
autogenerated PDB wrappers as found in *_pdb.[ch]. This is necessary
since the number of parameters or their order is different from the
PDP calls.
* plug-ins/common/CEL.c: plugged memleak
* plug-ins/common/aa.c: removed compiler warning
* tools/pdbgen/Makefile.am
* tools/pdbgen/groups.pl
* tools/pdbgen/pdb/gdisplay.pdb -> display.pdb
* tools/pdbgen/pdb/gimage.pdb -> image.pdb
* tools/pdbgen/pdb/gimage_mask.pdb -> selection.pdb
* tools/pdbgen/pdb/channel_ops.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/floating_sel.pdb
* tools/pdbgen/pdb/gimprc.pdb
* tools/pdbgen/pdb/text_tool.pdb
* tools/pdbgen/pdb/tools.pdb
* tools/pdbgen/pdb/undo.pdb: made them create libgimp code
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.