1. 04 Feb, 2018 1 commit
  2. 29 Jan, 2018 1 commit
    • Jehan's avatar
      app: add support for Linux backtrace() API. · 4fd1c6c9
      Jehan authored
      It is nice because when available (Linux only?), it is a lot faster than
      using a dedicated debugger such as GDB or LLDB, and also it allows to
      always have a backtrace, even when no debuggers are installed.
      Unfortunately the output is a lot less detailed, with no file paths, no
      line numbers (even when debug symbols are there), no local values
      printout, etc. It's pretty bare, with function names and the stack
      levels. This is why it is not given priority, and GDB and LLDB are still
      preferred when available.
  3. 28 Jan, 2018 11 commits
    • Jehan's avatar
    • Jehan's avatar
      app, tools: install the debug tools in libexec when appropriate. · b318694b
      Jehan authored
      AFAIK this means on all platforms but Win32 and macOS which would rather
      need relative path and therefore cannot make use of build-time
      LIBEXECDIR. Anyway on these platforms, leaving the binary in BINDIR is
      not likely to "pollute" too much as it would on Linux or BSD where
      people often use terminal.
    • Jehan's avatar
      app: make the backtrace GUI actually work on Win32. · 4e5a5dbb
      Jehan authored
      It was previously untested, hence as expected needed fixes. First I add
      our own exception handler using Win32 API SetUnhandledExceptionFilter().
      Second, I reorder things so that ExcHndlInit() is run after this setter,
      since they will be executed as a FILO and we need backtraces to be
      generated before our separate GUI runs. Last I run the backtrace GUI as
      async. No need to keep the main GIMP waiting since the traces have
      already been generated into a separate file.
      Also replace gtk_show_uri() by the implementation taken straight from
      our web-browser plug-in, since apparently gtk_show_uri() doesn't work in
      Windows (and probably not macOS either since I see we have a separate
      implementation for this platform as well). I would like to be able to
      use the PDB but can't because this code needs to be usable both within
      the main process and into a separate tool process. Ideally, this should
      just be a utils function which could be included without a problem.
    • Jehan's avatar
      app, tools: various fixes for Win32 build. · a3a4df95
      Jehan authored
      * Type pid_t is not cross-platform. Just use int instead, and convert it
        to respective type on each platform.
      * Get rid of several useless include which should have been removed a
        few commits ago, when I reimplemented the backtrace function.
      * Better handle the various macros in gimp_eek() (between G_OS_WIN32,
        HAVE_EXCHNDL and GIMP_CONSOLE_COMPILATION, but also no_interface and
        generate_backtrace options, that was a bit messy).
      * Make gimpdebug now always built, whatever the platform.
    • Jehan's avatar
      app, tools: add support for ExcHndl/DrMinGW for Win32 debugging. · ae3cd00f
      Jehan authored
      The feature already exists in our code and produces backtraces upon a
      crash into a file. The only difference is that we are now getting the
      file contents and showing it in our new debug dialog, so that it works
      similarly on all platform (and therefore making the debug info visible
      to people, otherwise they would never report, even though the data is
      The difference with gdb/lldb is that it doesn't allow backtraces at
      random points (for debugging non-fatal yet bad errors). Also the API has
      just 2 functions and in particular an ExcHndlInit() but no way to unload
      the feature. So we don't need the debugging page in Preferences because
      the switch option would not work. On Windows, the feature will be
      decided at build time only.
      Last point: the code is untested on Windows so far. I assume it would
      work, but there is at least one point I am unsure of: will ExcHndl have
      already generated the backtrace file when gimpdebug runs? If not, I will
      have to let gimp die first to be able to get the backtrace.
    • Jehan's avatar
      app: add lldb as backtrace-creator alternative to gdb. · 4ca31b05
      Jehan authored
      It seems that on some platforms (macOS in particular), this may be more
      common to have.
    • Jehan's avatar
      app: test G_OS_WIN32 rather than G_OS_UNIX for new backtrace feature. · eab961c9
      Jehan authored
      This is just a bit more consistent with existing code. Also build the
      gimpdebug tool only when GIMP_CONSOLE_COMPILATION is not set and run
      when --no-interface CLI option is not set since it is a GUI tool.
    • Jehan's avatar
      app: add a "generate-backtrace" preference in GimpCoreConfig. · f8411a3d
      Jehan authored
      This will determine whether to output backtrace in a GUI and is disabled
      by default on stable, and activated in dev builds. It is a bit redundant
      with --stack-trace-mode option CLI and will take priority when enabled
      since most people would run GIMP with a graphical interface anyway.
    • Jehan's avatar
      app, tools: add backtrace GUI for crashes as well. · beede171
      Jehan authored
      This was a bit harder since even though we handle fatal signals,
      allowing us to do any last action before GIMP crashes, it seems more
      memory allocation is not allowed at this time. So creating a dialog or
      simply getting the return output of gdb into the main process is not
      allowed. What I do instead is running a separate program (gimpdebug)
      which will take care of creating the new dialog and running a debugger.
      I still use GimpCriticalDialog code from this separate binary, while I
      continue to use this widget also within GIMP for non-fatal errors. The
      reason why we still want to use it within GIMP is that we can bundle
      several non-fatal errors and backtrace this way (fatal errors don't
      return anyway) and it's easier to do so when created from the main
    • Jehan's avatar
      app: reimplement gimp_get_stack_trace(). · bb88a2d5
      Jehan authored
      Don't use g_on_error_stack_trace() from glib anymore. It is
      over-complicated, using gdb in interactive mode and running command
      writing in the pipe input. Sometimes it even gets stuck and never
      return. This is useless since gdb even has a batch mode, to just run
      commands and exit directly. I just use this.
    • Jehan's avatar
      app: new error dialog to backtrace and encourage people to report bugs. · 9fdf3555
      Jehan authored
      GIMP will now try to get a backtrace (on Unix machines only for now,
      using g_on_error_stack_trace(); for Windows, we will likely have to look
      into DrMinGW).
      This is now applied to CRITICAL errors only, which usually means major
      bugs but are currently mostly hidden unless you run GIMP in terminal. We
      limit to 3 backtraces, because many CRITICAL typically get into domino
      effect and cause more CRITICALs (for instance when a g_return*_if_fail()
      returns too early).
  4. 07 Jun, 2017 1 commit
    • Jehan's avatar
      Bug 774971 - Display errors outputted by GEGL. · b7dd2622
      Jehan authored
      Add a log handler so that GIMP can display errors outputted by GEGL.
      Since third party code may run in threads and we have no control on
      these, we have to be sure GTK+ code is run in a thread-safe way, hence
      the usage of gdk_threads_add_idle_full(). This was the case here for
      GEGL, and handling GEGL logs the same way as other GIMP logs would
      result in crashes.
  5. 20 May, 2015 1 commit
  6. 14 Oct, 2013 1 commit
    • Michael Natterer's avatar
      app,libgimp*: fix includes to follow our include policy · 697572cc
      Michael Natterer authored
      - don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
      - instead, include it in many .c files instead of <glib-object.h>,
        finally acknowledging the fact that app/ depends on gdk-pixbuf almost
      - fix up includes as if libgimpbase depended in GIO, which it soon will
  7. 17 Jan, 2009 1 commit
    • Michael Natterer's avatar
      Change licence to GPLv3 (and to LGPLv3 for libgimp). · d9b5207a
      Michael Natterer authored
      2009-01-17  Michael Natterer  <mitch@gimp.org>
      	* all files with a GPL header and all COPYING files:
      	Change licence to GPLv3 (and to LGPLv3 for libgimp).
      	Cleaned up some copyright headers and regenerated the parsers in
      	the ImageMap plugin.
      svn path=/trunk/; revision=27913
  8. 04 Nov, 2008 1 commit
    • Sven Neumann's avatar
      bumped minimum required version of GLib to 2.18.0. · 4762b734
      Sven Neumann authored
      2008-11-04  Sven Neumann  <sven@sven>
      	* configure.in: bumped minimum required version of GLib to 
      	* INSTALL: document the updated dependency.
      	* app/core/gimp.[ch]: introduced gimp_message_literal(), a 
      	of gimp_message() that takes a literal string.
      	* app/errors.[ch]: removed format arguments from 
      	and gimp_terminate() and let them take a literal string instead.
      	* app/tools/gimptool.[ch]: introduced 
      	a variant of gimp_tool_message() that takes a literal string.
      	* app/actions/documents-commands.c
      	* app/actions/drawable-commands.c
      	* app/actions/edit-commands.c
      	* app/actions/error-console-commands.c
      	* app/actions/file-commands.c
      	* app/actions/gradients-commands.c
      	* app/actions/image-commands.c
      	* app/actions/layers-commands.c
      	* app/actions/palettes-commands.c
      	* app/actions/plug-in-commands.c
      	* app/actions/select-commands.c
      	* app/actions/vectors-commands.c
      	* app/config/gimprc.c
      	* app/core/gimp-modules.c
      	* app/core/gimp-parasites.c
      	* app/core/gimp-templates.c
      	* app/core/gimp-units.c
      	* app/core/gimpchannel.c
      	* app/core/gimpcontainer-filter.c
      	* app/core/gimpdrawable-bucket-fill.c
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimpimage.c
      	* app/core/gimpimagefile.c
      	* app/core/gimplayer-floating-sel.c
      	* app/core/gimplayer.c
      	* app/core/gimpselection.c
      	* app/dialogs/convert-dialog.c
      	* app/dialogs/dialogs.c
      	* app/dialogs/palette-import-dialog.c
      	* app/dialogs/preferences-dialog.c
      	* app/dialogs/quit-dialog.c
      	* app/dialogs/stroke-dialog.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/file/file-open.c
      	* app/file/file-procedure.c
      	* app/file/file-save.c
      	* app/file/file-utils.c
      	* app/gegl/gimpcurvesconfig.c
      	* app/gegl/gimplevelsconfig.c
      	* app/gui/gui-message.c
      	* app/gui/gui.c
      	* app/gui/session.c
      	* app/paint/gimpbrushcore.c
      	* app/paint/gimpclone.c
      	* app/paint/gimpheal.c
      	* app/paint/gimpperspectiveclone.c
      	* app/paint/gimpsourcecore.c
      	* app/pdb/gimppdb-utils.c
      	* app/pdb/gimpprocedure.c
      	* app/plug-in/gimpplugin-message.c
      	* app/plug-in/gimpplugin.c
      	* app/plug-in/gimppluginmanager-restore.c
      	* app/plug-in/gimppluginprocedure.c
      	* app/text/gimptextlayer.c
      	* app/tools/gimp-tools.c
      	* app/tools/gimpaligntool.c
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbrightnesscontrasttool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpcolorbalancetool.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimpdesaturatetool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpforegroundselecttool.c
      	* app/tools/gimpfreeselecttool.c
      	* app/tools/gimpgegltool.c
      	* app/tools/gimphuesaturationtool.c
      	* app/tools/gimpimagemaptool-settings.c
      	* app/tools/gimpiscissorstool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimpposterizetool.c
      	* app/tools/gimpselectiontool.c
      	* app/tools/gimpsourcetool.c
      	* app/tools/gimpthresholdtool.c
      	* app/tools/gimptransformtool.c
      	* app/tools/gimpvectortool.c
      	* app/widgets/gimpactionview.c
      	* app/widgets/gimpcontrollerlist.c
      	* app/widgets/gimpcontrollers.c
      	* app/widgets/gimpdataeditor.c
      	* app/widgets/gimpdevices.c
      	* app/widgets/gimpdnd-xds.c
      	* app/widgets/gimperrordialog.c
      	* app/widgets/gimphelp.c
      	* app/widgets/gimpitemtreeview.c
      	* app/widgets/gimppdbdialog.c
      	* app/widgets/gimpsettingsbox.c
      	* app/widgets/gimpvectorstreeview.c
      	* app/widgets/gimpwidgets-utils.c
      	* app/xcf/xcf-load.c
      	* tools/pdbgen/pdb/convert.pdb
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/floating_sel.pdb
      	* tools/pdbgen/pdb/image.pdb: use the _literal variants for
      	g_set_error(), gimp_message() and gimp_tool_message().
      	* app/pdb/convert-cmds.c
      	* app/pdb/edit-cmds.c
      	* app/pdb/floating-sel-cmds.c
      	* app/pdb/image-cmds.c: regenerated.
      svn path=/trunk/; revision=27548
  9. 13 Jun, 2007 1 commit
  10. 26 Jan, 2007 1 commit
    • Tor Lillqvist's avatar
      Make the handling of console output make more sense Win32. Should mostly · 92cdceed
      Tor Lillqvist authored
      2007-01-26  Tor Lillqvist  <tml@novell.com>
      	Make the handling of console output make more sense Win32. Should
      	mostly fix #400927.
      	* app/app_procs.c (app_exit): Drop the Win32 "This console window
      	will close in ten seconds" message from here.
      	(app_run): Drop the call to FreeConsole() from here. GIMP is built
      	as a GUI executable on Windows, and in case we do open a fresh
      	console window in main() (see below), we shouldn't then
      	immediately close it here.
      	* app/errors.c (errors_init): Drop printing the "You can mimize
      	this window, but don't close it" message on Win32 from here.
      	* app/main.c (gimp_open_console_window): New Win32-only
      	function. If either stdout or stderr are unconnected, open a new
      	console window and connect stdout and/or stderr to it as
      	needed. Set the console title to "GIMP output. You can minimize
      	this window, but don't close it." Register an atexit function that
      	waits for the user to close the console window.
      	(wait_console_window): New Win32-only function. Registered as an
      	atexit function when GIMP has opened a new console window. Prompts
      	the user to type any character to close the window.
      	(main, gimp_show_version): Always call gimp_open_console_window()
      	in the unstable version. As the "This is a development version of
      	GIMP. Debug messages may appear here" message says, one point of
      	the unstable version is that debug messages should be visible, so
      	I think it makes sense to always see them in an unstable
      	version. In stable versions, call gimp_open_console_window() only
      	if options that cause output that the user wants to see were
      	given, like --help and --version.
      svn path=/trunk/; revision=21781
  11. 09 Dec, 2006 1 commit
  12. 09 Oct, 2006 1 commit
    • Michael Natterer's avatar
      Added message severities and make sure all messages are routed through a · f5afb754
      Michael Natterer authored
      2006-10-09  Michael Natterer  <mitch@gimp.org>
      	Added message severities and make sure all messages are routed
      	through a central function, so redirecting to the error console or
      	stderr work again:
      	* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
      	WARNING, ERROR }.
      	* app/core/gimp.[ch] (gimp_message)
      	(gimp_message_valist): added severity parameter. Changed
      	"GimpProgress *progress" parameter to "GObject *handler", where
      	"handler" can be either a GimpProgress, a GtkWidget or NULL.
      	* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
      	--console-messages again. Always dispatch to the GUI message
      	handler first if it exists.
      	* app/gui/gui-message.[ch]: pass severity parameters around.
      	(gui_message_error_dialog): if "handler" is a progress, dispatch
      	the message to it first. If it is a widget (and *not* a progress),
      	use a GtkMessageDialog on top of that widget's toplevel. Fall
      	back to the usual GimpErrorDialog otherwise.
      	* app/core/gimpprogress.[ch] (gimp_progress_message): added
      	severity parameter. Also added boolean return value to the virtual
      	function so it can decide to fail if it can't handle the message.
      	* app/display/gimpdisplay.c: implement GimpProgress::message() and
      	redirect the message to GimpDisplayShell.
      	* app/display/gimpdisplayshell-progress.c: implement
      	GimpProgress::message() and redirect the message to GimpStatusbar
      	if it is not an error and if the status bar is visible.
      	* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
      	but fail on messages that contain a newline. Show the right icons
      	for the message severities (work in progress).
      	* app/display/gimpdisplayshell.[ch]: removed
      	gimp_display_shell_message() and its _valist() variant.
      	* app/widgets/gimperrorconsole.[ch]: show the right icons for the
      	message severities.
      	* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
      	return TRUE to swallow all messages.
      	* app/widgets/gimpwidgets-utils.[ch]: removed
      	gimp_show_message_dialog(). Added gimp_get_message_stock_id().
      	* app/errors.c
      	* app/actions/edit-commands.c
      	* app/actions/error-console-commands.c
      	* app/actions/file-commands.c
      	* app/actions/select-commands.c
      	* app/actions/text-editor-commands.c
      	* app/actions/vectors-commands.c
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimagefile.c
      	* app/dialogs/convert-dialog.c
      	* app/dialogs/file-open-dialog.c
      	* app/dialogs/file-open-location-dialog.c
      	* app/dialogs/file-save-dialog.c
      	* app/dialogs/palette-import-dialog.c
      	* app/dialogs/stroke-dialog.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/pdb/gimppdb.c
      	* app/plug-in/gimpplugin.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimptool.c
      	* app/tools/gimpvectortool.c
      	* app/widgets/gimpactionview.c
      	* app/widgets/gimpcontrollerlist.c
      	* app/widgets/gimppdbdialog.c
      	* app/widgets/gimpvectorstreeview.c
      	* app/xcf/xcf-load.c
      	* app/xcf/xcf-save.c
      	* app/xcf/xcf.c
      	* tools/pdbgen/pdb/brush.pdb
      	* tools/pdbgen/pdb/gradient.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/message.pdb
      	* tools/pdbgen/pdb/palette.pdb: added severity parameter to
      	gimp_message() calls. Convert all calls to
      	gimp_show_message_dialog() and gimp_display_shell_message() to
      	gimp_message(). Also converted some more g_message() calls.
      	* app/pdb/brush_cmds.c
      	* app/pdb/gradient_cmds.c
      	* app/pdb/image_cmds.c
      	* app/pdb/message_cmds.c
      	* app/pdb/palette_cmds.c: regenerated.
  13. 10 Sep, 2006 1 commit
  14. 09 Sep, 2006 2 commits
  15. 08 Aug, 2006 1 commit
  16. 19 Jul, 2006 1 commit
    • Sven Neumann's avatar
      Make message dialogs transient for the progress window. Addresses bug · 6d922b21
      Sven Neumann authored
      2006-07-19  Sven Neumann  <sven@gimp.org>
      	Make message dialogs transient for the progress window.
      	bug #347214.
      	* app/core/gimp-gui.[ch]: added a progress parameter to
      	gimp_message().  Let gimp_message() deal with optionally
      	delegating the message to gimp_progress_message().
      	* app/errors.c: changed accordingly.
      	* app/core/gimpprogress.[ch] (gimp_progress_message): return a
      	boolean indicating whether the message was handled.
      	* app/gui/Makefile.am
      	* app/gui/gui-message.[ch]
      	* app/gui/gui-vtable.c: moved message handling to a new file.
      	use the global error dialog for messages without a progress.
      	Otherwise attach an error dialog to the progress and try to make
      	it transient to the progress window.
      	* tools/pdbgen/pdb/message.pdb:
      	* app/plug-in/gimpplugin-progress.[ch]: don't delegate messages
      	the progress interface, this is handled by gimp_message() now.
      	* app/pdb/message_cmds.c: regenerated.
      	* app/plug-in/gimpplugin.c
      	* app/actions/documents-commands.c: formatting.
  17. 16 Jun, 2006 1 commit
    • Manish Singh's avatar
      app/errors.c app/main.c app/file/gimprecentlist.c libgimpbase/gimpsignal.c · f548b653
      Manish Singh authored
      2006-06-16  Manish Singh  <yosh@gimp.org>
              * app/errors.c
              * app/main.c
              * app/file/gimprecentlist.c
              * libgimpbase/gimpsignal.c
              * libgimp/gimp.c
              * modules/controller_midi.c
              * plug-ins/common/gqbist.c: use _GNU_SOURCE instead of the other
              _FOO_SOURCE variables to support -ansi -pedantic on glibc systems,
              since anything else breaks compilation of otherwise working code.
              Fixes bug #344203.
  18. 30 May, 2006 1 commit
    • Manish Singh's avatar
      app/errors.c app/main.c app/file/gimprecentlist.c libgimp/gimp.c · c7ba1223
      Manish Singh authored
      2006-05-29  Manish Singh  <yosh@gimp.org>
              * app/errors.c
              * app/main.c
              * app/file/gimprecentlist.c
              * libgimp/gimp.c
              * libgimpbase/gimpsignal.c
              * modules/cdisplay_lcms.c
              * modules/cdisplay_proof.c
              * modules/controller_midi.c
              * plug-ins/common/gqbist.c
              * plug-ins/metadata/xmp-schemas.h: miscellaneous fixes for building
              with -ansi -pedantic. Mostly #define _FOO_SOURCE stuff. Thanks to
              Daniel Richard G. for the patch. Fixes bug #342390.
  19. 12 Apr, 2006 1 commit
  20. 04 Nov, 2005 1 commit
  21. 05 Feb, 2004 1 commit
    • Raphaël Quinet's avatar
      Added a conditional definition of the preprocessor symbol GIMP_UNSTABLE if · 9e4cc676
      Raphaël Quinet authored
      2004-02-05  Raphaël Quinet  <quinet@gamers.org>
      	* configure.in: Added a conditional definition of the preprocessor
      	symbol GIMP_UNSTABLE if the autoconf symbol GIMP_UNSTABLE is
      	* app/errors.c (gimp_errors_init): Replaced the #if test on
      	GIMP_MINOR_VERSION modulo 2 by #ifdef GIMP_UNSTABLE.
      	* app/composite/gimp-composite.c (gimp_composite_init): Print the
      	init messages only in unstable versions.  Split the messages in
      	two lines and mention "supported by gimp_composite" in order to
      	give a hint that the availability of some features depends also on
      	what code has been written.  Fixes bug #128825.
  22. 23 Jan, 2004 1 commit
    • Michael Natterer's avatar
      app/app_procs.c app/errors.c app/main.c app/config/gimpconfigwriter.c · 57911bbc
      Michael Natterer authored
      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
  23. 17 Nov, 2003 1 commit
    • Sven Neumann's avatar
      unref the gimp object after dumping the configuration as a test for · 921f00c1
      Sven Neumann authored
      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.
  24. 24 Oct, 2003 1 commit
  25. 21 Oct, 2003 1 commit
    • Sven Neumann's avatar
      base/base.c (base_init) moved the message about possible debug messages to · 39306937
      Sven Neumann authored
      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
      	* 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.
  26. 10 Oct, 2003 1 commit
  27. 10 Sep, 2003 1 commit
    • Tor Lillqvist's avatar
      Tell it's outdated. · 3d597189
      Tor Lillqvist authored
      2003-09-10  Tor Lillqvist  <tml@iki.fi>
      	* config.h.win32: Tell it's outdated.
      	* app/errors.c (gimp_eek): [Win32] Use full_prog_name, show also
      	* app/xcf/xcf.c (xcf_load_args, xcf_save_arge): Document that
      	filename is in the on-disk charset and encoding, and raw_filename
      	is just the basename, in UTF-8.
      	(xcf_save_invoker): Convert filename to UTF-8 before passing to
  28. 09 Sep, 2003 2 commits
    • Michael Natterer's avatar
      Got rid of the last global variables except the_gimp: · 85dfbe46
      Michael Natterer authored
      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().
    • Michael Natterer's avatar
      added "gboolean console_messages" to the Gimp struct and to gimp_new() · 284b8f91
      Michael Natterer authored
      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"
      	* 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.