1999-07-02 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/[all tools]: the Tool structure is now allocated by a common
constructor which sets default values and provides default tool
action functions. To get rid of much code duplication there should
be a object hierarchy of tools.
* app/context_manager.c
* app/tools.[ch]: create and destroy private contexts for the
paint tools on startup and exit. They are not used yet.
* app/interface.c
* app/menus.c
* app/tools.h: num_tools is now exported in tools.h
* app/commands.c
* app/gdisplay.c
* app/menus.c: made "Toggle Selection" a toggleable menu item.
Thu Jul 1 23:37:38 1999 Owen Taylor <otaylor@redhat.com>
* ifscompose_storage.c: New file implementing saving
and loading of parameters in text format.
* ifscompose.c: Store parameters in parasites.
Also, use new format for storing parameters between
invokations of IfsCompose on different layers.
* tools/pdbgen/pdb/guides.pdb
* app/guides_cmds.c: fixed a bug in image_find_next_guide
* plug-ins/xjt: reflect the name change of gimp_image_find_next_guide
* app/interface.c: applied the patch from
Shuji Narazaki <narazaki@gimp.org> that allows to open images by
dropping them onto the toolbar
--Sven
1999-06-30 Sven Neumann <sven@gimp.org>
* app/crop.c (crop_automatic_callback): Crop now does
AutoShrink -- the algorithm starts with the interactively
selected crop area and tries to shrink that instead of
always starting from the corners.
* plug-ins/helpbrowser/helpbrowser.c: cosmetic changes
--Sven (using Mitschels account)
* */makefile.msc: Use the DEBUG nmake variable to determine
whether to build for debugging or not.
* libgimp/gimp.def: Add some missing entry points.
* plug-ins/makefile.msc: Redo as to Yosh's reorg of the
sources. Add some plug-ins missing earlier. (For instance print,
which only prints to files on Win32. We still need a real Win32
print plug-in. Much code probably could be lifted from the bmp
plug-in.)
* plug-ins/MapObject/arcball.c: Change Qt_ToMatrix() to void,
instead of returning the address of its parameter (dubious
practise), as its value is never used anyway.
For the following changes, thanks to Hans Breuer:
* plug-ins/FractalExplorer/Dialogs.h: Check for feof, not to get
into an endless loop on malformed files.
* plug-ins/common/header.c: Support indexed images.
* plug-ins/common/sunras.c
* plug-ins/common/xwd.c
* plug-ins/print/print.h
* plug-ins/sgi/sgi.h: Include config.h, guard inclusion of
unistd.h.
* plug-ins/print/print.c: Guard for SIGBUS being undefined. Open
output file in binary mode.
* po/makefile.msc: Add no.
1999-06-28 Sven Neumann <sven@gimp.org>
Michael Natterer <mitschel@cs.tu-berlin.de>
* help/Makefile.am
* help/eek.png
* plug-ins/helpbrowser/helpbroswer.c: to see what this change
does, you'll have to compile it :)
1999-06-28 Sven Neumann <sven@gimp.org>
Michael Natterer <mitschel@cs.tu-berlin.de>
* app/plug_in.c: return a PDB_EXECUTION_ERROR if a procedure
requested by a plugin doesn't exist.
* plug-ins/helpbrowser/*: The GIMP Help Browser!
Not yet built by default. You need GtkXmHTML to make it work.
There is a Makefile.classic for testing it.
* Makefile.am
* configure.in
* help/*: some sample help files. Subdirs are possible, too.
1999-06-28 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/plug_in.c (plug_in_callback): removed the check for
gdisplay_active() returning NULL because it caused all extensions
to be un-callable when no image was open.
1999-06-26 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/[all tool related files]
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/gimage.c
* app/interface.c: hopefully fixed the bugs that appeared with my
last fix. And some more changes...
- Slightly changed the conditions which cause the tools to be
re-initialized on button_press events and the global
initialisation functions.
- The dialog tools now explicitly set tool->gdisp_ptr so they can
be properly hidden on display deletion.
- Create the crop info dialog only once and avoid ugly redraw bugs
by blocking the sizeentries' signal when initializing them.
- Standardized the tools_new_<tool>() functions. They are
scheduled to be moved to a common constructor in tools.c
- Various stuff...
Fri Jun 25 22:09:04 BST 1999 Andy Thomas <alt@gimp.org>
* lc_dialog.c
Fixed problem when preview sizes are changed in L&C&P
dialog and then the busy cursors stuff tried to change
the cursor on a dialog that has been removed. (ie
the LCP dialog should be unregistered when it is destroyed)
Small previews in LCP dialog image menu do not get created when no preview preference is set.
* plug-ins/common/mkgen.pl
* plug-ins/common/Makefile.am: added a pattern rule to install
single plugins
* all plugin Makefiles: use $libexecdir instead of $pluginlibdir
so we get installed on make install-exec
* plug-ins/gap/gap_filter_iterators.c: removed old Colorify_iter_ALT
reference
-Yosh
Thu Jun 24 22:49:41 BST 1999 Andy Thomas <alt@gimp.org>
* layers_dialog.c
* lc_dialog.c
* lc_dialogP.h
L&C&P previews are now updated on undo and layer movement
operations.
Wed Jun 23 23:52:54 BST 1999 Andy Thomas <alt@gimp.org>
* gimp/app/gimppreviewcache.c
* gimp/app/gimppreviewcache.h
* gimp/app/drawable_cmds.c
* gimp/app/gdisplay.c
* gimp/app/gimpdrawableP.h
* gimp/app/gimage_cmds.c
* gimp/app/Makefile.am
* gimp/app/layers_dialog.c
* gimp/app/channel.c
* gimp/app/lc_dialog.c
* gimp/app/lc_dialog.h
* gimp/app/lc_dialogP.h
* gimp/app/layer.c
* gimp/app/gimpdrawable.c
* gimp/app/internal_procs.c
* gimp/libgimp/gimp.h
* gimp/libgimp/gimpimage.c
* gimp/libgimp/gimpdrawable.c
* gimp/libgimp/gimpmenu.c
* gimp/tools/pdbgen/pdb/drawable.pdb
* gimp/tools/pdbgen/pdb/gimage.pdb
Added thumbnail image preview functions.
Previews are visible on the L&C&P dialogs as well as in the
drawables/channels/ menus generated for plugins
(see the bumpmap & Mapobject plugins).
PDB interface exists to simply extract a thumbnail preview
of a given size. This is much quicker & more efficient
than getting the image data tile-by-tile if you only need a small
image since a "preview cache" has been implemented. This cache also
reduces the number of times the tiles cached is scanned since smaller
previews are always generated from large ones if they exists and
are valid.
Some possible usages (I don't intend to implement these ideas. Just
suggestions). More plugins using the thumbnail preview (ie any that
use multiple images). Indication of "active image" somewhere.....
Actually almost anywhere a drawable/image name appears.
1999-06-23 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brightness_contrast.c
* app/by_color_select.c
* app/curves.c
* app/disp_callbacks.c
* app/histogram_tool.c
* app/hue_saturation.c
* app/levels.c
* app/posterize.c
* app/threshold.c:
Factored out the cleaning up code to the tool dialog's "cancel"
callbacks because they are called from every function which is
aborting the tool. This should fix the remaining segfaults.
I probably killed a feature of "Levels". The tool wanted to
preserve it's drawable all the time, so it was possible to select
colors from other displays. If this was the intended behaviour,
please flame me and I will try to set the "preserve" flag
correctly.
* plug-ins/common/Makefile.am: "struc" was in the Makefile but not
in the directory.
1999-06-21 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/context_manager.c: namespace cleanups.
* app/commands.[ch]
* app/menus.c: moved the "Toggle Selection" menu entry to "View",
sprinkled some separators and made the layers/channels/paths popup
menus consistent with Tigert's last ops buttons change.
* app/fileops.c
* app/plug_in.c: check for gdisplay_active() returning NULL in
some more places.
* app/[all tool related files]:
- Turned the ToolAction and ToolState #define's into typedef'ed
enums, so the compiler can do some more sanity checking.
- Removed one more unused global variable "active_tool_layer".
- Removed some #include's from tools.c.
- Standardized the individual tools' structure names.
- Moved showing/hiding the tool options to separate functions.
- Stuff...
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/tools.c: fixed the segfaults which happened when the image
of one of the tools which have dialogs (levels/posterize/...) was
deleted. My approach was to do stricter sanity checking and to set
some gdisplay pointers correctly where appropriate, so I can't
tell exactly where the bug was.
The curves tool now(??) updates on every _second_ display change
only, which is really obscure.
Finding/changing the display to operate on should definitely be
done by connecting to the user context's "display_changed"
signal.
* app/gimpset.c: emit the "remove" signal _after_ removing the
pointer from the set. If this was not a bug but a feature, please
let me know, we'll need two signals then.
* app/Makefile.am: cosmetic change
* app/plug_in.c: reordered #includes to prevent MAX/MIN conflict
* app/menus.c: removed the weird translation code in favor of
the item factory translation function. This may have broken some
.po files.. we'll see. Also, added some more tearoffs and made
tearoffs appear automagically when plugins register menu entries.
* libgimp/gimpimage.c
* libgimp/gimpenums.h: redid the GOrientation enum to match the
app. Removed special casing in the handler.
* plug-ins/guillotine/guillotine.c: small clean up
-Yosh
* libgimp/gimpfeatures.h.win32: Update version.
* app/file_new_dialog.c: Include gimpcontext.h.
* app/gdisplay.c: Don't pass a pointer as an int parameter,
pass the result of an inequality comparison to zero.
* app/makefile.msc: Add new files.
* plug-ins/makefile.msc: Build the ps plug-in, too.
* plug-ins/ps/ps.c: Add code to use a "real" output file, not a
pipe (needed with Win32 port of ghostscript).
Use g_strdup_printf() instead of separate g_malloc() and sprintf()
calls. No need to check failure of g_malloc(), it aborts on
failure. Open files in binary mode.
(Win32:) Use indirect command line file to guard for too long
command line. (Not sure if this is really needed.) Use the
gswin32c program.
1999-06-21 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/context_manager.c: connect to the user context's
"display_changed" and to the image context's "remove" signal to
avoid dangling references and to set the menu sensitivity on
display change.
* app/disp_callbacks.c
* app/file_new_dialog.c
* app/fileops.c
* app/gdisplay.c
* app/gdisplay_ops.c
* app/gimpcontext.c
* app/interface.[ch]: entirely moved the active display stuff to
the user context:
- The active display is set by any event in the display shell,
by File/New and File/Open.
- gdisplay_delete() resets the active display to NULL if we
deleted the active display.
- Reduced gdisplay_active() to a single statement returning the
context's active display. Should replace it by a macro.
- gdisplay_flush_whenever() sets the menu sensitivity for the
active display.
- Removed global variable popup_shell since it was only set all
the time but never used. I guess it's original job is now done
by the context anyway.
- gdisplay_set_menu_sensitivity() works with gdisp == NULL.
- There are mysterious Gdk-CRITICALs if both <Image> and one of
it's sub-menus are teared-off. Probably a gtk+ bug.
To do all this stuff at a central place, there needs to be a
GimpSet of displays (and ideally, GDisplay should be a GtkObject).
* app/commands.c
* app/lc_dialog.c: fixed segfaults happening with teared-off menus.
1999-06-20 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/lc_dialog.c
* app/menus.c: applied a patch from <Simon.Budig@unix-ag.org>
which implements tear-off-menus(!!!). Modified it to use the
GimpContext.
The sensitivity of the menu entries is not updated after
executing a command. This leaves the sensitivity in the state
before the command was executed (which is buggy). Will probably
have to update the sensitivity from gdisplays_flush().
Simon called the patch "temporary" but it looks pretty stable to
me. Please test it :-)
* app/context_manager.[ch]: minor changes.
* app/gimpcontext.[ch]: the user context keeps track of the
current display and image. The image is set automatically from
gimp_context_set_display().
Still have to figure out how this should interact with
gdisplay_active() (the current state is a hack).
Made the context attributes real GtkObject arguments.
Pass the changed attributes to the callbacks which connect to
the <attribute>_changed signals.
* app/gimpset.[ch]
* app/gimpsetF.h
* app/gimpsetP.h: made the gimpset properly derivable by adding
signal slots to the object class structure. Added copyright
headers.
* app/gimpsignal.[ch]: new type gimp_sigtype_double, copyright
header and my usual indentation fanaticism.
1999-06-19 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/gimpcontext.[ch]: added some functions. Still does nothing.
* app/bezier_select.c
* app/devices.c
* app/tools.[ch]: removed global variable active_tool_type
because it was always equal to active_tool->type.
1999-06-18 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/context_manager.[ch]: new files. Currently only init and
destroy the static contexts (user, standard and default).
* app/app_procs.c: call the context manager's init and free
functions. Still have to figure out the right time to do this.
* app/gimpcontext.[ch]: alpha version 0.0.1 :-)
Features:
- Each context has a name
- Attributes: opacity, paint mode, image, display
- Signal emission on attribute change
- Possibility to set a "parent" context
- Each attribute can be defined or undefined. In the latter case
the values are taken from the parent context.
- Possibility to pass a template and parent context to the
constructor
Bugs:
- Many attributes/functions still missing
- It's connected to nothing
1999-06-17 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/gimpcontext.[ch]: new files. Does nothing yet. Checked in
because I found some bugs while hacking it:
* libgimp/gimpchainbutton.[ch]
* libgimp/gimpfileselection.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpunitmenu.[ch]: fixed some cut & paste bugs and some
gtk 1.0 artefacts in the object class initialisation code.
1999-06-17 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/preferences_dialog.c: the tree title doesn't behave like a
button anymore.
Made the thumbnail option look like the other option menus.
* README.win32: Mention using GNU gettext.
* config.h.win32: Enable NLS stuff. Remove the X11 & Unix vs. Win32
feature test macros, we use those from glibconfig.h and gdkconfig.h.
* app/makefile.msc: Use gettext. New object files.
* app/batch.c: No need to include <io.h> on Win32.
* app/errorconsole.c
* app/plug_in.c
* app/tile_swap.c: Include <glib.h> early to get Win32 feature
test macros from <glibconfig.h>.
* app/gimpset.c: Remove unnecessary (?) warning.
* app/main.c
* libgimp/stdplugins-intl.h: If no LOCALEDIR defined
(as on Win32), use the "locale" subdir in gimp_data_directory().
* app/palette.c: Open palette file in text mode.
* app/session.c
* app/text_tool.c: Use GDK's GDK_WINDOWING feature test macro
if available, not WINDOWS_DISPLAY.
* libgimp/gimpfeatures.h.win32: Correct GIMP_VERSION.
* libgimp/makefile.msc: Use gettext.
* plug-ins/makefile.msc: Use gettext. Add some missing
plug-ins. Advice how to build "unofficial" plug-ins.
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/faxg3/faxg3.c
* plug-ins/gbr/gbr.c
* plug-ins/gz/gz.c: Include <glib.h> early.
* plug-ins/tga/tga.c: Include config.h, use HAVE_UNISTD_H.
Also fixed a small bug in the pattern code that let a pattern stay
up if the user focussed on another widget before releasing mouse button.
Modified Files:
ChangeLog app/devices.c app/gimprc.c app/gimprc.h
app/interface.c app/preferences_dialog.c app/indicator_area.c
worked here due to a bug in icewm. Should work much better now, also it still
isn't perfect (yet).
Had to change the standard toggle key for all toggleable tools to
<Ctrl> since <Shift> collides with line drawing in the Convolver tool.
--Sven
1999-06-06 Tomas Ogren <stric@ing.umu.se>
* app/menus.[ch]: locale-wrapper for menus_set_sensitive (..._locale)
and menus_set_state (..._locale) which splits the menu-entry
"<Foo>/Bar/Baz" into "<Foo>" and "/Bar/Baz" to remove double
translations
* app/app_procs.c, app/channels_dialog.c, app/fileops.c, app/gdisplay.c
* app/gdisplay_ops.c, app/layers_dialog.c, app/paths_dialog.c
* app/plug_in.c:
Use the _locale version from above
1999-06-06 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/lc_dialog.[ch]
* app/lc_dialogP.h
* app/paths_dialogP.h: new files
* app/channels_dialog.[ch]
* app/layers_dialog.[ch]
* app/layers_dialogP.h
* app/paths_dialog.[ch]
* app/menus.[ch]
* app/file_new_dialog.c: modified
- Moved the toplevel L&C dialog code to lc_dialog.[ch]. Only
these files need knowledge about how to create/update/...
the sub-dialogs, so the corresp. functions are defined in
lc_dialogP.h.
- The popup menus are now created by menus.c. The command
callbacks are defined in [layers|channels|paths]_dialog.h.
- Private functions to be used by "friend files" are defined in
[layers|paths]_dialogP.h.
- Changed the order of the ops_buttons in the paths dialog to
match the order in the layers and channels dialogs.
- The paint mode menu and preview stuff still needs to go out of
layers_dialog.[ch].
- I'm not sure about the keybindings in the layer dialog's "Stack"
submenu because the list widget has it's own idea of PageUp/Down.
- Hopefully fixed the update problem with new images by calling
lc_dialog_flush() after creating a new image.
* app/app_procs.c
* app/bezier_select.c
* app/commands.c
* app/floating_sel.c
* app/gdisplay.c
* app/gimage.c
* app/gimage_mask.c
* app/paint_core.c
* app/preferences_dialog.c
* app/transform_core.c
* app/undo.c: changed #include's according to the new L&C file
structure.
Sun Jun 6 17:22:16 BST 1999 Adam D. Moss <adam@gimp.org>
* fileops.c gimprc.c gimprc.h preferences_dialog.c:
Preferences dialog now has an option for people who don't
like thumbnail files to ever be written.
Sun Jun 6 15:41:22 BST 1999 Adam D. Moss <adam@gimp.org>
* app/fileops.c: Extra quality thumbnails when the user manually
asks for one to be created. Can now also generate one-shot
previews for images on read-only media.
Sun Jun 6 14:19:08 BST 1999 Andy Thomas <alt@gimp.org>
* app/bezier_select.c
* app/paths_dialog.c
Applied bezier/paths patches supplied by David LE CORFEC.
These fix a couple of segv. problems.
1999-06-03 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/disp_callbacks.[ch]
* app/gimpset.c
* app/interface.c: patch from <Simon.Budig@unix-ag.org>. Cleans up
the active image implementation. Now the button and key events of
the whole gdisplay shell are connected to a separate active image
callback.
Don't let the arrow button of the gdisplay grab the focus and
block it's events after any button_press_event, so the canvas
always owns the keyboard focus and the button never grabs the
pointer.
* app/gdisplay.c: correct sensitive setting for the Layers/Stack
submenu.
* app/interface.c: make the query boxes insensitive after pressing
"OK" (may be useful if they're once used for operations which take
longer than just shrink/grow/...).
* app/layers_dialog.c: switch to the active image when the "Auto"
button is activated.
* app/menus.c: bound the <Image>/Layers/Stack menu to some
<modifier>+PageUp/Down combinations.
* app/preferences_dialog.c: pop up with the "Interface" branch
expanded.
* app/docindex.c: remove unused var
* app/gimprc_cmds.c
* tools/pdbgen/pdb/gimprc.pdb: propagate the May 21 change to the pdb file
* tools/pdbgen/pdb/{channel,gimage,layer}.pdb: don't be sloppy in the face of
fickle perls
-Yosh
* app/about_dialog.c (about_dialog_load_logo): As we open the ppm
file in binary mode, we shouldn't assume that the header lines
read with fgets end with just a '\n'.
1999-06-02 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/disp_callbacks.c
* app/gimpset.[ch]
* app/gimpsetP.h
* app/layers_dialog.c: applied Simon's <Simon.Budig@unix-ag.org>
active image patch.
GimpSet has an "active_changed" signal now. The image_context
emits it whenever there is a button or key event in the gdisplay
and the L&C dlg. connects to it for the new auto-update feature.
1999-06-01 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.[ch]
* app/gdisplay.c
* app/menus.c: for the pleasure of all: a deeper nested submenu ;)
New <Image>/Layers/Stack submenu. Used the same top/bottom
shortcuts as in the layers dialog. Bind them to PageUp/Down and
you will never touch your mouse again to do this.
I'm thinking of dropping the current <ctrl>+[FBTU] in favour of
some <modifier>+PageUp/Down combinations. Test it, Tig !)
1999-06-01 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/app_procs.c
* app/gimprc.c: renamed init_parse_buffers() to
parse_buffers_init().
* app/gimprc.[ch] (parse_gimprc_file): return a boolean indicating
success to find out if sessionrc exists.
* app/session.c: open L&C and Brushes on first gimp invocation to
help first-time users.
1999-05-31 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/info_dialog.c
* app/rotate_tool.c
* app/scale_tool.c: fixed some very strange grid redraw bugs which
were caused by unblocked sizeentry signals. It's generally a bad
idea to connect to a sizeentry's signal before initialization.
Removed the workaround for the gdk assert failures about
"gc != NULL" because the signals were the real reason.
* app/transform_core.c: originally wanted to fix the bug here but
ended up with just some function headers made ansii compliant.
1999-05-31 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.c
* app/crop.c
* app/file_new_dialog.c
* app/info_dialog.[ch]
* app/interface.c
* app/layers_dialog.c
* app/resize.[ch]
* app/rotate_tool.c
* app/scale_tool.c
* app/shear_tool.c: finished the float->double migration for
resolution values. Standardized the order of function calls which
initialize sizeentries. Fixed some off-by-one errors by using
correct double->int casting. Use the g* counterparts of int and
double in some places. Various code cleanups.
* app/preferences_dialog.c: same changes as above plus a cleaner
implementation of the mem_size_unit stuff. The whole dialog should
behave like before.
* configure.in acconfig.h: Check for mmap.
* modules/colorsel_triangle.c: No need to include gdkx.h. Define
M_PI if needed.
* modules/makefile.msc: Use GLib 1.3, update GTk+ paths.
* plug-ins/makefile.msc: New file.
* plug-ins/*/*.c (Well, not really all files, but many):
Portability fixes. Include config.h, and guard inclusion of POSIX
and Unix headers like <unistd.h>, <dirent.h> and
<sys/time.h>. Include <string.h> if functions from it are
used. Use g_ntohl() and g_htonl() insteead of ntohl() and htonl(),
thus no need to include <netinet/in.h>. Include <io.h> on Win32
when using open/read/write (which actually are defined as
_open/_read/_write by glib.h). Define S_* macros if necessary on
Win32. Define rint() and M_PI if necessary (these definitions
should be factored out somewhere, no sense repeating them in lots
of files). Open files in binary mode when needed.
* plug-ins/FractalExplorer/FractalExplorer.c: Use
g_malloc()/g_free(). Use g_strdup_printf().
* plug-ins/dbbrowser/dbbrowser.c: No need to include <X11/Xlib.h>.
* plug-ins/destripe/destripe.c: Guard use of SIGBUS.
* plug-ins/{flame/flame,hrz/hrz,pnm/pnm}.c: No need to check for
NULL returns from g_malloc() and g_new() as they abort on failure.
Use g_strdup_printf().
* plug-ins/gz/gz.c: Win32 version of running the subprocess.
* plug-ins/hrz/hrz.c: Win32 version. Use more generic tests for
non-Unix (OS/2 and Win32), for instance HAVE_MMAP.
* plug-ins/script-fu/interp_slib.c: Win32 version of myruntime().
* plug-ins/script-fu/interp_sliba.c: Handle \\ (escaped backslahsh).
* plug-ins/script-fu/script-fu-console.c: Bypass on Win32.
* plug-ins/script-fu/script-fu-scripts.c: Portability fixes. Use
g_strdup_printf() instead of separate malloc() and sprintf(). Use
g_strescape() for strings being passed to Scheme. Some Win32-only
stuff.
* libgimp/gimp.c: No need for <io.h> on Win32.
* libgimp/{gimp,gimpui}.def: Add two entry points.
* libgimp/gimp.h: Can't use __declspec(dllexport) for PLUG_IN_INFO
when compiling with gcc on Win32. Also handle __argc, __argv and
_stdcall differently with gcc on Win32
* libgimp/gimpenv.c: Include <string.h>.
* libgimp/gimpfeatures.h.in: Remove lots of extraneous trailing blanks.
* libgimp/gimpfileselection.c: Include <glib.h> early, see above.
* libgimp/{gimpwire,parasite}.c: Test for NATIVE_WIN32, not
_MSC_VER.
* libgimp/makefile.msc: Miscellaneous updates. The gimpi library
is now built as a static library.
* configure.in: Check for mmap.
* app/makefile.msc: Depend on gimpi.lib.
* app/app_procs.c (app_init): Fix gccism: Allocate filenames (an
array with non-constant size) dynamically.
* app/{datafiles,fileops,general,install,module_db,temp_buf}.c:
Include glib.h before standard headers, because of certain obscure
details related to compiling with gcc on Win32.
(If you really want to know: glib.h defines he names of POSIXish
(but non-ANSI) functions as prefixed with underscore, because
that's how they are named in the msvcrt runtime C library we want
to use. However, defining stat as _stat causes some problems if
done after including the mingw32 <sys/stat.h>. So, it's easiest to
include <glib.h> early.)
* app/main.c: Use _stdcall and __argc, __argv with MSC, but
__attribute__((stdcall)) and _argc, _argv with gcc. Don't print
the "Passed serialization test" message on Win32. (It would open
up an otherwise unnecessary console window.)
* app/paint_funcs.c (gaussian_blur_region): Don't use variable sum
until initialized.
* app/{bezier_select,paths_dialog}.c: Include config.h and define
rint() if necessary.
* app/plug_in.c: Use _spawnv, not spawnv, on Win32 and OS/2.
Thu May 27 22:00:58 BST 1999 Andy Thomas <alt@gimp.org>
* app/transform_core.c
Bezier curve display during transformation works
with corrective type of transform.