Commit Graph

267 Commits

Author SHA1 Message Date
Michael Natterer 0bf1f22b01 app: add a "Playground" perfs page and a --show-playground command line option
The page is shown by default in unstable but needs --show-playground
in stable versions. There is nothing yet on that page. Also, the icon
needs improvement...
2014-09-14 01:08:25 +02:00
Michael Natterer 4d15f219a7 app: don't use GLIB_CHECK_VERSION (2, 39, 90) for win32 argv parsing
Instead, use the new APIs unconditionally.
2014-08-12 15:37:46 +02:00
Michael Natterer 3e85deefb5 app: manage the system and user gimprc paths as GFiles 2014-07-28 15:03:06 +02:00
Michael Natterer 774e064fbf Bug 691169 - Gimp fails to open files with UTF8 characters as filenames...
...when started via Windows Explorer (e.g. the file context menu)

When built against GLib >= 2.39.90, use g_win32_get_command_line()
and g_option_context_parse_strv() which handle all sorts of windows
filename encodings properly.
2014-03-08 22:39:47 +01:00
Michael Natterer 697572ccc0 app,libgimp*: fix includes to follow our include policy
- 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
  globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
2013-10-15 01:58:39 +02:00
Michael Natterer fa05f2ab11 app: need to call babl_init() in gimp_option_dump_gimprc() 2012-11-20 08:21:33 +01:00
Michael Natterer 373a4e7469 app: completely remove TileManager and friends (base/ and paint-funcs/)
And along with it a lot of stuff like the drawable preview cache, the
gegl tile manager backend, temporary gimp_gegl_buffer_foo() stuff, and
the remaining bits of performance.

The projection is in an evil semi-ported state which makes it work
ok-ish for stuff like layer moving, but absolutely unbearable for
painting, there is also an off-by-one rendering glitch at some zoom
levels.
2012-06-20 21:44:09 +02:00
Michael Muré 9966bcfd13 remove now useless and deprecated g_thread_init
Warning

g_thread_init has been deprecated since version 2.32 and should not be used in newly-written code. This function is no longer necessary. The GLib threading system is automatically initialized at the start of your program.
2012-05-03 20:44:07 +09:00
Martin Nordholts dfc11599d1 app: Small --dump-pdb-procedures-deprecated cleanup 2011-05-06 07:29:01 +02:00
Martin Nordholts ed01101429 app: Add hidden --dump-pdb-procedures-deprecated option
Allow to dump the names of all internal deprecated PDB
procedures. This enables us to do static analysis on *.scm files and
look for usage of deprecated procedures.
2011-05-05 01:01:17 +02:00
Mikael Magnusson b81276ca83 app: fix goption warning
Using G_OPTION_FLAG_NO_ARG with G_OPTION_ARG_NONE is not a valid combination,
glib 2.28.2 warns about it.

(gimp:20379): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option "debug-handlers" of type 0
2011-03-09 15:37:18 +01:00
Tor Lillqvist 24386abb3b Increase safety on Windows
Call SetDllDirectory() to reduce risk of DLL hijacking, and call
SetProcessDEPPolicy() to reduce risk of rogue code execution.
2010-09-02 18:40:50 +03:00
Martin Nordholts fa441e8d5f app: Refer to splash screen as splash screen, not startup window 2010-08-17 18:59:04 +02:00
Sven Neumann a56de78b01 app: add "language" gimprc option and set the language accordingly 2010-01-05 22:30:16 +01:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
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
2009-01-17 22:28:01 +00:00
Sven Neumann 3f256652e6 removed prototype for gimp_sigfatal_handler()
svn path=/trunk/; revision=27271
2008-10-13 19:49:51 +00:00
Sven Neumann f6e08757a1 app/Makefile.am new files with code split out of main.c.
2008-10-13  Sven Neumann  <sven@gimp.org>

	* app/Makefile.am
	* app/signals.[ch]: new files with code split out of main.c.

	* app/main.c: changed accordingly.


svn path=/trunk/; revision=27270
2008-10-13 19:32:33 +00:00
Tor Lillqvist c1d3d25ef2 Code built by the still unstable mingw-w64 toolchain gets bogus argc and
2008-08-07  Tor Lillqvist  <tml@novell.com>

	* app/main.c: Code built by the still unstable mingw-w64 toolchain
	gets bogus argc and argv when built as subsystem:windows, so use
	__argc and __argv instead, which seem to be OK.

	* libgimp/gimp.h: Similar change here.


svn path=/trunk/; revision=26420
2008-08-07 15:45:33 +00:00
Sven Neumann 0cf63ba421 moved some common code back to main.c
svn path=/trunk/; revision=26118
2008-07-11 09:16:23 +00:00
Sven Neumann 30cc37c5fe app/Makefile.am new files containing functionality to check for an already
2008-07-11  Sven Neumann  <sven@gimp.org>

	* app/Makefile.am 
	* app/unique.[ch]: new files containing functionality to check 
for
	an already running instance of GIMP of notifying it about files 
to
	open. Code split out of main.c.

	* app/main.c: changed accordingly.


svn path=/trunk/; revision=26117
2008-07-11 09:08:07 +00:00
Sven Neumann c6260c55f2 removed misleading comment.
2008-07-11  Sven Neumann  <sven@gimp.org>

	* app/main.c (gimp_init_malloc): removed misleading comment.


svn path=/trunk/; revision=26116
2008-07-11 08:22:53 +00:00
Tor Lillqvist 131aa16e7a New files. Rename gimp_show_version() to gimp_version_show() and move
2008-02-26  Tor Lillqvist  <tml@novell.com>

	* app/version.[ch]: New files. Rename gimp_show_version() to
	gimp_version_show() and move here. When given both --version and
	--verbose, print build-time and run-time versions of the most
	important dependencies.

	* app/Makefile.am: Add them.

	* app/main.c: Call gimp_version_show().

	* app/Makefile.am: Use -mwindows only for the GUI gimp, not for
	gimp-console.


svn path=/trunk/; revision=24968
2008-02-26 14:02:44 +00:00
Michael Natterer 479a649898 Some cleanup...
2007-12-29  Michael Natterer  <mitch@gimp.org>

	Some cleanup...

	* app/Makefile.am: change linking order.

	* app/main.c: move gegl initialization from here...

	* app/app.c: ...to here.

	* app/gegl/gimpops.c: removed.

	* app/gegl/gimp-gegl.[ch]
	* app/gegl/gegl-types.h: added.

	* app/gegl/Makefile.am: changed accordingly.

	* app/gegl/gimpoptilesink.[ch]
	* app/gegl/gimpoptilesource.[ch]: made more gimpish.


svn path=/trunk/; revision=24459
2007-12-29 01:35:04 +00:00
Øyvind Kolås b06afdec24 Added adapter GEGL operations for reading and writing to TileManagers.
2007-12-29  Øyvind Kolås  <pippin@gimp.org>

	Added adapter GEGL operations for reading and writing to TileManagers.

	* configure.in:
	* app/Makefile.am: added gegl subdir.
	* app/gegl/Makefile.am: added.
	* app/gegl/gimpops.c: (gimp_gegl_ops_init):
	* app/gegl/gimpoptilesink.[ch]: adapter GEGL operation for writing to
	GIMP tile managers.
	* app/gegl/gimpoptilesource.[ch]: adapter GEGL operation for reading
	from GIMP tile managers.
	* app/main.c: (main): call gimp_gegl_ops_init()
	* app/gegl/gegl/: added some headers from GEGL that are not installed
	since they are not public API yet.

svn path=/trunk/; revision=24458
2007-12-29 00:57:51 +00:00
Michael Natterer 3229e67f64 app/Makefile.am new files implementing a log facility which can be enabled
2007-11-15  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimp-log.[ch]: new files implementing a log facility which
	can be enabled using the GIMP_LOG environment variable.

	* app/main.c: initialize it.

	* app/display/gimpdisplayshell-callbacks.c: use it instead of
	private debugging macros that need to be enabled at compile time.


svn path=/trunk/; revision=24160
2007-11-15 10:57:53 +00:00
Sven Neumann 3963c27fe4 added back short versions of --gimprc option and --console-messages
2007-10-17  Sven Neumann  <sven@gimp.org>

	* app/main.c: added back short versions of --gimprc option and
	--console-messages command-line options.

svn path=/trunk/; revision=23861
2007-10-17 18:43:23 +00:00
Sven Neumann c58c5e9659 added back short version of --gimprc option.
2007-10-17  Sven Neumann  <sven@gimp.org>

	* app/main.c: added back short version of --gimprc option.


svn path=/trunk/; revision=23860
2007-10-17 17:25:07 +00:00
Hans Breuer aface5c12a updated msvc build include <io.h> for get_osfhandle() prototype
2007-08-26  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated msvc build
	* app/main.c : include <io.h> for get_osfhandle()
	* plug-ins/jpeg/jpeg-settings.h : prototype
	jpeg_swap_original_settings


svn path=/trunk/; revision=23377
2007-08-26 18:59:34 +00:00
Sven Neumann 09578ea070 removed extra check for gthread and fold it into the GLIB and GTK checks.
2007-06-25  Sven Neumann  <sven@gimp.org>

	* configure.in: removed extra check for gthread and fold it into
	the GLIB and GTK checks.

	* */Makefile.am: changed accordingly.

	* app/main.c (main): always call g_thread_init().

svn path=/trunk/; revision=22832
2007-06-25 12:41:59 +00:00
Michael Natterer 3679ac69e8 initialize "uri" to NULL. #include "file/file-utils.h"
2007-05-22  Michael Natterer  <mitch@gimp.org>

	* app/main.c (gimp_dbus_open): initialize "uri" to NULL.
	#include "file/file-utils.h"


svn path=/trunk/; revision=22560
2007-05-22 11:24:23 +00:00
Michael Natterer 88ac187c84 new function, fixed and factored out of file_utils_filename_to_uri().
2007-05-14  Michael Natterer  <mitch@gimp.org>

	* app/file/file-utils.[ch] (file_utils_filename_is_uri): new function,
	fixed and factored out of file_utils_filename_to_uri().

	* app/main.c (gimp_dbus_open): use it here instead of a simple
	strstr(filename, "://").


svn path=/trunk/; revision=22484
2007-05-13 23:15:34 +00:00
Sven Neumann 0619846aef minor cleanup
svn path=/trunk/; revision=22471
2007-05-11 09:39:54 +00:00
Sven Neumann ea4becaca4 don't attempt the conversion if the argument is already an URI.
2007-05-11  Sven Neumann  <sven@gimp.org>

	* app/main.c (gimp_dbus_open): don't attempt the conversion if the
	argument is already an URI.


svn path=/trunk/; revision=22470
2007-05-11 09:31:26 +00:00
Sven Neumann 05d2b9a475 convert filenames to absolute file URIs before passing them to
2007-05-11  Sven Neumann  <sven@gimp.org>

	* app/main.c (gimp_dbus_open): convert filenames to absolute 
file
	URIs before passing them to dbus_g_proxy_call().


svn path=/trunk/; revision=22469
2007-05-11 07:12:05 +00:00
Sven Neumann 49b8176aa5 Allow other applications to open images in GIMP as if they were new images
2007-04-17  Sven Neumann  <sven@gimp.org>

	Allow other applications to open images in GIMP as if they were
	new images (without associating a filename). Fixes bug #423118.

	* app/file/file-open.[ch]: added parameter 'as_new' to
	file_open_image() and its variants.

	* app/actions/data-commands.c
	* app/actions/documents-commands.c
	* app/actions/file-commands.c
	* app/core/gimpimagefile.c
	* app/dialogs/file-open-dialog.c
	* app/dialogs/file-open-location-dialog.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptoolbox-dnd.c: changed accordingly.

	* app/app.[ch]
	* app/main.c: added new command-line option '--as-new'.

	* app/widgets/gimpdbusservice.[ch]
	* app/widgets/dbus-service.xml: added new method "OpenAsNew" to the
	D-Bus interface.

	* docs/gimp.1.in: document the new command-line option.


svn path=/trunk/; revision=22264
2007-04-17 15:54:01 +00:00
Sven Neumann fe0b95b6bc app/widgets/gimpdbusservice.[ch] added a boolean return value to the D-Bus
2007-03-27  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdbusservice.[ch]
	* app/widgets/dbus-service.xml: added a boolean return value to
	the D-Bus Open method.


svn path=/trunk/; revision=22182
2007-03-27 20:12:44 +00:00
Sven Neumann 518b13d17b changed file_open_from_command_line() to deal with a single filename only.
2007-03-27  Sven Neumann  <sven@gimp.org>

	* app/file/file-open.[ch]: changed file_open_from_command_line()
	to deal with a single filename only.

	* app/widgets/gimpdbusservice.[ch]
	* app/widgets/dbus-service.xml: changed the D-Bus Open method to
	take only a single filename.

	* app/app.c
	* app/main.c: changed accordingly.


svn path=/trunk/; revision=22181
2007-03-27 19:40:31 +00:00
Sven Neumann 766d27da9d renamed to app/app.[ch].
2007-02-02  Sven Neumann  <sven@gimp.org>

	* app/app_procs.[ch]: renamed to app/app.[ch].

	* app/Makefile.am
	* app/main.c: changed accordingly.


svn path=/trunk/; revision=21838
2007-02-02 14:27:16 +00:00
Tor Lillqvist 2f6ed7f688 Use wide character version of SetConsoleTitle().
2007-01-26  Tor Lillqvist  <tml@novell.com>

	* app/main.c: Use wide character version of SetConsoleTitle().


svn path=/trunk/; revision=21782
2007-01-26 21:22:07 +00:00
Tor Lillqvist 92cdceed77 Make the handling of console output make more sense Win32. Should mostly
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
2007-01-26 20:47:36 +00:00
Sven Neumann 509351d069 improved output.
2007-01-23  Sven Neumann  <sven@gimp.org>

	* app/main.c: improved output.


svn path=/trunk/; revision=21763
2007-01-23 07:52:13 +00:00
Sven Neumann 4c5cfb61d3 added Activate method.
2007-01-23  Sven Neumann  <sven@gimp.org>

        * app/widgets/dbus-service.xml: added Activate method.

        * app/widgets/gimpdbusservice.[ch]: raise the toolbox from the
        Activate method. Do nothing when no URIs are passed

        * app/main.c: try the Activate method on the org.gimp.GIMP 
service
        when being called without any filenames on the command-lines.


svn path=/trunk/; revision=21761
2007-01-22 23:25:37 +00:00
Sven Neumann 569e1b35fd simplified handling of d-bus errors.
2007-01-22  Sven Neumann  <sven@gimp.org>

	* app/main.c: simplified handling of d-bus errors.


svn path=/trunk/; revision=21760
2007-01-22 21:45:13 +00:00
Sven Neumann 8b405077c8 call gdk_notify_startup_complete() when we have delegated the work to
2007-01-19  Sven Neumann  <sven@gimp.org>

	* app/main.c: call gdk_notify_startup_complete() when we have
	delegated the work to another GIMP instance and are about to 
quit.


svn path=/trunk/; revision=21738
2007-01-19 19:21:18 +00:00
Sven Neumann bfd1dd5f07 INSTALL check for D-Bus GLib bindings.
2007-01-19  Sven Neumann  <sven@gimp.org>

	* INSTALL
	* configure.in: check for D-Bus GLib bindings.

	* app/Makefile.am
	* app/main.c: check if an interactive GIMP instance proposes
	itself on the D-Bus and delegate to it. Allow this behaviour to be
	overridden by using the --new-instance command-line option.

	* app/widgets/Makefile.am
	* app/widgets/gimpdbusservice.[ch]
	* app/widgets/dbus-service.xml: added an object that offers a
	D-Bus service.

	* app/gui/Makefile.am
	* app/gui/gui.c: connect to the D-Bus and export the GimpDBusService.


svn path=/trunk/; revision=21737
2007-01-19 14:50:13 +00:00
Sven Neumann c1ffb83357 updated copyright.
2007-01-12  Sven Neumann  <sven@gimp.org>

	* app/about.h (GIMP_COPYRIGHT): updated copyright.

	* app/main.c: use application name as summary in the help output.


svn path=/trunk/; revision=21694
2007-01-12 14:46:30 +00:00
Michael Natterer 25cc132bfc app/app_procs.c call g_thread_init() as the very first function in main().
2006-12-29  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c
	* app/main.c: call g_thread_init() as the very first function in
	main().
2006-12-29 02:28:50 +00:00
Sven Neumann 41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
Sven Neumann 188bbe5d37 app/app_procs.[ch] initialize the error subsystem after the gimp object
2006-09-09  Sven Neumann  <sven@gimp.org>

	* app/app_procs.[ch]
	* app/main.c: initialize the error subsystem after the gimp
object
	has been created.

	* app/errors.[ch]: store a reference to the gimp object (eek)
and
	use it to call gimp_gui_ungrab() before g_on_error_query().

	* app/core/gimp-gui.[ch]
	* app/gui/gui-vtable.c: added gimp_gui_ungrab().
2006-09-09 16:36:15 +00:00
Sven Neumann 7b1327dd86 I18n improvements based on a patch from Zbigniew Chyla:
2006-06-27  Sven Neumann  <sven@gimp.org>

	I18n improvements based on a patch from Zbigniew Chyla:

	* app/main.c:
	* modules/controller_midi.c
	* plug-ins/script-fu/scripts/guides-new.scm: marked strings for
	translation.

	* app/widgets/gimpdock.c
	* libgimpwidgets/gimppageselector.c
	* plug-ins/common/plugin-browser.c: use ngettext() for plural
forms.
2006-06-27 07:49:14 +00:00
Manish Singh f548b65329 app/errors.c app/main.c app/file/gimprecentlist.c libgimpbase/gimpsignal.c
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.
2006-06-16 16:21:35 +00:00
Manish Singh c7ba1223c3 app/errors.c app/main.c app/file/gimprecentlist.c libgimp/gimp.c
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.
2006-05-30 01:55:42 +00:00
Sven Neumann 049872b361 app/*.[ch] converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* app/*.[ch]
	* app/*/*.[ch]: converted tabs to spaces.
2006-04-12 12:49:29 +00:00
Sven Neumann ab184971a3 use GIMP_NAME.
2006-02-07  Sven Neumann  <sven@gimp.org>

	* app/main.c (gimp_show_version): use GIMP_NAME.
2006-02-07 10:54:31 +00:00
Sven Neumann e341b0e319 added --license command-line option.
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/main.c: added --license command-line option.

	* docs/gimp.1.in: documented the new option.
2005-12-29 18:39:03 +00:00
Sven Neumann f7e62345ea app/Makefile.am new file collecting some strings about the app.
2005-12-28  Sven Neumann  <sven@gimp.org>

	* app/Makefile.am
	* app/about.h: new file collecting some strings about the app.

	* app/main.c
	* app/dialogs/about-dialog.c
	* app/dialogs/user-install-dialog.c: use the defines from about.h.
2005-12-28 20:45:52 +00:00
Sven Neumann 39e866d9c0 Added support for binary relocation by means of binreloc, largely based on
2005-11-06  Sven Neumann  <sven@gimp.org>

	Added support for binary relocation by means of binreloc, largely
	based on a patch by Hongli Lai:

	* m4macros/Makefile.am
	* m4macros/binreloc.m4: new file providing a macro to check for
	binreloc support.

	* acinclude.m4
	* configure.in: use the macro.

	* libgimpbase/Makefile.am
	* libgimpbase/gimpreloc.[ch]: new files providing binreloc support
	on Linux.

	* libgimpbase/gimpenv.[ch]: use binreloc, provide a function to
	initialize the environment machinery.

	* libgimpbase/gimpbase.def: updated.

	* app/Makefile.am: fiddle with the LDFLAGS for binreloc.

	* app/main.c (main): gimp_env_init(FALSE).

	* libgimp/gimp.c (gimp_main): gimp_env_init(TRUE).
2005-11-06 01:06:41 +00:00
Sven Neumann cef547b0d5 INSTALL bumped the required version of glib to 2.8.
2005-09-26  Sven Neumann  <sven@gimp.org>

	* INSTALL
	* configure.in: bumped the required version of glib to 2.8.

	* app/main.c: use G_OPTION_ARG_NONE flag with callback options
	that take no argument. Fixes command-line options needed for 'make
	dist', such as '--dump-gimprc'
2005-09-25 23:04:25 +00:00
Sven Neumann e9443b5774 autogen.sh configure.in app/main.c app/widgets/gimptoolbox.c changed "The
2005-09-19  Sven Neumann  <sven@gimp.org>

	* autogen.sh
	* configure.in
	* app/main.c
	* app/widgets/gimptoolbox.c
	* plug-ins/script-fu/scripts/web-browser.scm: changed "The GIMP"
	to "GNU Image Manipulation Program" or just "GIMP".
2005-09-19 13:15:31 +00:00
Sven Neumann e1b5332a56 improved "--help" output.
2005-04-06  Sven Neumann  <sven@gimp.org>

	* app/main.c: improved "--help" output.

	* docs/gimp.1.in: updated.
2005-04-06 13:15:38 +00:00
Sven Neumann 3d0ebd0817 added a comment about the use of mallopt() and what could be done instead.
2005-02-15  Sven Neumann  <sven@gimp.org>

	* app/main.c (gimp_init_malloc): added a comment about the use of
	mallopt() and what could be done instead. Use the TILE_WIDTH and
	TILE_HEIGHT defines to determine the M_MMAP_THRESHOLD value.
2005-02-15 11:19:23 +00:00
Sven Neumann 2b63addc8f added a comment about the use of mallopt() and what could be done instead.
2005-02-15  Sven Neumann  <sven@gimp.org>

	* app/main.c (gimp_init_malloc): added a comment about the use of
	mallopt() and what could be done instead.
2005-02-15 11:11:02 +00:00
Sven Neumann ebb343fa91 app/app_procs.[ch] app/gui/gui.[ch] simplified initialization by passing
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-08 22:57:24 +00:00
Michael Natterer a285088cb7 removed SIGCHLD handler which used to call waitpid(-1,...) because this
2005-02-08  Michael Natterer  <mitch@gimp.org>

	* app/main.c: removed SIGCHLD handler which used to call
	waitpid(-1,...) because this breaks all waitpid(pid,...) calls
	in a non-deterministic way. Apparently it is possible to use both
	SIG_DFL *and* SA_RESTART (SA_RESTART being the original reason
	why the call to sigaction() was introduced).

	* app/plug-in/plug-in.c (plug_in_close): don't have a million
	subsequent if(plug_in->pid) blocks. Put everything into one big
	if(plug_in->pid) block instead. Call g_spawn_close_pid() on all
	platforms instead of using the Win32 CloseHandle().
2005-02-08 22:38:58 +00:00
Sven Neumann 7a3f6786da moved call to sanity_check() after the initialization of gtk+ so that the
2005-02-06  Sven Neumann  <sven@gimp.org>

	* app/main.c: moved call to sanity_check() after the
	initialization of gtk+ so that the error message can be displayed.
2005-02-06 15:47:03 +00:00
Sven Neumann 17fc813922 tools/Makefile.am allow to localize gimp-remote.
2005-02-03  Sven Neumann  <sven@gimp.org>

	* tools/Makefile.am
	* tools/gimp-remote.c: allow to localize gimp-remote.

	* app/main.c: changed a string so it can be shared with gimp-remote.
2005-02-03 20:23:51 +00:00
Sven Neumann 19036efb36 using GOptionContext to look for a single option seems like overkill 2005-02-03 15:58:00 +00:00
Sven Neumann 25d96bad97 some cleanup in main().
2005-02-03  Sven Neumann  <sven@gimp.org>

	* app/main.c: some cleanup in main().
2005-02-03 15:21:20 +00:00
Sven Neumann 1fbd1ad123 app/app_procs.[ch] let the GLib command-line parser deal with the
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().
2005-02-02 23:23:33 +00:00
Sven Neumann 8bc6352a38 more work on the command-line option parser.
2005-02-03  Sven Neumann  <sven@gimp.org>

	* app/main.c: more work on the command-line option parser.
2005-02-02 23:04:24 +00:00
Sven Neumann 7e8139b592 depend on glib >= 2.6.0.
2005-02-02  Sven Neumann  <sven@gimp.org>

	* configure.in: depend on glib >= 2.6.0.

	* app/main.c: use the new GLib commandline option parser. Still
	work in progress.
2005-02-02 22:08:35 +00:00
Sven Neumann eb7b317d36 app/main.c app/widgets/gimpenumstore.h app/widgets/gimpunitstore.c applied
2004-11-27  Sven Neumann  <sven@gimp.org>

	* app/main.c
	* app/widgets/gimpenumstore.h
	* app/widgets/gimpunitstore.c
	* plug-ins/common/retinex.c: applied patch by Tim Mooney that
	removes extraneous ;
2004-11-27 12:09:13 +00:00
Sven Neumann 1956f31140 app/app_procs.[ch] app/batch.[ch] added new command-line option
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-10-06 09:56:15 +00:00
Hans Breuer 3b3039148c build but *dont link* display-enums.obj, widget-enums.obj and
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-08-01 20:51:12 +00:00
Michael Natterer 3d05015a24 use #ifdef GIMP_UNSTABLE instead of looking at GIMP_MINOR_VERSION.
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-26 10:44:25 +00:00
Michael Natterer 84c29b4861 Made the gimp-console binary compile. Finishes core/GUI separation and
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 14:32:31 +00:00
Sven Neumann 1abeb90523 removed the gtk+ sanity check here ...
2004-07-12  Sven Neumann  <sven@gimp.org>

	* app/sanity.[ch]: removed the gtk+ sanity check here ...

	* app/gui/gui.c: ... and do it here from gui_libs_init().

	* app/main.c: changed accordingly.
2004-07-12 13:22:28 +00:00
Simon Budig 656795fac0 when glibc is used, call mallopt, so that memory chunks >= 4k (= 64*64
2004-04-29  Simon Budig  <simon@gimp.org>

	* app/main.c: when glibc is used, call mallopt, so that memory
	chunks >= 4k (= 64*64 pixels, 1bpp - the smallest full tile)
	get allocated via mmap. This ensures that after closing an image
	the memory allocated for image data gets returned to the system.

	Thanks to Phil Blundell <pb@nexus.co.uk> for bringing mallopt
	to my attention.

	Please watch closely for performance problems.
2004-04-29 19:47:24 +00:00
Michael Natterer afe0eb359e app/Makefile.am new files implementing sanity_check() for run-time
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-30 11:32:21 +00:00
Sven Neumann 1951ad2146 splash image for GIMP 2.0 by Jimmac.
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-03-15 00:17:21 +00:00
Michael Natterer 57911bbcba app/app_procs.c app/errors.c app/main.c app/config/gimpconfigwriter.c
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-23 17:24:44 +00:00
Sven Neumann a76222ea7c changed "compat" to "compatibility".
2004-01-12  Sven Neumann  <sven@gimp.org>

	* app/main.c (gimp_show_help): changed "compat" to "compatibility".
2004-01-12 13:36:37 +00:00
Manish Singh 6bf0f76be8 app/main.c app/plug-in/plug-in-shm.c POSIX shared memory tile transport
2003-12-27  Manish Singh  <yosh@gimp.org>

        * app/main.c
        * app/plug-in/plug-in-shm.c
        * libgimp/gimp.c: POSIX shared memory tile transport implementation,
        and a little code cleanup of the SysV and Win32 implementations.

        * configure.in: checks for shm_open, default to POSIX shared memory
        transport on OS X.
2003-12-27 08:07:15 +00:00
Michael Natterer ca45a5c65a added enum GimpPDBCompatMode which can be one of { OFF, ON, WARN }.
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-12-05 17:08:35 +00:00
Sven Neumann 2bc1d80072 renamed remaining occurences of "use_mmx" to "use_cpu_accel".
2003-11-30  Sven Neumann  <sven@gimp.org>

	* app/main.c: renamed remaining occurences of "use_mmx" to
	"use_cpu_accel".

	* app/paint-funcs/paint-funcs.[ch]: removed unused "use_mmx"
	parameter.

	* app/base/base.c: changed accordingly.

	* docs/gimp-1.3.1.in: documented the changed command-line option.
2003-11-30 17:53:39 +00:00
Helvetix Victorinox 11903e3078 Changed the existing command line option, --no-mmx to --no-cpu-accel and
* app/composite/gimp-composite.c:
* app/composite/gimp-composite.h:
* app/main.c:
* app/base/base.c:

Changed the existing command line option, --no-mmx to
--no-cpu-accel and propogated the changes necessary to use that
flag to turn OFF the use of CPU extensions using only the generic
implementations in app/composite/gimp-composite-generic.c

Nota Bene: All of the previous gimp 1.2 code is still available
and is is enabled by setting the GIMP_COMPOSITE environment
variable to zero (GIMP_COMPOSITE=0x0).  This causes only the 1.2
code to be used and is helpful for regression testing of the newer
gimp-composite code.  Whether using the new code, or the old code
there should be absolutely no visible differences.

The newly renamed option --no-cpu-accel retains its previous
semantic meaning with the old 1.2 code--turning OFF MMX
optimisations.
2003-11-30 17:29:37 +00:00
Sven Neumann 921f00c13d unref the gimp object after dumping the configuration as a test for
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-17 00:17:01 +00:00
Michael Natterer c396165978 call units_init() before gimp_config_dump().
2003-11-16  Michael Natterer  <mitch@gimp.org>

	* app/main.c (main): call units_init() before gimp_config_dump().
2003-11-16 22:46:40 +00:00
Michael Natterer 5221d4daa6 libgimpbase/Makefile.am libgimpbase/gimpbase-private.[ch] new files
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-15 22:53:28 +00:00
Sven Neumann a843b2adfd app/app_procs.[ch] app/main.c app/core/gimp.[ch] app/gui/gui.c allow to
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-13 14:14:20 +00:00
Sven Neumann 51113c495c added new command-line option --no-fonts. Might be useful to reduce
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 00:33:20 +00:00
Sven Neumann 63f1e7ca21 corrected the source of the man-page; it's not any longer created by
2003-10-25  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-dump.c: corrected the source of the
	man-page; it's not any longer created by gimpconfig-dump, but by
	'gimp --dump-gimprc-manpage'.

	* docs/gimp-1.3.1.in
	* app/main.c (gimp_show_help): Reordered command-line options and
	documented the new --dump-gimprc option.
2003-10-25 20:05:41 +00:00
Sven Neumann 24c90dca5c app/Makefile.am app/main.c app/config/Makefile.am app/config/makefile.msc
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/Makefile.am
	* app/main.c
	* app/config/Makefile.am
	* app/config/makefile.msc
	* app/config/gimpconfig-dump.[ch]: removed the separate
	gimpconfig-dump binary and moved the functionality into gimp
	itself. It became a mess to build and seems cleaner this way.
2003-10-13 22:55:25 +00:00
Michael Natterer dceb84e9df call g_set_prgname() in the --no-interface case (GDK is doing this for us
2003-10-13  Michael Natterer  <mitch@gimp.org>

	* app/main.c (main): call g_set_prgname() in the --no-interface
	case (GDK is doing this for us otherwise).

	Always set a human readable localized application name using
	g_set_application_name().
2003-10-13 15:48:35 +00:00
Sven Neumann 4591aed0b4 app/errors.c (gimp_eek) app/main.c (main) (gimp_text_console_exit) call
2003-10-10  Sven Neumann  <sven@gimp.org>

	* app/errors.c (gimp_eek)
	* app/main.c (main) (gimp_text_console_exit)
	* app/gui/user-install-dialog.c (user_install_cancel_callback):
	call exit() with EXIT_SUCCESS or EXIT_FAILURE instead of 0 and 1.
2003-10-10 10:02:34 +00:00
Michael Natterer 85dfbe46c2 Got rid of the last global variables except the_gimp:
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 16:47:59 +00:00
Michael Natterer 284b8f91d7 added "gboolean console_messages" to the Gimp struct and to gimp_new()
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-09 10:54:20 +00:00
Michael Natterer b8b7985bb0 We really don't need that global variable overkill from appenv.h just to
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-09-01 17:26:09 +00:00
Sven Neumann 9aaf432daa app/app_procs.c app/batch.c moved global variables out of main.c.
2003-08-09  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c
	* app/batch.c
	* app/main.c: moved global variables out of main.c.
2003-08-09 11:51:42 +00:00
Michael Natterer 30ea5171aa removed the calls to g_log_set_handler().
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".
2003-05-29 11:34:30 +00:00