2002-08-26 Sven Neumann <sven@gimp.org>
* plug-ins/sel2path/sel2path.c: changed dialog name as suggested
in bug-report #88905 and did some code cleanup while I was at it.
2002-08-26 Michael Natterer <mitch@gimp.org>
Color correction tool chopping:
* app/Makefile.am
* app/image_map.[ch]: removed...
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpimagemap.[ch]: ...and added here as object.
* app/base/Makefile.am
* app/base/base-types.h
* app/base/color-balance.[ch]
* app/base/curves.[ch]
* app/base/hue-saturation.[ch]
* app/base/threshold.[ch]: the lowlevel color correction functions
plus their parameter structs cut out of the resp. tools.
* app/core/core-enums.[ch]: removed GimpTransferMode enum...
* app/base/base-enums.[ch]: ...added it here. Also added
GimpHueRange for the new hue-saturation files.
* tools/pdbgen/enums.pl
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c: regenerated.
* app/tools/Makefile.am
* app/tools/gimpcolorbalancetool-transfer.c: removed (code went
to base/color-balance.c).
* app/tools/gimpimagemaptool.[ch]: added most code which was
diplicated in subclasses. Create the dialog here with a nice title
bar including image preview and name (fixes#66033). Added virtual
functions map(), dialog() and reset() which need to be implemented
by subclasses.
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpcolorbalancetool.[ch]
* app/tools/gimpcurvestool.[ch]
* app/tools/gimphuesaturationtool.[ch]
* app/tools/gimplevelstool.[ch]
* app/tools/gimpposterizetool.[ch]
* app/tools/gimpthresholdtool.[ch]: removed tons of duplicated
code and simply implement GimpImageMapTool's virtual functions.
Removed all dialog structs and keep the variables in the tool
structs. The dialogs are now created on-the-fly and destroyed when
the tool goes away, which makes all callbacks much simpler and
safer. Lots of GUI & code cleanup in all dialogs.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: added separate "Reset Channel"
buttons and let the global "Reset" buttons reset all color
channels.
* app/tools/tools.c: the various antique foo_free() functions
don't exist any more.
* app/tools/gimphistogramtool.c: removed ImageMap field from
dialog struct (it was unused). Cleaned up dialog a bit.
* tools/pdbgen/Makefile.am: don't scan tools/gimphuesaturationtool.h
for enums.
* tools/pdbgen/pdb/color.pdb: use the new stuff from base/ and
don't include stuff from tools/ any more.
* app/pdb/color_cmds.c
* app/pdb/paint_tools_cmds.c: regenerated.
2002-08-22 Michael Natterer <mitch@gimp.org>
* themes/Default/images/stock-all-16.png
* themes/Default/images/stock-none-16.png
* themes/Default/images/stock-grow-16.png
* themes/Default/images/stock-shrink-16.png: new icons from Jimmac.
* themes/Default/images/Makefile.am
* themes/Default/imagerc
* libgimpwidgets/gimpstock.[ch]: added them to the stock system.
* app/gui/menus.c: use them.
* app/widgets/gimpselectioneditor.[ch]: use the icons and added
a "Save to Channel" button.
2002-08-22 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/gimprc.pdb
* app/pdb/gimprc_cmds.c (gimprc_query_invoker): don't leak the
result of gimprc_value_to_str().
* app/core/gimpdrawable-preview.c (gimp_drawable_preview_scale):
use g_new0() instead of g_new() followed by memset().
* plug-ins/script-fu/script-fu-server.c (server_log): free the
string after logging it.
2002-08-22 Michael Natterer <mitch@gimp.org>
* app/paint/paint.c: unref the paint info objects after adding
them to their container.
* app/widgets/toolbox.c: free the tooltip string after setting it.
* app/gui/session.c: spit out the correct warning if (position x y)
could not be parsed.
2002-08-22 Michael Natterer <mitch@gimp.org>
* configure.in: bumped version number to 1.3.9
* app/tools/gimpbycolorselecttool.[ch]: removed the ByColorDialog
and cleaned up the code.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpselectioneditor.[ch]: added new widget
GimpSelectionEditor with same same functionality as the old
ByColorDialog which can be open all the time (independent of the
active tool).
* app/widgets/gimppreview.[ch]: added gimp_preview_new_by_type()
so previews can be created without a viewable.
* app/widgets/gimppreview-utils.[ch]: changed
gimp_preview_type_from_viewable() to
gimp_preview_type_from_viewable_type().
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/menus.c: register the new dialog type.
2002-08-22 Michael Natterer <mitch@gimp.org>
* app/undo.c: compress emissions of "mask_changed" and
"qmask_changed" across undo groups.
* app/core/gimpimage-mask.c: set GIMP_DRAWABLE(mask)->preview_valid
to FALSE in gimp_image_mask_invalidate(), not in
gimp_image_mask_push_undo(). Fixes selection preview rendering
after a mask undo.
2002-08-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-render.c: allocate all temporary
render bufs and check bufs large enough for GIMP_PREVIEW_MAX_SIZE
(which is 1024). Fixes crashes with too large navigation previews.
2002-08-22 Michael Natterer <mitch@gimp.org>
Fixed usage of uninitialized memory found by valgrind,
plus some cleanup:
* app/base/pixel-region.[ch]: allocate PixelRegionIterators and
PixelRegionHolders with g_new0(). Changed return values of
pixel_regions_register() and pixel_regions_process() from gpointer
to PixelRegionIterator*
* app/base/pixel-processor.c: no need to cast the above return values.
* app/base/temp-buf.[ch]: initialize PixelRegions with { 0 }
before using them for TempBufs.
* app/gui/device-status-dialog.c: initialize colors before
passing them to gimp_color_area_new().
2002-08-20 Michael Natterer <mitch@gimp.org>
Make sure the selection (gimpimage-mask.c) functionality is really
built *on top* of the GimpChannel functionality:
* app/undo.[ch]: renamed undo_push_image_mask() to
undo_push_mask() and generalized it's API to take a GimpChannel
param so undos can be pushed for channels which are not the
image's selection. Simplified the API and added code which copies
the region of interest instead of leaving this to callers.
* app/undo_types.h: s/IMAGE_MASK_UNDO/MASK_UNDO/
* app/undo_history.c: changed accordingly.
* app/core/gimpchannel.[ch]: don't #include "gimpimage-mask.h".
Changed gimp_channel_push_undo() to really push a channel undo,
not a selection undo. Added "gboolean push_undo" params to all
functions which are called from gimpimage-mask.c. Various cleanups
and optimizations. Added /*< proxy-foo >*/ stuff to the header so
we export just the struct itself to libgimpproxy. Added accessors
gimp_channel_[get|set]_show_masked().
* app/core/gimpimage-mask.[ch]: renamed gimp_image_mask_undo() to
gimp_image_mask_push_undo(). Call it before calling GimpChannel
functions which modify the mask, also call all GimpChannel
functions with push_undo = FALSE. Emit gimp_image_mask_changed()
after each operation instead of calling it in
gimp_image_mask_invalidate(). Removed gimp_image_mask_none()
because it is the same as gimp_image_mask_clear().
General cleanup.
* app/core/gimpimage-mask-select.c
* app/core/gimpimage-qmask.c: changed accordingly.
* app/core/gimpedit.c: call gimp_image_mask_clear(), not
gimp_channel_clear (gimp_image_get_mask()).
* app/core/gimpimage-crop.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-scale.c: call gimp_image_mask_changed()
* app/gui/channels-commands.c
* app/gui/select-commands.c
* app/tools/gimptexttool.c
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/selection.pdb: follow GimpChannel and
gimp_image_mask* API changes.
* app/pdb/channel_cmds.c
* app/pdb/selection_cmds.c
* libgimpproxy/gimpchannel.h: regenerated.
Unrelated:
* app/core/gimpimage.c: call gimp_drawable_push_undo() instead of
undo_push_image() directly.
2002-08-18 Michael Natterer <mitch@gimp.org>
* plug-ins/common/gif.c: removed GTK_ENABLE_BROKEN and _DEPRECATED
#defines and #includes because this plug-in has already been
ported.
2002-08-06 Sven Neumann <sven@gimp.org>
* app/tools/gimpmagnifytool.[ch]: reverted Dave's change
since this feature has already been implemented properly
(and configurable) last December.
2002-08-05 Dave Neary <bolsh@gimp.org>
* app/tools/gimpmagnifytool.[ch]: Require a minimum
movement in the X and Y direction before we zoom in
on/out to the dragged square. Limit rather arbitrarily
set to 5. This fixes bug #86939, reported by
philipj@telia.com.
2002-08-03 Manish Singh <yosh@gimp.org>
* configure.in: make sure -lm is in $LIBS for the finite/isfinite
test, fixes issues on newer FreeBSD
* plug-ins/common/jpeg.c: cast statbuf.st_size to glong for
g_snprintf