Sun Jan 11 00:24:21 GMT 1999 Austin Donnelly <austin@greenend.org.uk>
Bit of a large checkin this - it's basically three things:
1 - GimpModules using gmodules to dynamically load and
initialise modules at gimp start of day.
2 - Color selectors now register themselves with a color
notebook.
3 - progress bars have been cleaned up a bit, so now have
progress indictations on all transform tool and gradient
fill operations. Not done bucket fill, but that seems to
be the next candidate.
New directories:
* modules/: new directory for dynamically loadable modules.
New files:
* modules/.cvsignore
* modules/Makefile.am
* modules/colorsel_gtk.c: GTK color selector wrapped up as a
color selector the gimp can use.
* app/gimpprogress.[ch]: progress bars within gimp core, either as
popups, or in the status bar. This is mainly code moved out
of plug-in.c
* app/color_notebook.[ch]: color selector notebook, implementing
very similar interface to color_select.h so it can be used as
a drop-in replacement for it.
* libgimp/color_selector.h: API color selectors need to implement
to become a page in the color_notebook.
* libgimp/gimpmodule.h: API gimp modules need to implement to be
initialised by gimp at start of day.
Modified files:
* Makefile.am: add modules/ to SUBDIRS
* libgimp/Makefile.am: install gimpmodule.h and color_selector.h
* app/gimprc.[ch]: recognise module-path variable.
* gimprc.in: set module-path variable to something sensible
(currently "${gimp_dir}/modules:${gimp_plugin_dir}/modules").
* app/Makefile.am: build color notebook and gimpprogress
* app/app_procs.c: register internal GIMP color selector with
color notebook.
* app/asupsample.c: call progress function less frequently for
better performance.
* app/asupsample.h: progress_func_t typedef moved to gimpprogress.h
* app/blend.c: make callbacks to a progress function
* app/color_area.c: use a color notebook rather than a color selector
* app/color_panel.c: ditto
* app/color_select.c: export color selector interface for notebook
* app/color_select.h: color_select_init() prototype
* app/flip_tool.c: flip the image every time, rather than every
second click.
* app/interface.c: move progress bar stuff out to
gimpprogress.c. Make the code actually work while we're at it.
* app/interface.h: move prototypes for progress functions out to
gimpprogress.h
* app/plug_in.c: load and initialise modules (if possible). Move
progress bar handling code out to gimpprogress.c
* app/plug_in.h: keep only a gimp_progress * for each plugin, not
a whole bunch of GtkWidgets.
* app/scale_tool.c
* app/rotate_tool.c
* app/shear_tool.c
* app/perspective_tool.c: progress bar during operation.
De-sensitise the dialog to discourage the user from running
two transforms in parallel.
* app/transform_core.c: recalculate grid coords when bounding box
changes. Only initialise the action area of the dialog once,
to avoid multiple "ok" / "reset" buttons appearing. Undraw
transform tool with correct matrix to get rid of handle
remains on screen. Call a progress function as we apply the
transform matrix. A few new i18n markups. Invalidate
floating selection marching ants after applying matrix.
* app/transform_core.h: transform_core_do() takes an optional
progress callback argument (and data).
* plug-ins/oilify/oilify.c: send progress bar updates after every
pixel region, not only if they processed a multiple of 5
pixels (which was quite unlikely, and therefore gave a jerky
progress indication).
Sun Jan 10 23:31:45 GMT 1999 Adam D. Moss <adam@gimp.org>
* app/blend.c app/bucket_fill.c app/convert.c app/crop.c
app/cursorutil.c app/cursorutil.h app/fuzzy_select.c
app/gdisplay.c app/gdisplay.h app/gimage_cmds.c
app/gimpimage.c app/transform_core.c app/xcf.c:
Most lengthy UI-blocking operations now put up an
hourglass so the user can see that GIMP is working.
Let me know if there are other vital cases.
Sun Jan 10 22:41:51 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
New
* app/dialog_handler.c
* app/dialog_handler.h
Changed
* app/disp_callbacks.c
* app/gradient_select.c
* app/tools.c
* app/interface.c
* app/patterns.c
* app/gimpbrushlist.c
* app/palette.c
* app/layers_dialog.c
* app/devices.c
* app/errorconsole.c
Can now hide/show all main dialogs using the TAB key in any window.
However....
there is a bug in gtk that causes the Gimp the crash if you show
and then hide a lot of dialogs (eg if you have all dialogs visible
and press the TAB key repeatedly). I have email-ed an example to
the gtk bug list.
Also I can't seem to be able to catch the SHIFT-TAB combination
(suggestions welcome ;-) so the first press of the tab hide all
dialogs the second press reshows only the toolbox and the third
press reshows all. Comments please if you find this behaviour
non-intuitive.
* i18n markings from Daniel Egger (mostly removal of tags around
PDB stuff), some constification
* I went on a sprintf pogrom. Use g_snprintf or g_strdup_printf
where applicable, to prevent overflows, especially with filenames
and translated strings. suid gimp is now more secure. ;)
-Yosh
Sat Dec 12 17:36:51 GMT 1998 Austin Donnelly <austin@greenend.org.uk>
* app/interface.c
* app/gdisplay.c: tweak to make status bar update correctly (most
of the time). As Sven has already noted, there seems to be a GTK
bug involved.
* app/disp_callbacks.c: only update the cursor co-ords if we
actually know them. Gets rid of silly (0,0) announcements.
Sat Dec 5 21:31:57 GMT 1998 Austin Donnelly <austin@greenend.org.uk>
* app/commands.[ch]
* app/edit_selection.c
* app/gdisplay.[ch]
* app/gdisplay_ops.[ch]
* app/image_render.c
* app/info_window.c
* app/magnify.c
* app/menus.c
* app/scale.c: image rendering now happens with float scale
factors, independent in X and Y axes. Turning on dot-for-dot in view
menu does what gimp always used to do (ie one image pixel becomes
one monitor pixel). Dot-for-dot is on by default so people
shouldn't notice any difference unless they load an image that's
not at 72 dpi and also turn off dot-for-dot.
* app/app_procs.c
* app/gimprc.[ch]
* app/preferences_dialog.c: new gimprc options
(monitor-xresolution <float>) and corresponding
(monitor-yresolution <float>). Uglyness in preferences dialog to
add a "Monitor" page to the notebook, allowing user to set their
monitor's resolution or take it from the X server instead. This
badly needs cleaned up :(
* plug-ins/newsprint/newsprint.c: oops - this hasn't been working
for grayscale images since my last checkin. Now fixed.
I still don't know why those statusbar is sometimes not updated. The labels
are definitely set, but are sometimes not drawn. I guess this is a GTK
problem.
--Sven
Wed Oct 14 17:46:15 EDT 1998 Adrian Likins <adrian@gimp.org>
* app/*, po/de.po, de/POTFILES.in, libgimp/gimpintl.h:
Lots of ii8n stuff here and some additions to the de.po.
Applied gimp-egger-981005-1 ,gimp-egger-981006-1,
gimp-egger-981007-1, gimp-egger-981008-1,
gimp-egger-981009-1.patch, gimp-egger-981010-1.patch
* plug-in/guillotine/guillotine.c: added the coordinates
of the split images from the original image to the title.
ie foo.jpg (0,0) for the image in the topleft.
* plug-in/script-fu/scripts/neon-logo.scm,
perspective-shadow.scm, predator.scm,rendermap.scm,
ripply-anim.scm, select_to_image.scm,swirltile.scm,
xach-effect.scm: updated scripts to use new script-fu stuff
wooo boy! a big un!
in testing this, it looks like some of the po files are busted.
but the code stuff seems okay.
-adrian
Sat Oct 3 21:01:34 BST 1998 Adam D. Moss <adam@gimp.org>
* app/channel.c app/channel_ops.c app/disp_callbacks.c
app/floating_sel.c app/gdisplay.c app/gdisplay.h
app/gdisplay_ops.c app/gimpimage.c app/image_map.c
app/interface.c app/layers_dialog.c app/plug_in.c app/undo.c
app/xcf.c:
Resizing image canvases should be less horrible to look at.
I've removed the implicit clear of the whole area when a
window is resized by the user, and clear the exposed area around
the image manually when appropriate.
Dialogs which want synchronous updates for previews and
such use displays_update_now().
Removed some old debugging nonsense which I don't want any more.
Thu Oct 1 17:10:32 BST 1998 Adam D. Moss <adam@gimp.org>
* app/gdisplay.c app/gdisplay.h: Okay, that didn't
take quite as long as expected. This is the first cut at
a gimp-wide IdleRender in place of the previously synchronous
displays_update(). A synchronous displays_update_now() is
implemented for stuff like brushes, but it isn't used right
now. (Seems to go pretty well without.)
I need feedback and (previously nonexistant!) bug reports...
please. =)
Thu Oct 1 12:44:19 BST 1998 Adam D. Moss <adam@gimp.org>
* app/floating_sel.c app/gdisplay.c app/gdisplay.h
app/gimpimage.c app/layers_dialog.c app/undo.c:
Temporarily disabled IdleRender code whilst working
on a more centralised approach.
Sat Sep 26 20:46:18 BST 1998 Adam D. Moss <adam@gimp.org>
* app/channel.c app/channel_ops.c app/drawable.c
app/floating_sel.c app/gdisplay.c app/gdisplay.h
app/gimpimage.c app/layers_dialog.c app/undo.c:
Moved the idlerender stuff into gdisplay.c. Implemented
idlerender when doing floating_sel->layer, and undoing/redoing
layer deletion.
idlerender would be useful in many other places for improving
interactivity, if it weren't for the following problems:
* By definition, idlerender doesn't wait for a
gdisplays_update() call before starting work - it just
runs in idle time, which due to CPU contention with
plugins may not be genuinely available idle time when
things are 'noninteractive'.
* Most GIMP functions don't know whether they're
being run interactively or not. idlerender only
makes sense for interactive work. This is why
it is currently only applied to those functions which
would normally only be activated manually.
* Mixing idlerender and drawable_update() /
gdisplays_update_area() calls can lead to a region
being rerendered twice.
Hence, some slogwork is needed before idlerender can be
applied in the more general case.
ok, i modified *way* more files than CVS is telling me....
- add canvas_init machinery (tile_manager_validate equivalent)
- fix bugs in compositing code
- layers/channels dialog, previews
- all color handling should be fairly precision independent now
- replaced gimage_type and gimage_base_type with Tags
- remove concept of flat vs. layered gimages
ray lehtiniemi <rayl@netrover.com>
Sat Aug 15 22:53:36 CDT 1998 Larry Ewing <lewing@gimp.org>
* app/gdisplay.c (gdisplay_update_cursor): Make sure we check the
return value from gimp_image_active_drawable.
bookkeeping without being used). Made copy_region more intelligent on
when to use tile sharing; some changes made to pixel_regions to
facilitate this. Fixed a refcount problem with xcf load and probably
a few other bugs that I've forgotten about. Added a sanity check in
set_undo_tiles to help with a problem larry is reporting with airbrush
and xinput. --sg
* app/gdisplay.c: corrected 2 annoyances: that stupid hash table == NULL
warning and the pointer in the title bar instead of the ID
* app/internal_procs.c: we're registering more procs, so make update the total
proc count
-Yosh
Fri Jul 24 12:01:31 CDT 1998 Larry Ewing <lewing@gimp.org>
* app/gdisplay.c (gdisplay_update_cursor): Fixed a string
allocation problem that failed to account for the trailing \0
(removed time sensitve calculation/malloc in the process).
Mon Jul 20 11:07:32 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/app_procs.c
* app/interface.c: Changed progressbar updaters to work with
new API. THIS WILL NOT WORK WITH OLDER GTK+. SOMEONE NEEDS
TO MAKE AN ENTRY IN gtkfeatures.h SO WE CAN #ifdef THIS.
(I suppose I should... but what can I say - I'm lazy)
--Matt
Wed Jul 15 22:06:32 CDT 1998 Shawn T. Amundson <amundson@gimp.org>
* Cursor location in statusbar
* Fixed resize of window
* progressbar is smaller now
----------------------------------------------------------------------
Modified Files:
ChangeLog app/brush_edit.c app/brush_select.c
app/gimpbrushgenerated.c app/gimpbrushgenerated.h
app/interface.c
Added freeze/thaw to gimpbrushgenerated.
added a close button and a preview to the brush_edit dialog.
----------------------------------------------------------------------
* app/gdisplay.h
* app/interface.c
* app/plug_in.c: Added the ability to cancel a running
plugin when the progress-bar has been sucked into the image
window.
* plug-ins/psd/psd.c: Turned debugging on again, since we
are in a development cycle...
* app/tile_swap.c: made the g_message errors a little smarter instead
of popping up a ton of dialogs
* app/layer.c
* app/channel.c
* app/gdisplay.c
* app/gimprc.c: some code cleanups
-Yosh
Started separating crud out of drawables.
Isolated the id system of images entirely within pdb. Even the
window titles and menus use pointers instead of ids. Should at
least remind people that this is a developers' version. :)
to detect if an image still exists, some things may, for now,
access freed images and break. This will be fixed once proper
destroy handlers are added.
* app/interface.c: minor unused variable warning cleanup
* plug-ins/bumpmap/bumpmap.c: another warning cleanup
* plug-ins/flame/flame.c: time(NULL) instead of time(0)
* plug-ins/gpc/Makefile.am
* plug-ins/megawidget/Makefile.am: install in $libdir instead of
$gimpplugindir since they *are* libs. Some archs try to exec them, and it
barfs
-Yosh
file 'sessionrc' is written and the position of some windows is
remembered. Still has some problems (offset by wm decorations).
Can be switched off in the preferences.
Sun Jun 21 15:16:46 CDT 1998 Larry Ewing <lewing@gimp.org>
* app/bezier_select.c
* app/commands.[ch]
* app/devices.c
* app/disp_callbacks.c
* app/interface.c
* app/menus.c
* app/pixmaps.h
* app/tools.[ch]
* app/undo.c: Lots of changes to the way tools are intialized and
accessed. All information about a tool type is now contained in a
single ToolInfo array. There are still some small issues to
adress about tool groups and we need some way of getting menu
ordering/grouping to work better (plug-ins need this too). There
is still much to be done, but this is the next in cleaning up the
tools.
* app/posterize.[ch]
* app/threshold.[ch]
* app/histogram_tool.[ch]
* app/hue_saturation.[ch]
* app/levels.[ch]
* app/brightness_contrast.[ch]
* app/by_color_select.[ch]
* app/color_balance.[ch]
* app/curves.[ch]: Changed the *_initalize function prototypes from
gpointer to GDisplay, to allow better type chacking and provide a
uniform interface for all the dialog tools.
Thu Jun 18 21:20:12 1998 Owen Taylor <otaylor@gtk.org>
* app/interface.c app/tools.c: Removed calls to
gtk_container_[dis/en]able_resize()
Thu Jun 18 21:03:33 1998 Owen Taylor <otaylor@gtk.org>
* app/interface.c (create_display_shell): Set the resize
mode on the statusbar to prevent the window from being
unnecessarily auto-shrunk.
* plug-ins/gfig/gfig.c (my_gtk_label_set): Removed unused
function using deprecated gtk_container_need_resize()
Thu Jun 18 16:31:16 1998 Owen Taylor <otaylor@gtk.org>
* app/blob.c: Try to prevent overflows when drawing ellipses)
(fixes the ink => line bug for big sizes)
a few window-positions (more to come). I plan to move the saving out of
gimprc into a seperate file and add more stuff like last openend image etc.
Any help is appreciated...
--Sven
Tue Jun 16 15:06:19 CDT 1998 Larry Ewing <lewing@gimp.org>
* app/interface.c:
* app/menus.c: added menu entry and changed loop bounds to get the
new ink tool functioning properly
* app/tools.[ch]: added new and free funcs to the ToolInfo struct,
and began small cleanup of tools
Sun Jun 14 23:41:17 CDT 1998 Shawn T. Amundson <amundson@gimp.org>
* app/plug_in.c: Fixed progress code to account for when
a plugin gets two progress inits
* app/interface.c: Fixed table allocation sickness. Now use
two tables, and a vbox instead of one table so things don't
get expanded when they shouldn't. This (table/table_inner)
should be merged back to 1.0 tree. The other resize bug is a
gtkstatusbar bug.
Sun Jun 14 21:16:42 CDT 1998 Shawn T. Amundson <amundson@gimp.org>
* app/gdisplay.c
* app/gdisplay.h
* app/interface.c
* app/plug_in.c
* app/plug_in.h
* libgimp/gimp.c: added statusbar and progressbar, which
the plugins now use if they have a gdisp. Unfortunately
this introduces a resize bug I wasn't able to fix
immediately. ;-(
Sun Jun 14 18:37:06 1998 Owen Taylor <otaylor@gtk.org>
* Makefile.am app/blob.[ch] (blob_bounds): Added new files for
handling scan-converted convex polygons. (From
gsumi) (these will be moved out to a plug-in tool directory
when such a thing exists)
* app/ink.[ch]: New tool for drawing with a hard-edged
pressure and tilt-sensitive brush.
* gimprc.c interface.c paint_core.c pixmaps.h tools.[ch]
All the modifications for adding a new tool. We need
to fix this.
Thu Jun 11 00:34:51 1998 Owen Taylor <otaylor@gtk.org>
* app/color_area.c (color_area_events): Create/resize
the pixmap on every expose CONFIGURE event, not just
on the first expose event.
Thu Jun 11 00:02:15 1998 Owen Taylor <otaylor@gtk.org>
* app/interface.c (create_toolbox): Create the color
area before showing the window, so that the window gets
created at the right size. [ This doesn't actually fix
much, but it is better to do that way ]
Wed Jun 10 14:17:44 1998 Owen Taylor <otaylor@gtk.org>
* app/disp_callbacks.c (gdisplay_origin_button_press):
Stop signal emission so that button doesn't grab the
pointer away from the menu.
* app/disp_callbacks.h: add declaration to get interface.c to compile
* autogen.sh: make sure we know about ACLOCAL_FLAGS
* I went on a compiler warning pogrom
-Yosh
Sun Jun 7 11:04:38 1998 Tim Janik <timj@gtk.org>
* app/gradient.c (cpopup_create_menu_item_with_label): use GtkAccelLabel
when creating a menuitems label seperatedly.
* app/commands.h:
* app/commands.c:
(tips_dialog_cmd_callback):
(filters_repeat_cmd_callback):
(tools_select_cmd_callback): make use of the callback_action argument.
* app/main.c (main): removed gtk_accelerator_table_set_mod_mask(),
since gtk provides decent default values now.
* app/layers_dialog.c:
* app/interface.c:
* app/indexed_palette.c:
* app/channels_dialog.c:
* app/buildmenu.c:
conversions for use of GtkAccelGroup.
* app/buildmenu.c:
* app/gradient.c:
installed accelerators are locked, because these code portions don't
support accelerator saving.
* ChangeLog:
* ChangeLog.pre-1-0: ChangeLog split up.
Sun Jun 7 00:22:01 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/interface.c: Register private tips for all the tools -
for use with online help later
--Matt
* app/interface.c: changed it back, things work now
* plug-ins/gfli/gfli.c: fixed gccism
* plug-ins/MapObject/mapobject_main.c: update display when we're done
(from seth)
-Yosh
on gdk_image_destroy(). I've changed the code in interface.c to workaround
this (so gimp at least starts) but the text tool is still broken, as well
as many of the plugins.
What niggles me is that I can't find anything in glib or gdk that could
explain this (diffing against the stable branch, where everything works).
I dunno, maybe I'm looking over something obvious...
I'd like to know what data this problem started happening... anyone?
-Yosh
Fri Jun 5 22:37:40 1998 Owen Taylor <otaylor@gtk.org>
* app/Makefile.am app/app_procs.c app/brushes.c app/commands.[ch]
app/disp_callbacks.c app/gdisplay.[ch] app/gimprc.c
app/interface.[ch] app/menus.c app/paint_core.[ch]
app/paintbrush.c app/palette.c app/scroll.c
app/tools.[ch] app/undo.c
- Added two new dialogs - input devices; (GtkInputDialog)
and DeviceStatus - which shows the tool/color for
each device.
- Added device_status_update() call that gets called
whenever the tool/color etc. are changed.
- Added ~/.gimp/devicerc file to store settings
- Code to draw cursor on canvas for non XFree86 XInput
where device can't control cursor and extended input
device simultaneously.
- Changed input handling so that we always use the pointer
position from the device, not from gdk_input_window_get_cursor,
so that motion and cursor position sync.
- Various changes so things work with non-integer coordinates
- Pay attention to pressure and tilt in basic tool support.
- New paint mode PRESSURE that changes the brush based on
the brush pressure
- Left in a few XInput hacks that should be removed, but I no longer
remember what they are.
* README
* INSTALL: make info a bit more current
* gimptool.in: update usage message
* gtkrc.forest2: sample gtkrc file with cool stuff from tigert
* gimp.1
* gimptool.1: updated/rewrote some
* app/fileops.c: removed the "might have tried to save an RGB image with an
indexed plugin" since g_message gives nice user feedback now
* app/interface.c: fix the mem leak properly
-Yosh
* app/interface.c: plug mem leak in message_box
* plug-ins/mail/mail.c: use g_message
* plug-ins/script-fu/scripts/carve-it.scm: fix for gimp-layer-new params from
Kevin Cozens <kcozens@interlog.com>
* plug-ins/CEL/CEL.c
* plug-ins/pcx/pcx.c
* plug-ins/tiff/tiff.c: updates from author
* plug-ins/png/png.c: correct copyright
* plug-ins/print/print.h: use correct version
-Yosh
* app/app_procs.c: create tips dialog after loading files on the command line,
instead of in an idle function. Lamer hack, but it works better.
* app/gdisplay_ops.c: fix for new view on zoomed image
* Makefile.am
* gimptool.1: added man page for gimptool by Ben Gertzfield
-Yosh
Thu Apr 30 03:15:51 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/curves.c: Another small change to keep the segfaults away
* app/disp_callbacks.c: An attempt to squelch some warnings
--Matt
Wed Apr 15 01:58:12 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/gdisplay.c: made a change to gdisplays_update_area to
update _all_ gdisplays that point at the gimage ID. This
(should) fix the paint on the second layer of a second view bug.
--Matt
Tue Apr 14 18:01:50 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/gdisplay.c: Set active_tool->drawable to NULL when destroying
the gdisplay that the active tool points to.
* app/giamge.c: Fixed spacing...
--Matt
setting the paste functions insensitive.
When pasting from the named buffer, a call to gdisplays_flush() was missing.
I originally intended to fix the bug that canceling the cut-named-function
doesn't work. But it appears that there's no way to check if the
Cancel-button was hit in the query_string_box?!
--Sven
Mon Apr 13 00:27:45 EDP 1998 Matthew Wilson <msw@gimp.org>
* app/gdisplay.c: Set the current tool's gdisplay pointer to NULL
when destroying a gdisplay
* app/interface.c: Use "clicked" as the signal to handle for menu
based tools. This lets us pop by_color_select back up.
--Matt
* configure.in: I guess it didn't end... an attempt to try to recognize all
types of tiff configs
* app/gdisplay_ops.c: resize on zoom fix for naught window positioning from
Kevin Cozens <kcozens@interlog.com>
* app/errors.c: gdk_exit needs to be prototyped
-Yosh
* app/gdisplay.c: reverted cosmetic fix below, broke zoomed updates
* configure.in: changes to xdelta and jpeg checks
* updated bmp plugin
* portability patch for polar
* minor bugfix to vpropagate
* fix for memory problem in xwd
-Yosh
* configure.in: redid libjpeg check to make sure old versions aren't used.
Also #undef PACKAGE and VERSION since some jconfig.h's define it
* updated included regex.[ch] to the one in GNU grep
* plug-ins/script-fu/interp_regex.c: we don't need to kludge around OSF1
anymore, since we use our own regex stuff
-Yosh
* app/bezier_select.c: Destroy the tool when changing displays.
* app/command.c: initialize pointers to drawables when selecting
tools
* app/disp_callbacks.c: initialize pointers to drawables on first
click of a gdisplay
* app/gimage.c: removed extra tool destruction
* app/tools.c: make a fallback case when starting tools so that
you'll always have an active tool.
--Matt
added it twice, once under <Image>->Layers and additionally under
<Image>->Image->Alpha
Now it is possible to work on a single-layer image without opening the
Layers-dialog for adding an alpha channel.
--Sven
Thu Apr 2 04:06:50 EST 1998 Matthew Wilson <msw@gimp.org>
* app/disp_callbacks.c: Always ungrab the pointer on button release.
This is a quick and dirty hack to try to nuke the pointer grab
bug.
* app/brightness_contrast.c
* app/by_color_select.c
* app/color_balance.c
* app/color_picker.c
* app/curves.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/levels.c
* app/posterize.c
* app/threshold.c
* app/transform_core.c: modified to call the cancel callback
instead of the ok callback when freed. modified to save the
last used drawable so that we might be able to check later
and restart the tool if need be.
* app/disp_callbacks.c
* app/gimage.c: modified tool restart/destruction code
* app/tools.c
* app/tools.h: added tools_initialize, made changes to
be able save the last used drawable in the tool.
--Matt
Wed Apr 01 04:07:29 EST 1998 Matthew Wilson <msw@gimp.org>
* app/disp_callbacks.c: Only destroy the current tool if you change
gdisplays and the tool caches image data.
--Matt "flood the commits-list" Wilson
Wed Apr 01 03:40:15 EST 1998 Matthew Wilson <msw@gimp.org>
* app/disp_callbacks.c: If the current gdisp->ID does not match
the ID of the gdisp_ptr in the active_tool, restart it.
--Matt "I need sleep" Wilson
Tue Mar 31 02:21:15 EST 1998 Matthew Wilson <msw@gimp.org>
* app/gimage.c
* app/tools.c
* app/tools.h: Added a field in the Tools struct, preserve.
During gimage_dirty, if this flag is not set the tool will be
reset. This is good for tools that keep a copy of the image
in cache for local manipulation like transform_core.
* app/bezier_select.c
* app/blend.c
* app/brightness_contrast.c
* app/bucket_fill.c
* app/color_balance.c
* app/color_picker.c
* app/crop.c
* app/curves.c
* app/ellipse_select.c
* app/free_select.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/levels.c
* app/move.c
* app/paint_core.c
* app/posterize.c
* app/rect_select.c
* app/text_tool.c
* app/transform_core.c: Set the preserve flag to the correct
values in the new functions and wrapped calls to functions that
dirty the gimage to prevent tool restarts.
* app/disp_callbacks.c
* app/menus.c: Removed Nether's tool patch.
--phew. Matt
Mon Mar 16 05:12:00 CST 1998 Larry Ewing <lewing@gimp.org>
* app/move.c:
* app/gdisplay.c:
* app/gimage.c: Reworked the guide drawing and picking code to
remove all known guide artifacts.
Tue Mar 3 01:02:30 1998 Larry Ewing <lewing@discord.isc.tamu.edu>
* app/scale.c: Fixed a long standing bug in the scale factor
computation so that the scale labels all agree.
* Fixed carve-it.scm and circuit.scm (circuit broke due
to a plugin update, carve-it broke due to theadd-layer stuff)
* Added a close button to the color picker info window
* changed index_palette.c a bit...now if you click with
MB11, it changes the current active color, clicking with MB3
opens the color in the color selector for editing
* Made some of the <Image>/Color/* menus sensitive to the image
type (gdisplay.c)
-adrian
CVS: