2000-05-17 Michael Natterer <mitch@gimp.org>
* app/plug_in.c: be a bit more verbose in the "Plug-In crashed"
message: Warn the user that Gimp's internal state may be messed
up and that the safe way is to restart Gimp.
Unified all plug-in error messages.
* libgimp/gimp.c: also changed to messages that the Gimp is using
a newer/older wire protocol than the plug-in.
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-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-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.
2000-05-08 Michael Natterer <mitch@gimp.org>
* app/fileops.c
* app/gdisplay.c: return silently from save/save_as and grey out
the menu entries if there is no active drawable. Fixes#10239.
2000-05-08 Michael Natterer <mitch@gimp.org>
* app/docindex.c (open_idea_window): put the ops_buttons box
into the action_area. Makes the dialog smaller.
* app/menus.c: in Image/Filters move all entries that are not
submenus to the top of the menu.
* app/plug_in.c: order all plugin menu-entries alphabetically
(in the current locale) before sending them to menus.c.
* plug-ins/script-fu/script-fu-scripts.c: order all script-fu
menu-entries alphabetically (in the current locale) before
registering them.
* plug-ins/script-fu/script-fu.c: minor cleanups
* plug-ins/bmp/bmpread.c
* plug-ins/bmp/bmpwrite.c
* plug-ins/xjt/xjt.c: strings used with g_message do not need
a trailing newline
--Sven
2000-05-07 Michael Natterer <mitch@gimp.org>
* app/app_procs.c
* app/docindex.[ch]: named all public functions document_index_*().
Don't loop/segfault when opening an old "ideas" file but silently
skip the first line.
* app/fileops.[ch]: do some file access sanity checks before
actually calling the load/save proc. Show the full file name
in all error messages. Use a query_boolean_box for the overwrite
warning. Made file_save() static.
Also copied some Win32 #define's from libgimp/gimpenv.c for the
file access stuff. Tor, could you have a look at them please?
* gimprc.in
* gimprc.win32
* app/gimprc.c: set default image size back to 256x256, default
to local paint options and info-window-follows-mouse.
* app/brightness_contrast.c
* app/docindex.c
* app/hue_saturation.c: picky changes on some labels.
* app/tips_dialog.c: applied (sort of) gimp-quinet-20000504-0,
which replaces the message "Show tip next time" in the
Tip Of The Day dialog with "Show tip next time GIMP starts".
--Sven
2000-05-06 Michael Natterer <mitch@gimp.org>
* app/menus.c (menus_reorder_plugins): no need to reorder
<Image>/Script-Fu twice.
* app/docindex.c: replaced the toolbar by an ops_buttons box.
Also default to opening the file instead of rising an already
open display.
2000-05-06 Michael Natterer <mitch@gimp.org>
* app/gimpdnd.[ch]: new public function gimp_dnd_file_dest_set().
Moved the file/url dnd stuff from interface.c to gimpdnd.c.
* app/docindex.c
* app/interface.c: use the function from gimpdnd.
2000-05-06 Michael Natterer <mitch@gimp.org>
* po/POTFILES.in
* app/Makefile.am
* app/docindexif.[ch]: removed because it was not doing core/ui
separation at all. UI functions were randomly scattered across
both files.
* app/app_procs.c
* app/docindex.[ch]: swallow all functions from docindex.c,
removed functions which were called just once, replaced the
tree by a list. Actually raise displays of already open images.
When opening a file which is already in the list, move it's entry
to the top; this way the toolbox' last_opened list finally works
as expected.
2000-05-05 Michael Natterer <mitch@gimp.org>
Made the document index a bit more like the rest of the dialogs:
* app/commands.[ch]
* app/menus.c: added a cmd_callback instead of calling a function
in docindex.c directly.
* app/gimprc.c
* app/session.[ch]: added proper session management.
* app/app_procs.c
* app/docindex.[ch]
* app/docindexif.[ch]: removed another bunch of useless variables
and functions. Removed the status bar because it was not telling
very useful stuff. Removed the window position/size from the
"ideas" file.
Note: you have to either remove your ~/.gimp-1.1/ideas file or
remove it's first line or experience a nice endless loop :)
2000-05-05 Jay Cox <jaycox@earthlink.net>
* app/pixel_processor.c: try to minimize the overhead of
multiprocessor support. This should fix bug #9296
but it has not been tested on a dual processor machine.
2000-05-03 Michael Natterer <mitch@gimp.org>
* app/layers_dialog.c: removed layers_dialog_idle_set_layer_focus()
because Wolfgang pointed out that it caused bad segfaults. This
fixes#10139 and #9844. OTOH this brings back the bug that the
active layers is sometimes not the selected one in the layers
dialog, grmpf.
* plug-ins/script-fu/script-fu-scripts.c: small cleanups.
* plug-ins/gap/README
* plug-ins/gap/gap_exchange_image.c
* plug-ins/gap/gap_lib.[ch]
* plug-ins/gap/gap_main.c
* plug-ins/gap/gap_mov_dialog.[ch]
* plug-ins/gap/gap_mov_exec.[ch]
* plug-ins/gap/gap_navigator_dialog.c: applied a patch from
Wolfgang Hofer <hof@hotbot.com>.
2000-05-02 Michael Natterer <mitch@gimp.org>
* app/main.c
* libgimp/gimp.c: as noticed by Garry, Tim, Raphael and probably
many others, my latest signal change introduced a Linuxism
which doesn't compile on any other UNIX system, eek.
s/SA_NOMASK/SA_NODEFER/ makes it compile and is hopefully
the last chapter in this saga.
2000-05-01 Michael Natterer <mitch@gimp.org>
* app/main.c
* libgimp/gimp.c: again... _do_ use gimp_signal_private() but
force it to behave like signal(). While on Linux it seems to
be ok to use both signal() and sigaction() (because signal() is
built on top of sigaction()), doing the same on other systems
is totally broken code. Thanks to Garry for pointing out this
portability issue.
* app/errors.c: s/vprintf/g_strdup_vprintf/
* libgimp/gimpsignal.[ch]: code formating paranoia.
2000-04-30 Michael Natterer <mitch@gimp.org>
* gimprc.in
* app/gimprc.[ch]: replaced "color-cube" by "min-colors".
* app/app_procs.c: read unitrc/gimprc before displaying the splash.
* app/colormaps.c: set min_colors and install_cmap before
initializing GdkRGB.
* app/gimprc.[ch]
* app/gimpunit.c: don't call the splash's progress_update function.
* app/plug_in.c: pass min_colors instead of color_cube to plugins.
* app/preferences_dialog.c: widget for min_colors.
* libgimp/gimp.[ch]: s/color_cube/min_colors/ but left
gimp_color_cube() there for source level compatibility.
* libgimp/gimpprotocol.[ch]: changed the GPConfig message
accordinly and increased the gimp protocol version number because
the change breaks binary compatibility. Also actually pass the
use_xshm variable over the wire (was only in the GPConfig struct
before).
Was it the right thing to do to increase the version number??
* libgimp/gimpui.c (gimp_ui_init): use the same code as the app
for initializing GdkRGB. Never explicitly activate Gdk's SHM
usage (only switch it off).
* app/main.c
* libgimp/gimp.c: reverted the handling of all signals except
SIGCHLD back to plain old signal() because those signals are
fatal anyway and sigaction() as used by gimp_signal_*() made
debugging (stacktrace) impossible.
* plug-ins/AlienMap/AlienMap.c
* plug-ins/AlienMap2/AlienMap2.c
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/bmp/bmp.c
* plug-ins/borderaverage/borderaverage.c
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/faxg3/faxg3.c
* plug-ins/fits/fits.c
* plug-ins/flame/flame.c
* plug-ins/fp/fp.c
* plug-ins/fp/fp_gtk.c
* plug-ins/gdyntext/Makefile.am
* plug-ins/gdyntext/gdyntext_ui.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/gfli/gfli.c
* plug-ins/gimpressionist/gimpressionist.c
* plug-ins/helpbrowser/helpbrowser.c
* plug-ins/ifscompose/ifscompose.c
* plug-ins/imagemap/Makefile.am
* plug-ins/imagemap/imap_main.c
* plug-ins/maze/maze_face.c
* plug-ins/mosaic/mosaic.c
* plug-ins/pagecurl/pagecurl.c
* plug-ins/print/print.c
* plug-ins/rcm/rcm_dialog.c
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/sel2path/Makefile.am
* plug-ins/sel2path/sel2path.c
* plug-ins/sgi/sgi.c
* plug-ins/sinus/sinus.c
* plug-ins/struc/struc.c
* plug-ins/webbrowser/webbrowser.c
* plug-ins/winsnap/winsnap.c
* plug-ins/xjt/xjt.c: use gimp_ui_init().
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c: only switch Gdk SHM usage off,
never on. Don't use gimp_ui_init() here because of libgck.
2000-04-30 Garry R. Osgood <gosgood@idt.net>
* app/main.c
* libgimp/gimpsignal.c [Documentation only]
Patches arising from Tim Mooney to fix#2742
which should (hopefully) die at this point.
removes on_sig_chld() from app/main() which
offers no meaningful functionality in light
of SA_NOCHLDSTOP.
* app/paint_funcs.c: Correctly initialize the max arrays in
thin_region. Fixes bug #8351
* app/scale.c: return from the channel_scale function if we
tried to zoom in/out too far. This prevents some
unnecessary display redraws.
2000-04-26 Michael Natterer <mitch@gimp.org>
* app/color_select.c
* app/colormaps.[ch]
* app/context_manager.c: removed unused global variables
[foreground|background]_pixel and [old|new]_color_pixel.
Initialize the colormap and visual stuff with GdkRGB instead of
GtkPreview functions (which are deprecated).
* app/[62 files]: removed #include's (started with colormaps.h and
couldn't stop). Also ordered them consistently and did some small
unrelated cleanups.
Removed variuos <stdlib.h> et.al. but checked the files carefully
before doing so. If I was too radical and you get warnings on your
platform, please flame me or just put them back :)
2000-04-26 Michael Natterer <mitch@gimp.org>
* app/gdisplay.[ch]
* app/gdisplay_ops.c: made the warning_dialog a per-display
variable. The old behaviour of having only one global variable
can easily result in loss of work and should IMHO be considered
a bug.
2000-04-26 Michael Natterer <mitch@gimp.org>
* app/xcf.c (xcf_load_image_props): when reading PROP_UNIT, check
it's value against the number of built-in units, not against the
number of defined units.
2000-04-26 Michael Natterer <mitch@gimp.org>
* app/free_select.c: fill empty "default" with a "break" (#9431).
* libgimp/gimpenv.c: g_path_is_absolute wants a parameter (#9400).
2000-04-23 Tor Lillqvist <tml@iki.fi>
* libgimp/gimpui.def: Add gimp_ui_init.
* libgimp/makefile.{cygwin,msc} (gimpui_OBJECTS): Add gimpui.
* app/makefile.{cygwin,msc}
* plug-ins/makefile.{cygwin,msc}: New installation directory.
* app/datafiles.c (is_script): Must not g_free() value returned by
g_getenv().
* plug-ins/gdyntext/font_selection.c: Don't include gdkx.h with
GTk+ 1.3.
2000-04-22 Garry R. Osgood <gosgood@idt.net>
* app/bezier_select.c
Closes the most recent bezier segfault report;
about plotting anchor points on- and off-image.
unable to cite because bugs.gnome.org is not
well. Andrew Thomas handled the only other
buglet I'm aware of at this time.
Sat Apr 22 14:01:06 BST 2000 <alt@gimp.org>
* app/bezier_select.c
Fixed problem pointed out by Garry R. Osgood (manipulating
control points where curve is closed). Thanks
again Garry for pointing it out.