* app/tile.c
* app/tile.h
* app/tile_manager.c
* app/tile_swap.c:
Allocate Tile's array of TileRowHints dynamically. Make type
of TileRowHint explicit since it's fairly space-critical.
Can save several hundred K of memory with this and struct
changes.
Added warnings for old basically-untested-or-insane
paths through the tile referencing code.
* app/tile_pvt.h: Shrink down and rearrange fields of Tile
struct to save some space with gcc's padding for most people.
* app/paint_funcs.c: Use tile_sanitize_rowhints() to ensure
that rowhints have been allocated before use.
* app/channel_ops.c
* app/gdisplay.c
* app/pixel_region.c: Cosmetic, sanity or unfinished debug
changes (the latter commented out) for fun and reference.
Fri Dec 10 23:55:10 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/iscissors.c: fix problem with layers with non-zero offset.
* app/undo.c: Garry, you missed one "0 -> UNDO_NULL" cleanup :)
1999-12-10 Garry R. Osgood <gosgood@idt.net>
* app/gimpimage.c
* app/undo.c
* app/undo_types.h
* docs/undo.txt
Changed sanity checks in undo_pop/free_layer_mask() to LAYER_MASK_ADD_UNDO
and LAYER_MASK_REMOVE_UNDO to be consistent with undo_push_layer_mask()
These now nvoke proper cleanup and release of GimpLayerMasks.
* docs/undo.txt: New file, an overview of undo logic written by
Austin Donnelly
* app/undo.c
* app/undo_types.h
* app/gimpimage.c : Introduced a new UndoType, UNDO_NULL, which maps
to zero, introducing that value into the enumerated types. Use the
type to signal type unknown/error/untyped conditions.
Full patch documentation at
http://idt.net/~gosgood/gimp-patch/patch02.html
Mon Nov 29 23:51:26 GMT 1999 Andy Thomas <alt@gimp.org>
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/gimprc.c
* app/gimprc.h
* app/info_window.c
* app/info_window.h
* app/preferences_dialog.c
* app/undo_history.c
Info dialog now has option to follow the mouse movements or
the old behaviour of one dialog per display.
This dialog still needs some work.
Undo dialog now obeys the "tab" key in the display.
1999-11-26 Michael Natterer <mitch@gimp.org>
* app/blend.c: accidentially replaced "Gradient:" with "Blend:" in
my last checkin to this file. Put the right string back.
* app/menus.c: fixed the plugin translation problem (YES!!! :-)
Mysteriously, using g_strdup() et al. instead of composing the
string to translate in a statically allocated array fixed the
problem.
* plug-ins/gap/gap_main.c: fixed a menu path.
1999-11-25 Michael Natterer <mitch@gimp.org>
* app/menus.c: Removed the definitions of the tearoff menu items
and build them on the fly. Added N_()-marked submenus instead so
they get properly translated. Removed N_() from all separators.
Hacked menu_translate(): Don't try to translate separators,
tearoffs and the /File/MRUxx entries. Avoid multiple lookups in
the "gimp-std-plugins" domain. Translating plug-in menu entries is
still broken.
Defined all filter categories for proper translation and a first
try to order them and to add separators (please comment...).
New Category /Filters/Web.
(Did 'make update-po' in the po* directories and updated the
german translations.)
* app/about_dialog.c
* app/brush_select.c
* app/drawable.c
* app/errors.c
* app/free_select.c
* app/gradient.c
* app/info_dialog.c
* app/plug_in.c
* app/tool_options.c: minor i18n updates like removing _() from
some error messages.
* app/context_manager.c: a private context for the Xinput Airbrush.
* plug-ins/common/video.c: Register under /Filters/Distorts
* plug-ins/imagemap/imap_main.c: Register under /Filters/Web
(Marc, what about putting "prepare for gif" and "webify" there?)
* plug-ins/perl/po/de.po: s/Xtn/Xtns/g
* configure.in: version number bump; add check for standalone
gtkxmhtml from Sesse
* app/gimppreviewcache.c: applied gimp-yasuhiro-19991122-1, prevents
div by zero error
* plug-ins/script-fu/script-fu-scripts.c: INIT_I18N_UI before
gtk_init, reported by yasuhiro
* plug-ins/common/mapcolor.c
* plug-ins/common/sunras.c
* plug-ins/fits/fits.c: applied gimpkirchgessner-991121-[0-2],
i18n and sundry bug fixes
-Yosh
1999-11-23 Michael Natterer <mitch@gimp.org>
* app/app_procs.c
* app/channels_dialog.c
* app/fileops.c
* app/gdisplay.c
* app/gdisplay_ops.c
* app/layers_dialog.c
* app/menus.[ch]
* app/paths_dialog.c
* app/plug_in.c: removed
menus_set_[sensitive|state]_glue(). Removed the N_()'s from all
menu paths which are not eventually passed to
gtk_item_factory_create_item().
* app/tool_options.c: minor updates.
* app/file_new_dialog.c: reordered the action_area buttons.
Mon Nov 22 13:18:40 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/channel_ops.c: Disabled the copy-on-write for gimage
projection. Duplicate op will now take as much time and
memory as GIMP 1.0 in this respect. That sucks, but I'm
damned if I can follow the twisted paths which GIMP treads
in making this bahave badly. Can you?
Mon Nov 22 11:19:05 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/convert.c: Removed erroneous spin-button limit, bumped
up RGB->INDEXED precision a little.
1999-11-20 Michael Natterer <mitch@gimp.org>
Reorganized the core menu items (everything except
<Image>/Filters). Everything is of course trivial to change again,
so please comment on the new "menu feeling" ;-)
* app/menus.[ch]:
- Applied the suggestions collected by Olof.
- Added "..." to all items which open a dialog.
- Introduced some additional separators (e.g. in "Dialogs").
- Reorder some plugins and the color correct tools after
initialisation.
- A menu entry to invoke the tooltips inspector.
- A debugging menu entry which dumps the menu paths and their help
pages (will of course go away when the help sys is consistent).
There are currently two identical "Help" menus because
<Toolbox>/Help trashes the menu bar if the toolbox is too narrow
(gtk doesn't seem to support multi-line menubars, any idea?)
* app/app_procs.c: call menus_reorder_plugins() after loading the
plugins to beautify the "Xtns" menu.
* app/commands.[ch]: reordered some functions to match the new
menu structure (for easier source navigation) and renamed some to
be consistent (e.g. all help functions are now called help_*).
Show/Hide the rulers with ordinary gtk_widget_[show|hide]()
commands. I've tested it several times and it looks exactly the
same as the old code which used internal gtk knowledge.
* app/gdisplay.c: applied the menu changes to
gdisplay_set_menu_sensitivity().
* app/gimphelp.[ch]: new public function gimp_context_help() which
invokes the tooltips inspector. Code cleanup.
* app/resize.c: changed the dialogs' titles to match the menu entries.
* app/session.c: renamed the gradient selection cmd callback to be
consistent with brushes/patterns.
* app/tools.c: added "..." to the menu paths of the tools which
have dialogs.
* app/fileops.c
* app/channels_dialog.c
* app/layers_dialog.c
* app/paths_dialog.c: added some "...".
* plug-ins/common/align_layers.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/c_astretch.c
* plug-ins/common/color_enhance.c
* plug-ins/common/compose.c
* plug-ins/common/decompose.c
* plug-ins/common/mail.c
* plug-ins/common/normalize.c
* plug-ins/common/threshold_alpha.c
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/fp/fp.c
* plug-ins/print/print.c
* plug-ins/rcm/rcm.c: changed the menu paths and added "...".
2nd Try.. First failed due to problems at my end....
Sat Nov 20 00:27:26 GMT 1999 Andy Thomas <alt@gimp.org>
* app/commands.c
* app/gdisplay.c
* app/gimprc.c
* app/gimprc.h
* app/nav_window.c
* app/nav_window.h
* app/preferences_dialog.c
* app/scale.c
* app/scroll.c
Nav dialog now follows auto. There is an option in the
preferences dialog (interface) that allow you to switch
between this behaviour and the "original" way of having
one nav dialog per display.
1999-11-14 Michael Natterer <mitch@gimp.org>
* app/airbrush.c
* app/apptypes.h
* app/brushes_cmds.c
* tools/pdbgen/pdb/brushes.pdb
* app/bucket_fill.c
* app/clone.c
* app/gimpbrushpipe.c
* app/paint_core.c
* app/patterns.h
* app/patterns_cmds.c
* tools/pdbgen/pdb/patterns.pdb: removed the GimpBrushP and
GPatternP types and use ordinary pointers instead.
The following stuff makes the "no_data" behaviour consistent. As a
side-effect it should make the gimp work when there are _really_ no
brushes/patterns/gradients.
* app/brush_select.c
* app/pattern_select.c: set the initial brush/pattern name to "No
Brushes/Patterns available" instead of "Active".
* app/devices.c: set the device contexts' brush/pattern/gradient
names if we started with no_data, so we find them on refresh.
* app/gimpbrushlist.c: set the name of the standard_brush to
"Standard".
* app/gimpcontext.c: don't replace the current
brush/pattern/gradient's name if the new one to be set is the
standard one. Together with the change in devices.c, this ensures
that we get what is set in devicerc. Minor fixes.
* app/gradient.c: changed gradients_init() to work like the other
data init functions. Only insert a default gradient in the
gradients list when the editor is opened (this means that the
gradients now behave like brushes/patterns when we start with
"no_data").
New function gradient_update() avoids tons of useless redraws of
all clist gradient previews whenever the gradient editor wants to
update it's large preview.
* app/gradient_select.c: don't segfault when the user tries to
drag from an empty gradient list.
* app/patterns.c: set the index of the standard_pattern to -1 to
indicate that it's not part of the pattern list.
* app/airbrush.c
* app/convolve.c
* app/dodgeburn.c
* app/paint_options.h
* app/paintbrush.c
* app/pencil.c
* app/smudge.c
* app/tool_options.c: cleaned up pressure sensitivity for paint
tools. I had to rename Pressure to Rate in a few tools to avoid
confusion with the Pressure option that applies to the brush.
* app/gimplut.c: indentation, no changes
--Sven
* app/edit_selection.c: when moving layers/masks freeze the undo
after the first move to avoid that each and every small movements
puts an undo on the stack. Significantly speeds up layer moves
and especially the undo of a layer move.
* app/gdisplay.h: correct rounding errors
* app/gimpimage.c: correctly display floating selections in the
composite_preview instead of ignoring them
* app/channels_dialog.c
* app/layers_dialog.c
* app/lc_dialog.c: s/gtk_widget_draw/gtk_widget_queue_draw/
--Sven
* app/channel.c: get rid of compiler warnings
* app/histogram_tool.c
* app/histogram_tool.h: added a gradient below the histogram so
it looks more like the curves and levels tool
* app/gimpbrushpipe.c
* libgimp/parasiteio.c
* libgimp/parasiteio.h: plugged another mem-leaks. At least
The GIMP now starts without leaking memory...
--Sven
Wed Nov 3 22:36:21 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/text_tool.c: tag text undo group with TEXT_UNDO rather than
silly EDIT_PASTE_UNDO.
* app/undo.c: TEXT_UNDO name
* undo_types.h: new type: TEXT_UNDO, plus fix numbering to make it
consistent (overlapping enums are bad).
Tue Nov 2 22:50:31 GMT 1999 Andy Thomas <alt@gimp.org>
* app/undo.h
* app/undo.c
* app/undo_history.c
* pixmaps/question.xpm
Fixed undo history so it shows a dummy image if the preview
image has not already been generated. The actual image
could probably do with an artists hand ;-)
Also mask operations are shown as such in the previews.
* app/lc_dialog.c
Fixed rounding error in preview when width << height.
* plug-ins/common/jpeg.c
Always freeze the undo stack for any of the image export types.
Anyone know why this was not the case to start with?
1999-10-30 Michael Natterer <mitch@gimp.org>
* app/gimpdnd.c
* app/undo_history.c: remove the remaining defines of
GRAD_CHECK_SIZE and include libgimp/gimplimits.h instead.
* app/undo_history.c: connect to the image's "rename" signal to
update the window title.
* app/disp_callbacks.c
* app/gdisplay.c
* app/info_window.[ch]: did the same for the info dialog.
The info window has to remember the gdisplay to disconnect from
the image's "rename" signal, so I removed the gdisplay parameter
from the update functions.
Thu Oct 28 23:22:34 BST 1999 Andy Thomas <alt@gimp.org>
* app/gimpimage.c
Fixed memory leak with image is deleted.
* plug-ins/common/jpeg.c
Fixed the way the plugin added layers. Preview stuff does not now
get corrupted.
* app/xcf.c: add "(GIMP)" to the menu entry for XCF, in an attempt
to make it clear that it is the native file format.
* app/gimpcontext.c: correct doubled arg name on arg type addition,
which was messing up the internal gtkarg hashtable
-Yosh
* app/gimpimage.c: don't free the old filename pointer till we're
all done, since we might be passed our own filename as a param
and reference it after freeing. The code didn't heed it's own
warning ;) (TigerT, this should fix that filename corruption bug)
-Yosh
* libgimp/gimpexport.c: get rid of remaining (invisible) layers
after merging visible layers
* app/channel_ops.[ch]: applied a patch from Garry R. Osgood that
seems to fix bugs #2261 and #2382 (crashes when using offset).
A few more changes made the dialog actually work...
* app/ops_buttons.c: plugged a memleak I introduced yesterday
--Sven
* libgimp/gimpexport.c: handle CAN_HANDLE_LAYERS_AS_ANIMATIONS
correctly
* app/scan_convert.c: trivial optimizations
* app/nav_window.c: applied the patch from Shuji Narazaki that makes
the navigation window work with tablets. Fixed some rounding errors
and stopped the flicker.
--Sven
Tue Oct 19 21:50:52 BST 1999 Andy Thomas <alt@gimp.org>
* app/layer.c
Fixed rounding error in preview generating code that
produced dithering where no dithering should have been!
1999-10-19 Michael Natterer <mitch@gimp.org>
* gimpcontext.[ch]: changed the "parent context" implementation:
- Automatically connect/disconnect the "*_changed" signals when
changing the parent and when setting the "defined" flag of the
attributes.
- Store the former *_defined booleans in a single guint32.
- Added generic functions to set the "defined" flags of the
attributes and to copy attributes between contexts.
The contexts now correctly handle disappearing images and
displays, so we don't have to explicitly reset them any more.
* context_manager.[ch]: adopted to the changed context
implementation, connect to the user context's "tool_changed"
signal to switch the per-tool contexts, don't connect to the
"removed" signal of the image context.
* brush_select.c
* tool_options.c: use LayerModeEffects instead of int when calling
gimp_context_set_paint_mode().
* gdisplay.c: no need to reset the active display when deleting it
because the context connects to the "destroy" signal of the shell
now.
* menus.c: a shortcut for the navigation window. Moved
<Image>/Image/Colors/Desaturate before the separator.
* tools.c: tools_select(): set the active tool of the user context
instead of calling a special context manager function.
Mon Oct 18 21:24:47 BST 1999 Andy Thomas <alt@gimp.org>
* app/bezier_select.c
* app/edit_selection.c
* app/flip_tool.c
* app/gimage_mask.c
* app/paths_dialog.c
* app/paths_dialogP.h
* app/undo.c
* app/tools.h
* app/tools.c
1) Fixed some problems with the paths tool. Now the tool suboption
"new point" is selected automatically when appropriate. Eg if you
have the "add point" suboption selected and click on a point
not on the curve the "new point" option will become selected and the
new point will be added.
2) The "new point" option is defaulted to on when a new image is created or a new image is selected from the image menu.
3) Move and flip tool now effect the path if it is locked.
4) Edit stroke now uses the currently selected tool as it should do
when stroking.
1999-10-17 Michael Natterer <mitch@gimp.org>
* app/gimpsignal.[ch]: new GimpSignalType gimp_sigtype_int_int_int.
* app/gimpcontext.[ch]: set/get colors as separate r/g/b values
instead of a guchar[3] array.
The "[foreground|background]_changed" signal handlers must have
the following signature now:
color_changed_callback (GimpContext *, gint, gint, gint, gpointer).
1999-10-17 Michael Natterer <mitch@gimp.org>
* app/gimpcontext.[ch]: added the possibility to store the current
tool, FG/BG color, brush, pattern and gradient, but don't use
these attributes yet.
Before replacing the get/set color/brush/... functions with
context functions, I'll have to change the "parent context"
implementation to something where the children catch the parent's
color/brush/..._changed signals.
Finally, updating the indicator_area, device_status, tool_options
etc. will be done by connecting to their own context's "*_changed"
signals, which will be much cleaner than calling the update
functions from various places.
(I think this is a "consistency fix", please let me know if you
consider it a new feature).
Wed Oct 13 21:37:51 BST 1999 Andy Thomas <alt@gimp.org>
* app/crop.c
* app/sca_convert.c
Fixes to memory problems (use of freed memory references) found
by running with dmalloc.
* app/paths_dialog.c
Locking of multiple paths are now displayed correctly in the
transform tool.
Tue Oct 5 14:02:07 EDT 1999 Austin Donnelly <austin@gimp.org>
* app/iscissors.c: all-singing, all-dancing iscissors. Now
scan converts so you can actually select stuff. Doesn't leak
tiles either. Still have a problem with occasional segfault
and CRITICAL assertion failing on addition of anchor when
curve not closed.
* app/scan_convert.c: add connecting list between blocks of points
so we actually have a closed polygon.
* app/tool_options.c: iscissors has just the standard feather and
antialias options now.