Modified tile swapping to preswap dirty tiles, using a thread if
threads are enabled in configure or a gtk_timeout if they're not. The
code appears stable but could use improvement. Be careful when
working in here; there are four sets of semaphores and getting the
locking wrong will cause deadlocks or tile corruption. I'll try to
write up a document describing what's going on in here sometime soon.
--sg
Thu Jun 18 23:11:36 1998 Owen Taylor <otaylor@gtk.org>
* app/ink.c: Shift the range to smaller brushes.
(1/8 - 25 pixel radius, instead of 1-100 pixels)
* acconfig.h
* config.h.in
* configure.in: added --with-threads (taken from gtk+ configure.in)
* libgimp/Makefile.am: ugly hack to force libgimpi.a to get rebuilt since
libgimp.la compilations screws up the deps. Fixes relinking on make install.
* configure.in
* plug-ins/Makefile.am: other cleanups
* libgimp/gimp.c
* app/plug_in.c: pass INT32 instead of INT8 for gdisp_id since that's the
correct type
* app/preferences_dialog.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/tileit/tileit.c: warning fixups
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)
Applied a patch from Jay Cox. Reimplements selection_grow, selection_shrink
and selection_border using new algorithms => faster and nicer results.
--Sven
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
* app/plug_in.c: initialize progress_gdisp_ID field in plug_in_new so
things don't crash
* app/menus.c: use proper keycodes (?) for zoom accelerator defaults
* plug-ins/apply_lens/apply_lens.c: fixed a warning
-Yosh
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.
* Makefile.am: install gimp.m4 too
* libgimp/gimpprotocol.[ch]
* libgimp/gimp.c
* app/plug_in.[ch]
* app/procedural_db.c: exported the gdisplay ID to the plugins, so they can
be smart about hooking on to status bars in the appropriate display shell
* libgimp/Makefile.am
* libgimp/gimp.c: make the plugins aware of $gimpdir for gtkrc parsing
-Yosh
Sat Jun 13 16:52:34 EDT 1998 Adrian Likins <adrian@gimp.org>
*/app/file_new_dialog.c: removed unsightly warnings,
replace a 8 with a / so it will work
-adrian
Sat Jun 13 15:46:55 EDT 1998 Adrian Likins <adrian@gimp.org>
*/app/file_new_dialog.c: more file new tweaks,
now uses spinbuttons. I'm still not sure this change is
for the better, let me know.
-adrian
Fri Jun 12 14:17:54 EDT 1998 Adrian Likins <adrian@gimp.org>
*app/file_new_dialog.c
app/file_new_dialog.h:
app/gloal_edit.c: added behaviour so that the
new file size will default to the current cut buffer
if its "fresh"
-adrian
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.
Tue Jun 9 19:47:19 1998 Owen Taylor <otaylor@gtk.org>
* app/brushes.c app/drawable.c app/patterns.c
app/procedural_db.c plug-ins/script-fu/script_fu_server.c
Fixes for warnings generated by changing GCompareFunc
and GHashFunc to take const arguments.
Tue Jun 9 16:08:20 EDT 1998 Adrian Likins <adrain@gimp.org>
*app/file_new_dialog.c: more fiddling with file_new.
the resoution unit optionmenu should work now. Just
need to get the optionmenus remembering history.
-adrian
* 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
* gimptool.in: use @gimpdir@ instead of hardcoding .gimp
* app/palette.c: remove unnecessary gtk_widget_destroy for menus that have
already been removed (from Shuji Narazaki)
-Yosh
* app/color_select.[ch]: added a hex triplet to the color selector. It
updates on focus_leave for now, so I bet there are some interface nits...
* app/fileops.c: add an #include to quell a warning
-Yosh
Mon Jun 8 16:39:19 EDT 1998 Adrian Likins <adrian@gimp.org>
*app/commands.c
*app/file_new_dialog.[ch]
*app/prefereces_dialog.[ch]: split up command.c
into three files, commands.c, file_new_dialog.c,
and preferences.c
*app/Makefile.am: change to incorporate the new files
*TODO: more feature ideas
Sun Jun 7 19:30:22 EDT 1998 Adrian Likins <adrian@gimp.org>
*app/commands.c: more fiddling with the file_new dialog.
More stuff hooked up and working, but still not finished.
*TODO: filling in more wishlist stuff
-adrian
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:19:22 EDT 1998 Adrian Likins <adrian@gimp.org>
* app/commands.c: Reworked the file_new dialog to
be a little more useful. Added entries for a height
and width in the unit of your choice, and a resolution.
Not everythings hooked up yet, but its getting there.
-adrian "glad to be able to break stuff again" Likins
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
* redid the error message handling. g_message now calls message_box or prints
to console depending on whether the no_interface is set or not. gimp-message
is also exported to the PDB as a wrapper to g_message, and libgimp has a new
API: gimp_message. libgimp also overrides g_message for all plugins. Converted
lots of messages in app/* to g_message. Made script-fu a little friendlier.
* updated the regex code from grep 2.2
* said goodbye to the old script-fu logo in script-fu.h
-Yosh
Sun May 17 23:06:38 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/app_procs.c: applied patch from Michael Sweet to correct
NULL deref in splash screen.
--Matt
Thu May 14 18:10:38 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/app_procs.c: made the splash screen a GTK_WINDOW_POPUP,
changed the hackish gtk_main_iteration with a null idle
loop to a more stylish while (gtk_events_pending())
gtk_main_iteration();
--Matt
Wed May 13 23:58:20 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/fileops.c (file_overwrite_yes_callback): destroy the
Overwrite dialog's window before running the save.
--Matt
* 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
* configure.in: define and export version number parts. Check for gtk 1.0.1
* gimptool.in: do some arg check for --build
* app/fileops.c: handle file overwrite dialog too
-Yosh
* app/about_dialog.c
* app/app_procs.c
* app/main.c: use GIMP_VERSION from config.h now
* gimptool made to ease plug-in development and installation
-Yosh
Sat May 2 15:20:54 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/channels_dialog.c: check to be sure that the gimage still
exists when editing a channel - fixes bug report from Sven
--Matt
* plug-ins/tiff/tiff.c: another special case fix from Nick Lamb. I said it
before, and I'll say it again: TIFF sucks
* app/fuzzy_select.c: find_boundary works nicer in indexed mode
* app/paint_funcs.c: generate dissolve random number table better (thanks Owen)
* README: bring up to date
-Yosh
Fri May 1 23:09:33 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/channels_dialog.c: handle double click on our own since
channels_dialog_flush nukes the widgets and we never get
2BUTTON events
--Matt
Fri May 1 13:22:21 1998 Tim Janik <timj@gtk.org>
* app/channels_dialog.c: keep the channel list uptodate
on position changes. unref list items on destruction.
the app/channels_dialog.c app/layers_dialog.c code for dealing
with GtkList is a MESS, it needs to be completely reworked
somewhen. this is *no* fun: the selection is changed so update
the list (causing the selection to change again: the selection
is changed so update the list (causing the selection to change
again: the selection is changed so update the list (.... oops,
sorry got caught in a recursive loop there ;) ))).
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 29 00:56:19 1998 Tim Janik <timj@gtk.org>
* app/text_tool.c (text_create_dialog): enable adjustment of the
scrolled window to keep the focused font visible.
in other dialog code. Widget event handlers get called before the data that
they reference gets initialized. Move all that init code inside the dialog
creation.
-Matt
Tue Apr 28 00:16:31 1998 Tim Janik <timj@gtk.org>
* app/channels_dialog.c (channels_dialog_create): adjust the scrolled
window to always show the currently focused channel item.
* app/layers_dialog.c (layers_dialog_create): adjust the scrolled
window to always show the currently focused layer item.
* app/procedural_db.c
* app/text_tool.c: applied mem leak patch from Mattias Gronlund
* plug-ins/tiff/tiff.c: fix for indexed save from Dan Mitchell
-Yosh
* Added sharpen to stable dist
* updated sgi and despeckle plugins
* plug-ins/xd/xd.c: works with xdelta 0.18. The use of xdelta versions prior
to this is not-supported.
* plug-in/gfig/gfig.c: spelling corrections :)
* app/fileops.c: applied gimp-gord-980420-0, fixes stale save procs in the
file dialog
* app/text_tool.c: applied gimp-egger-980420-0, text tool optimization
-Yosh
Thu Apr 23 21:27:23 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/gimage.c: set srcPR2.[xy] to srcPR1.[xy] in
gimage_construct_composite_preview (fixes hangs in preview creation)
--Matt
* app/iscissors.c: Remove the iscissors outline by stopping the
draw_core before bezierifying the selection. There may be
memory leaks here (the iscissors stuff does not appear to be freed
on bezierify)
--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
* gimp_tips.txt: applied gimp-quinet-980414-0; adds new tips
* plug-ins/pagecurl/pagecurl.c: applied gimp-quinet-980414-1;
defines M_PI
* app/app_procs.c: applied gimp-quinet-980414-2; adds more
information to the startup screen
* app/gradient.c: applied gradient-041398-seth; fixes the
behavior that the gradient editor would become insensitive
forever if the color selection dialog were close
* app/regex.c
* plugins/script-fu/regex.c: partially applied
gimp-jbuhler-980412-0; adds braces to nested if/else
--Sven
so cancelling the dialog should work correctly. There might be a problem,
because now named_edit_cut() and named_edit_copy() always return TRUE.
Before they returned FALSE when there was nothing to copy (tiles==NULL).
However I had no problems at all when testing my code....
--Sven
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:41:50 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/command.c: Duh. We have a message_box. Why not use it for
the prefs code.
--Matt "reinvent the wheel" Wilson
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
Removed the systemwide palettes directory from the palettes searchpath.
I still think we should overwork the gradients and palettes functions to
distinct between files that can be changed and those that are not writeable.
Probably for 1.1 ??
--Sven
* 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
* configure.in: more fixes... when will it all end...
* plug-ins/xd/xd.c: compile with >= 0.15 now
* app/transform.[ch]: applied gimp-alt-980412, fixes control point selection
for transforms
-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
* app/app_procs.c: fixed up idle handler for file open (look like testgtk
idle demo)
* app/colomaps.c: fixup for visual test and use of gdk_color_alloc for some
fixed colors (from Owen Taylor)
* app/errors.h
* app/errors.c
* app/main.c
* libgimp/gimp.c: redid the signal handlers so we only get a debug prompt on
SIGSEGV, SIGBUS, and SIGFPE.
* applied gimp-jbuhler-980408-0 and gimp-joke-980409-0 (warning fixups)
* applied gimp-monnaux-980409-0 for configurable plugin path for multiarch
setups
-Yosh
Fri Apr 10 00:17:23 EDT 1998 Matthew Wilson <msw@gimp.org>
* app/commands.c: Fixed (hopefully) the preferences code. Added
a warning to restart GIMP for those changes that require restarts.
--Matt
Thu Apr 9 02:53:14 EST 1998 Matthew Wilson <msw@gimp.org>
* app/app_procs.c: Added a little wrapper when loading files from
command line that loads the files after gtk_main starts. This
fixes the segfault from the tips dialog when you load images on
the command line. Cudos to Owen for the fix.
--Matt "owen scares me with his GTK+ knowledge" Wilson
* 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
random() and add -lucb on systems that need it. Fix for xdelta.h check. Find
xemacs as well as emacs. Properly define settings for print plugin.
app/Makefile.am: ditch -DNDEBUG, since nothing uses it
flame: properly handle random() and friends
pnm: workaround for systems with old sprintfs
print, sgi: fold back in portability fixes
threshold_alpha: properly get params in non-interactive mode
bmp: updated and merged in
-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.
Thu Apr 2 01:49:34 EST 1998 Matthew Wilson <msw@gimp.org>
* app/transform_core.c: added a change to make a note of the
current drawable in the button_release. This prevents the tool
from being restarted when the transform_core makes a floating
selection.
* app/tools.c: Initialize the current drawable to NULL if
there is gdisp == NULL.
--Matt
* 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
I will hopefully finish my changes to the dialog tonight and will upload a
new version of my patch. Could you (the core developers) please make up your
mind whether to include it in 1.0 or not...
The Blend-Tool dialog now changes the repeat_mode_menu to insensitive when
the Gradient-Type is one of the Shapeburst-types.
--Sven
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