2005-04-25 Michael Natterer <mitch@gimp.org>
* app/app_procs.c (app_libs_init): call g_thread_init() only if
the GThread system is not already initialized.
2005-04-13 Sven Neumann <sven@gimp.org>
* app/app_procs.c: register handler for the "GimpPaint" log domain.
* app/core/gimpdatafactory.c (gimp_data_factory_init): don't load
any data if TRUE is passed for no_data.
* app/tools/gimppainttool.c (gimp_paint_tool_draw): handle a NULL
brush gracefully.
2005-03-23 Sven Neumann <sven@gimp.org>
* app/base/tile-swap.c (tile_swap_init): create the swap directory
if it doesn't exist. Will still fail if the parent directory is not
available. Still good enough to close bug #167506.
* app/app_procs.c: tweaked error message.
2005-02-08 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/gui/gui.[ch]
* app/main.c: simplified initialization by passing GOptionContext
to app_libs_init() and gui_libs_init().
2005-02-03 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/main.c: let the GLib command-line parser deal with the
remaining arguments and pass a string array to app_run().
2004-11-22 Sven Neumann <sven@gimp.org>
* app/app_procs.c (app_exit_after_callback): call base_exit()
before quitting the application using exit(). Fixes bug #159019.
* app/base/tile-swap.c: moved the warning about a non-empty swap
file into #ifdef GIMP_UNSTABLE ... #endif.
2004-10-06 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/batch.[ch]
* app/main.c: added new command-line option "--batch-interpreter"
that allows to specify the procedure to use to process batch
commands. Removed the perl-server hack but kept Script-Fu as the
default for backward compatibility.
* docs/gimp.1.in: documented the new option.
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-07-31 Hans Breuer <hans@breuer.org>
* app/display/makefile.msc app/widgets/makefile.msc : build
but *dont link* display-enums.obj, widget-enums.obj and
gimpdisplayoptions.obj. They must be in the dll
* app/makefile.msc : build gimp.exe and gimp-console.exe both
using the same gimp-core.dll
* app/gimpcore.def : new file, exports for gimp-core.dll
* app/Makefile.am : added to EXTRA_DIST
* cursors/makefile.msc : new file to create gimp-tool-cursors.h
* cursors/Makefile.am : added to EXTRA_DIST
* **/makefile.msc : updated
* app/main.c app/app_procs.c : moved code to close the console
from the former to the later. It only is to be used if The Gimp
is not build as console app.
* plug-ins/gfig/gfig.c : dont gimp_drawable_detach() the same
drawable twice
* plug-ins/gfig-dialog.c() : added a g_return_if_fail() to avoid
crashing on File/Import
2004-07-26 Michael Natterer <mitch@gimp.org>
* app/main.c (main): use #ifdef GIMP_UNSTABLE instead of looking
at GIMP_MINOR_VERSION.
* app/app_procs.c: don't #include "tools/gimp-tools.h".
2004-07-20 Sven Neumann <sven@gimp.org>
* app/app_procs.c
* app/base/base.[ch]
* app/composite/gimp-composite.[ch]: pass "be_verbose" to the base
and composite subsystems.
2004-07-15 Michael Natterer <mitch@gimp.org>
* app/file/file-open.c (file_open_layer): don't crash if no
layer or only one layer is visible. Fixes bug #143804.
* app/app_procs.c (app_run): fixed log domain registration.
2004-07-12 Michael Natterer <mitch@gimp.org>
Made the gimp-console binary compile.
Finishes core/GUI separation and fixes bug #71514:
* configure.in: removed the crazy-hacker warning for
--enable-gimp-console.
* app/Makefile.am: for gimp-console, copy app_procs.c to
app_procs_console.c and compile it instead of app_procs.c with
-DGIMP_CONSOLE_COMPILATION
* app/app_procs.[ch]: added some #ifndef GIMP_CONSOLE_COMPILATION
to skip GUI stuff for the gimp-console case.
Renamed app_gui_libs_init() to app_libs_init(), renamed
app_gui_abort() to app_abort() and added app_exit() so everything
that needs #ifdefs lives here now.
* app/main.c: changed accordingly.
* app/gui/gui.c (gui_abort): really abort (call exit()).
2004-07-12 Sven Neumann <sven@gimp.org>
* app/app_procs.s: don't use gtk_main() / gtk_main_quit() but run
our own main-loop like we already used to do when being run
non-interactively.
2004-03-30 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/sanity.[ch]: new files implementing sanity_check() for
run-time checking library versions. Added a check for FreeType but
disabled it until we figured if and how freetype causes some of
the DLL hell bugs.
* app/main.c (main): call it and abort if it fails.
* app/app_procs.[ch]: added app_gui_abort() so main.c doesn't
need to #include "gui/gui.h"
* app/gui/gui.[ch] (gui_libs_init): removed library sanity checking.
(gui_abort): new function which shows the abort message.
2004-03-15 Simon Budig <simon@gimp.org>
* app/base/tile-swap.[ch]: Applied a modified version of a patch
from Raphaël, that implements a test if a swap file can be
created. Also make the failure message more verbose.
* app/base/base.[ch]: extend base_init() with a boolean return
to indicate if the test to create a swap file was OK.
* app/app_procs.c: Display a warning message at startup when the
test fails.
Fixes bug #64835.
2004-03-15 Sven Neumann <sven@gimp.org>
* data/images/gimp_splash.png: splash image for GIMP 2.0 by Jimmac.
* app/gui/splash.[ch]: draw the text on the splash image, not
below it.
* app/app_procs.[ch]
* app/gui/gui.[ch]
* app/main.c
* docs/gimp.1.in: dropped support for the --no-splash-image
command-line option (not to be confused with --no-splash). It was
never very useful and makes even less sense in times where startup
notification is available.
2004-02-26 Sven Neumann <sven@gimp.org>
* app/display/gimpprogress.c (gimp_progress_end): check
display->shell before using it. It might be NULL if the function
is being called from gimp_exit().
* app/app_procs.c (app_exit_after_callback): added back the call
to exit() but only for stable releases. See my comments in the
code to understand the reasons.
2004-01-23 Michael Natterer <mitch@gimp.org>
* app/app_procs.c
* app/errors.c
* app/main.c
* app/config/gimpconfigwriter.c
* app/core/gimpdata.c
* app/core/gimpdatafactory.c
* app/gui/user-install-dialog.c
* app/plug-in/plug-ins.c
* app/vectors/gimpvectors-import.c: some more gimp_filename_to_utf8().
* libgimp/gimp.c
* libgimpmodule/gimpmodule.c
* libgimpmodule/gimpmoduledb.c: use it here, too, now that is in
libgimpbase.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/composite/Makefile.am (AM_CPPFLAGS): G_LOG_DOMAIN should be
"Gimp-Composite", not "Gimp-Composition".
* app/app_procs.c (app_run): register a log handler for the
"Gimp-Composite" domain.
2003-12-05 Michael Natterer <mitch@gimp.org>
* app/pdb/pdb-types.h: added enum GimpPDBCompatMode which can
be one of { OFF, ON, WARN }.
* app/main.c: added --pdb-compat-mode command line option. Renamed
--enable-stack-trace to --stack-trace-mode. Made default values of
stack_trace_mode and pdb_compat_mode depend on GIMP_MINOR_VERSION
(default to compat ON and stack_trace NEVER).
* app/app_procs.[ch]: pass pdb_compat_mode to gimp_new().
* app/core/gimp.[ch]: added pdb_compat_mode to the Gimp struct
and to gimp_new().
* app/pdb/procedural_db.c: leave the compat table empty for
GIMP_PDB_COMPAT_OFF.
* app/plug-in/plug-in-message.c: warn when a deprecated procedure
is called for GIMP_PDB_COMPAT_WARN.
* docs/gimp-1.3.1.in: changed accordingly.
2003-11-30 Sven Neumann <sven@gimp.org>
* app/batch.c: removed the hack that used to call gimp_exit() when
the batch command matches "(gimp-quit 0)". It shouldn't be needed.
* tools/pdbgen/pdb/misc.pdb
* app/core/gimp.[ch]
* app/gui/gui.c: renamed "kill_it" parameter to "force". We don't
kill the application any longer; this option is just about whether
to ask the user for confirmation or not.
* app/pdb/misc_cmds.c: regenerated.
* app/app_procs.c: cosmetics.
2003-11-30 Sven Neumann <sven@gimp.org>
* app/batch.[ch]: renamed batch_init() to batch_run(). Install an
Gimp::exit handler while batch commands are executed. This handler
simply calls exit(). Fixes bug #128199.
* app/app_procs.c: changed accordingly. Removed remaining global
variables.
2003-11-19 Sven Neumann <sven@gimp.org>
* app/app_procs.c (app_run): register a log handler for the
"Gimp-Vectors" domain.
* app/gui/stroke-dialog.c (stroke_dialog_new): attach the saved
options to its parent, the user context, not to the gimp.
2003-11-17 Sven Neumann <sven@gimp.org>
* app/main.c: unref the gimp object after dumping the
configuration as a test for Gimp::finalize.
* app/base/base.[ch]: keep a reference on the config object.
Renamed parameter "use_mmx" to "use_cpu_accel".
* app/core/gimp.[ch]: call base_init() and base_exit() from
app_procs.c, not from the Gimp object.
* app/app_procs.[ch]: renamed app_init() to app_run() since here's
where the main loop is run. Actually quit the main loop in
app_exit_after_callback() instead of just calling exit().
* app/errors.[ch]: declared fatal error handlers as G_GNUC_NORETURN.
* libgimp/gimp.h: fixed usage of G_GNUC_NORETURN.
2003-11-15 Michael Natterer <mitch@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpbase-private.[ch]
* libgimpbase/gimpunit.c: new files implementing GimpUnitVTable
(formerly known as GimpWidgetsVTable). Now the unit functions
finally live in the same library as their header declarations.
* libgimpbase/gimpunit.h: removed comment about being a header for
two different files.
* libgimpwidgets/gimpwidgets-private.[ch]: removed
GimpWidgetsVTable.
* libgimpwidgets/gimpsizeentry.c
* libgimpwidgets/gimpunitmenu.c
* libgimpwidgets/gimpwidgets.c: use normal gimp_unit functions
again.
* libgimp/gimpui.c
* app/gui/gui.c: removed GimpWidgetVTable stuff.
* libgimp/Makefile.am
* libgimp/gimpunitcache.[ch]: new files.
* libgimp/gimpunit.c: removed (moved to gimpunitcache.c).
* libgimp/gimp.c (gimp_main): initialize GimpUnitVTable using the
gimp_unit_cache functions.
* app/Makefile.am
* app/units.[ch]: new files implementing GimpUnitVTable.
* app/libgimp_glue.[ch]: removed.
* app/app_procs.[ch]: made "the_gimp" a static variable. Call
units_init().
* app/main.c: changed accordingly.
2003-11-13 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/main.c
* app/core/gimp.[ch]
* app/gui/gui.c
* app/gui/session.[ch]: allow to pass a session name on the
command-line. This causes a different sessionrc to be used. This
is a bit hackish but our power users will probably love it.
Also removed the useless --restore-session command-line option.
* docs/gimp-1.3.1.in: changed accordingly.
* app/core/gimpmarshal.list: removed obsolete marshaller.
* app/config/gimprc.c (gimp_rc_new): improved gtk-doc comment.
2003-11-05 Sven Neumann <sven@gimp.org>
* app/main.c: added new command-line option --no-fonts. Might be
useful to reduce startup time or if there are problems with the
font configuration.
* app/app_procs.[ch]
* app/main.c
* app/core/gimp.[ch]
* app/text/gimp-fonts.c: don't load any fonts when gimp is started
with --no-fonts.
* docs/gimp-1.3.1.in: documented the new command-line option.
Updated some outdated information.
2003-11-05 Sven Neumann <sven@gimp.org>
* app/app_procs.c: register a log handler for the Gimp-Text domain.
* app/text/gimpfont.c: code cosmetics.
* app/text/gimptext-compat.c: removed debugging output.
Let GIMP work w/o any fonts. Of course you won't get any text
functionality then:
* app/text/gimpfontlist.c: don't install any font aliases if no
fonts were found.
* app/text/gimptextlayer.c: refuse to render any text layers when
the GIMP fonts list is empty.
* app/tools/gimptexttool.c: removed redundant includes.
* app/tools/gimptextoptions.c: removed the font selection widget.
This is a temporary regression that will be cured by improving the
GimpFontView widget.
* app/widgets/Makefile.am
* app/widgets/gimpfontselection-dialog.[ch]
* app/widgets/gimpfontselection.[ch]
* app/widgets/gimppropwidgets.[ch]: removed the font selection and
all references to it. Fixes bug #119267.
2003-10-21 Sven Neumann <sven@gimp.org>
* base/base.c (base_init)
* app/errors.c (gimp_errors_init): moved the message about
possible debug messages to gimp_errors_init() so that it appears
before any startup debug output.
* app/app_procs.c (app_init): register a log handler for the
GimpConfig log domain.
* app/widgets/gimpwidgets-utils.c (gimp_message_box)
* app/core/gimp.c (gimp_message): added an extra newline when
sending messages to stderr. Don't output the full progname for
messages; use a simple "GIMP" like the GUI message handler does.
* app/gui/user-install-dialog.c: removed function copy_file()...
* app/config/gimpconfig-utils.[ch]: ... and added it here as
gimp_config_file_copy(). Also added utility function
gimp_config_file_backup_on_error().
* app/config/gimprc.c (gimp_rc_load): if the user gimprc can't be
parsed, create a backup and if that succeeds unlink the broken one
to cure the problem.
* app/gui/session.c: create a backup if sessionrc can't be parsed.
* config/gimpconfig-deserialize.c (gimp_config_deserialize_properties):
don't set an error when token is G_TOKEN_NONE; it should already
be set then.
2003-10-02 Michael Natterer <mitch@gimp.org>
Cleaned up the app init and exit stuff even more. Also reduces the
number of missing symbols for gimp-console. Added init and exit
debugging output (only for --verbose).
* app/core/gimpmarshal.list
* app/core/gimp.[ch]: added new signals "initialize" and
"restore". Moved plug_ins_init() to Gimp::restore()'s default
implementation and plug_ins_exit() to Gimp::exit()'s default
implementation. Renamed gimp_set_config() to gimp_load_config()
and load GimpRC here. Moved base_init() and base_exit() to this
file, too.
* app/gui/Makefile.am
* app/gui/gui-vtable.[ch]: new files split out of gui.c. It was
simply too large.
* app/gui/gui.[ch]: renamed gui_themes_init() to gui_init(),
connect to Gimp's "initialize" and "restore" signals and create
the GUI stuff in the callbacks. Removed most other public
functions since they don't need to be called explicitly any more.
Moved the whole tool initialization/shutdown code to this file.
* app/gui/user-install-dialog.[ch]: changed
user_install_dialog_create() to user_install_dialog_run() and
added a gtk_main() at the end, so the install dialog's gtk_main()
and gtk_main_quit() live in the same file.
* app/app_procs.c: removed lots of stuff. app_init() is much
simpler now.
2003-09-18 Michael Natterer <mitch@gimp.org>
* app/paint/Makefile.am
* app/paint/paint.[ch]: removed...
* app/paint/gimp-paint.[ch]: ...and added.
* app/core/gimp.c: changed accordingly.
* app/tools/Makefile.am
* app/tools/tools.[ch]: removed...
* app/tools/gimp-tools.[ch]: ...and added. Added
gimp_tools_restore() and gimp_tools_save() and moved the entire
tool registering and tool_options loading/saving code here. Call
tool_manager_init() from gimp_tools_init() and tool_manager_exit()
from gimp_tools_exit().
* app/tools/tool_manager.[ch]: removed the code which now lives
in gimp-tools.[ch]. The tool manager now has no knowledge about
individual tools any more and just handles the active_tool
and the tool part of tool <-> display interaction.
Removed tool_manager_get_info_by_type().
* app/tools/gimpvectortool.c (gimp_vector_tool_register): the
tool's identifier is "gimp-vector-tool", not "gimp-path-tool".
* app/app_procs.c
* app/display/gimpdisplayshell-callbacks.c
* app/gui/vectors-commands.c
* app/tools/gimppainttool.c: changed accordingly.
2003-09-09 Michael Natterer <mitch@gimp.org>
Got rid of the last global variables except the_gimp:
* app/Makefile.am
* app/appenv.h: removed this file.
* app/errors.[ch] (gimp_errors_init): new function which lets the
error system know about "full_prog_name", "stack_trace_mode" and
"debug_handlers". Remember these values privately.
* app/app_procs.[ch] (app_init): added "full_prog_name" and
"stack_trace_mode" parameters here too.
* app/main.c (main): call gimp_errors_init() and pass the
additional parameters to app_init().
2003-09-09 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: added "gboolean console_messages" to the
Gimp struct and to gimp_new() since plug-in messages go directly
through gimp_message() now and need to honor "console_messages"
too.
* app/app_procs.[ch]: added "gboolean console_messages" to
app_init() and pass it to gimp_new().
* app/appenv.h: removed global variable "console_messages".
* app/main.c: added it to main()'s scope and pass it to app_init().
* app/errors.c: changed accordingly.
2003-09-01 Michael Natterer <mitch@gimp.org>
We really don't need that global variable overkill from appenv.h
just to pass these values from main() to app_init():
* app/app_procs.[ch] (app_init): added tons of parameters that
used to be global variables before.
Replaced app_init_update_status() by two functions, one which
actually updates the splash, and one which does nothing, so we
don't need global variables in the status callback.
* app/appenv.h: removed vraiable declarations here. Some are still
left, will get rid of this entire file soon...
* app/main.c: added them as local variables to main() and
pass them to app_init().
* app/batch.c: removed the global "batch_cmds", they are passed
the same way as the stuff above now.
2003-05-29 Michael Natterer <mitch@gimp.org>
* app/main.c (main): removed the calls to g_log_set_handler().
* app/app_procs.[ch] (app_init): added the g_log_set_handler()
calls and pass them the global Gimp instance as user_data.
Renamed app_gui_init() to app_gui_libs_init().
* app/errors.c: use the passed Gimp pointer instead of using
"the_gimp". Don't #include "app_procs.h".
* app/gui/gui.[ch]: removed gui_get_screen_resolution().
* app/widgets/gimpwidgets-utils.[ch]: added
gimp_get_screen_resolution().
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell.c
* app/gui/preferences-dialog.c
* app/gui/user-install-dialog.c: changed accordingly.
* app/display/gimpdisplayshell.c: don't #include "gui/gui.h".