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-14 Tor Lillqvist <tml@iki.fi>
* plug-ins/common/gpb.c (gih_save_dialog): Fix typo introduced
when gimp_spin_button_new() was taken into use. Now you can adjust
the cell height again.
2000-05-14 Michael Natterer <mitch@gimp.org>
After a weekend of extensive mail exchange with the signal crew,
we finally found that #2742 is not a Gimp bug but a real OSF/1
bug. OSF/1 does _not_ reliably restart read() and write() calls
on certain slow devices (pipes).
* libgimp/gimpwire.[ch]: guard all read/write calls on the wire
with loops checking for EINTR. This has to be done "manually"
as glib's GIOChannels return G_IO_ERROR_UNKNOWN on the occurence
of EINTR (which is a bug, too).
s/int/gboolean and minor cleanups while I was on it (not changing
any logic).
This fix depends on the current (broken) state of the GIOChannel
implementation and is scheduled for removal as soon as glib
behaves nicely here.
Left SA_RESTART there for the moment in app/main.c. See it as
defensive programming or just my fear to change two #2742-related
places at the same time. We might choose to remove SA_RESTART
later. Many thanks again to Austin, Garry and Tim.
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-12 Michael Natterer <mitch@gimp.org>
* libgimp/gimp.c (gimp_plugin_io_error_handler): fixed a
compiler warning about a missing return.
Slightly changed the messages that gimp<->plugin use different
protocol versions and a s/sprintf/g_snprintf/.
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.