2004-02-17 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpprotocol.[ch]: changed wm_name to app_name in
the GimpConfig struct; increased GIMP_PROTOCOL_VERSION.
* app/plug-in/plug-in-run.c (plug_in_run): pass the return value
of g_get_application_name() to the plug-ins.
* libgimp/gimp.[ch]: removed function gimp_wm_name(). Set the
plug-in's application name if an app_name is passed in the config
message.
* libgimp/gimpui.c: removed usage of gimp_wm_name(); it was wrong
to do it this way and caused all plug-ins claim to be the gimp-1.3
executable in their error messages.
* libgimp/gimp.def: removed symbol gimp_wm_name.
* configure.in: reset gimp_binary_age and gimp_interface_age.
* app/core/gimpimage.c (gimp_image_name_changed): removed unused
variable.
2004-02-07 Hans Breuer <hans@breuer.org>
* gimpdefs.msc : new file to keep common definitions for the msc build
* **/makefile.msc : use common defintions, e.g. GIMP_VER
* Makefile.am : add the former to EXTRA_DIST
2004-01-28 Michael Natterer <mitch@gimp.org>
Added infrastructure to make sure we don't write to the global
brush, pattern etc. directories. Needed to make this configurable
because we can't rely on the global directories being read-only,
having certain names or being otherwise detectable at runtime in a
sane way. Fixes bug #132214.
* libgimpbase/gimpdatafiles.[ch]: added "const gchar *dirname" to
the GimpDataFileData struct so callbacks don't need to call
g_path_get_dirname() for each file.
* libgimpwidgets/gimpfileentry.c: made it work with non UTF-8
encoded filenames.
* libgimpwidgets/gimppatheditor.[ch]: ditto. Added GUI and API for
setting/getting a second "writable_path". The widget makes sure
that the writable_path is always a subset of the path.
* app/config/gimpconfig-utils.[ch]: added new function
gimp_config_build_writable_path().
* app/config/gimpcoreconfig.[ch]: added separate properties for
the writable brush, pattern, gradient, palette and font paths.
* app/config/gimprc-blurbs.h: added (still empty) blurbs for the
new properties.
* app/core/gimpdata.[ch] (gimp_data_set_filename): added parameter
"gboolean writable". Set data->writable to FALSE by default. If
"writable" is passed as TRUE, still check if we can write to the
file before setting data->writable to TRUE.
(gimp_data_create_filename): changed "data_path" parameter to
"dest_dir" and assume dest_dir is writable.
(gimp_data_duplicate): set data->dirty to TRUE to make sure
duplicated things will be saved.
* app/core/gimpbrush.c
* app/core/gimpbrushgenerated.c
* app/core/gimpbrushpipe.c
* app/core/gimpgradient.c
* app/core/gimppalette.c
* app/core/gimppattern.c: don't set the data's filename and don't
touch data->dirty in the _load() functions because that's done by
the data factory now. Don't touch data->dirty in the _duplicate()
functions because that's done by gimp_data_duplicate() itself now.
* app/core/gimpdatafactory.[ch] (gimp_data_factory_new): added
"writable_property_name" and remember it.
Added utility function gimp_data_factory_get_save_dir() which
determines the directory to save new datas to.
Added public function gimp_data_factory_data_save_single() which
saves a single data object.
Make sure new things get saved to the first writable directory
as specified in preferences.
* app/core/gimp.c (gimp_real_initialize): pass the writable_paths'
property names to gimp_data_factory_new().
* app/widgets/gimpdataeditor.c (gimp_data_editor_save_dirty): use
gimp_data_factory_data_save_single() instead of implementing
saving here.
* app/widgets/gimppropwidgets.[ch] (gimp_prop_path_editor_new):
added "const gchar *writable_property_name" parameter (can be
NULL).
Added the needed callbacks to handle the writable_path and made
the path_editor and file_entry code aware of non UTF-8 filename
encodings. Some general cleanup.
* app/gui/preferences-dialog.c: changed accordingly.
2004-01-21 Manish Singh <yosh@gimp.org>
* configure.in: modernized, made a lot of things m4 macros, and made
versioning a lot more finegrained, in anticipation for post-2.0.
* autogen.sh: bumped up libtool and glib minimum requirements to match
reality.
* gimp-2.0.pc.in
* gimpthumb-2.0.pc.in
* gimpui-2.0.pc.in: adapted to new versioning variables, and bring
in RT_LIBS when needed.
* */*/Makefile.am: adapted to new versioning variables.
2004-01-19 Sven Neumann <sven@gimp.org>
* configure.in: bumped version number to 2.0pre3 (1.3.26),
binary age 2, interface age 0.
* libgimpbase/gimpsignal.h: removed unused definition of
gimp_signal_syscallrestart().
2004-01-19 Sven Neumann <sven@gimp.org>
* app/file/file-utils.[ch]: removed file_utils_filename_to_utf8() ...
* libgimpbase/gimputils.[ch]: ... and added it here as
gimp_filename_to_utf8(). Added some docs that promise less than
the current implementation holds so that we can change the
implementation later.
* app/*/*.c: use gimp_filename_to_utf8() where
file_utils_filenames_to_utf8() has been used before.
* libgimpbase/gimpbase.def: changed accordingly.
* configure.in: reset GIMP_INTERFACE_AGE.
2004-01-14 Tor Lillqvist <tml@iki.fi>
* app/file/file-utils.[ch]: Add new function
file_utils_filename_to_utf8(), which is to be used when converting
file names (which are kept in the on-disk encoding) to UTF-8 for
passing to GTK, or to g_print() etc.
* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
of the warnings generated by non-UTF8 pathnames. See #130118.
* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
strings in the on-disk encoding.
* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
g_filename_to_utf8()) before passing to g_print().
2004-01-06 Michael Natterer <mitch@gimp.org>
Enabled skipping enum values for either the PDB or GType
registration (don't always skip both targets):
* tools/gimp-mkenums: skip enum values only if there is a literal
"skip" (don't match "pdb-skip").
* tools/pdbgen/enumgen.pl: skip only "pdb-skip" values, not "skip"
ones.
* app/base/base-enums.h
* app/core/core-enums.h
* app/paint/paint-enums.h
* libgimpbase/gimpbaseenums.h: use the right "pdb-skip"/"skip"
combination to skip enum values. Changed comments accordingly.
Cleaned up the fill functions:
* app/core/core-enums.[ch]: added GIMP_PATTERN_FILL enum value to
the GimpFillType enum. Don't export GIMP_NO_FILL to the PDB
because it's completely useless to export a NOP.
* app/core/gimp-edit.c (gimp_edit_fill, gimp_edit_fill_internal):
handle pattern fill requests.
* app/core/gimpdrawable.[ch] (gimp_drawable_fill): added GimpPattern
parameter and fill with it if it's non-NULL.
(gimp_drawable_fill_by_type): handle pattern fill and pass the
current pattern to gimp_drawable_fill().
* app/text/gimptextlayer.c: changed accordingly.
* app/gui/edit-commands.c
* app/gui/image-menu.c: use gimp_edit_fill() instead of
gimp_drawable_bucket_fill() for FG, BG and pattern filling.
* libgimp/gimpcompat.h
* plug-ins/script-fu/siod-wrapper.c: removed NO_IMAGE_FILL compat
enum value. It should have never been exported to the PDB.
* app/pdb/drawable_cmds.c
* app/pdb/edit_cmds.c
* libgimp/gimpenums.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
2003-11-25 Sven Neumann <sven@gimp.org>
* libgimpbase/gimplimits.h: added GIMP_MAX_MEMSIZE, an arbitrary
upper limit for memory sizes. It must be smaller than G_MAXDOUBLE
since our memsize entry doesn't handle anything larger.
* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new):
check against GIMP_MAX_MEMSIZE, not G_MAXDOUBLE.
* app/config/gimpbaseconfig.c
* app/config/gimpcoreconfig.c
* app/config/gimpguiconfig.c: use GIMP_MAX_MEMSIZE instead of
G_MAXULONG. The latter is larger than G_MAXDOUBLE on 64bit
machines and caused bug #127908.
* libgimpwidgets/gimpmemsizeentry.c: added casts to guint64.
2003-11-16 Hans Breuer <hans@breuer.org>
* app/text/*.c : still unacceptable patched to compile
without FT2, see bug #113681
* **makefile.msc : updated
* app/config/gimpconfig-dump.c : include gimpwin32-io.h
* app/plug-in/plug-ins.c : don't depend on g_print handling
%s with NULL pointers, it doesn't anymore with glib cvs at
least not on win32
* app/widgets/gimppropwidgets.c
libgimpbase/gimputils.c
libgimpwidgets/gimpmemsizeentry.c :
sorry about the mess, need to work-around a stupi not able
to cast from guint64 to double
* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new) :
avoid 'overflow in floating-point constant arithmetic' by disabling
an imho alays questionable g_return_val_if_fail() for _MSC_VER only
* libgimpmodule/gimpmodule.def : sorted
* libgimpwidgets/gimpfileselection.c : removed unused S_ISDIR
definition
* app/gui/themes.c : filenames in rc files need to be escaped
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-14 Sven Neumann <sven@gimp.org>
* libgimpbase/gimputils.[ch] (gimp_memsize_to_string): take a
guint64 parameter and handle values beyond a gigabyte.
* app/core/gimptemplate.[ch]: use a guint64 for the initial memory
size and removed the gboolean that used to indicate a gulong
overflow.
* app/widgets/gimptemplateeditor.[ch]: changed accordingly.
* app/gui/file-new-dialog.c: don't set the OK button insensitive
when the initial memory size exceeds GULONG_MAX.
* app/widgets/gimpsessioninfo.c (gimp_session_info_deserialize):
replaced a misleading comment.
2003-11-08 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-error.h: added GIMP_CONFIG_ERROR_VERSION
to GimpConfigError enum.
* libgimpbase/gimpprotocol.h: renamed GP_VERSION to
GIMP_PROTOCOL_VERSION.
* libgimp/gimp.c
* app/plug-in/plug-in-run.c: changed accordingly.
* app/plug-in/plug-in-rc.[ch]: write the protocol version to the
pluginrc and stop parsing when a wrong protocol version is found.
* app/plug-in/plug-ins.c: pass a GError to plug_in_rc_parse().
2003-11-07 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpprotocol.[ch]: added "wm_name", "wm_class",
"display_name" and "monitor_number" to the GPConfig message.
Increased protocol version number.
* libgimp/gimp.[ch] (gimp_config): read them from the GPConfig
message and remember them.
Added public accessors for the new config values.
* libgimp/gimpui.c (gimp_ui_init): pass wm_name and wm_class to
gtk_init() and export the display/screen to use to the
environment.
* app/core/gimp.[ch]: added vtable entries to get the values
from the GUI.
* app/gui/gui-vtable.c: implement the vtable entries.
* app/plug-in/plug-in-run.c: fill in the GPConfig values using
the new Gimp vtable functions.
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/gui/about-dialog.c
* app/gui/channels-commands.c
* app/gui/color-notebook.c
* app/gui/convert-dialog.c
* app/gui/file-dialog-utils.[ch]
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/gradients-commands.c
* app/gui/grid-dialog.c
* app/gui/image-commands.c
* app/gui/info-dialog.[ch]
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/module-browser.c
* app/gui/offset-dialog.c
* app/gui/palette-import-dialog.c
* app/gui/qmask-commands.c
* app/gui/resize-dialog.c
* app/gui/splash.c
* app/gui/stroke-dialog.c
* app/gui/templates-commands.c
* app/gui/tips-dialog.c
* app/gui/vectors-commands.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpdock.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimptexteditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimpviewabledialog.[ch]
* libgimpwidgets/gimpfileselection.c
* libgimpwidgets/gimpquerybox.c
* libgimpwidgets/gimpunitmenu.c
* plug-ins/helpbrowser/dialog.c
* plug-ins/ifscompose/ifscompose.c: replaced all calls to
gtk_window_set_wmclass() by gtk_window_set_role() and all
"const gchar *wmclass_name" parameters by "const gchar *role".
Cleaned up the window role strings.
2003-11-05 Tor Lillqvist <tml@iki.fi>
* libgimpbase/Makefile.am: Move gimpwin32-io.h to
libgimpbase_1_3_la_SOURCES, so that it gets distributed.
* libgimpmodule/Makefile.am: Remove empty and meaningless
EXTRA_HEADERS.
2003-10-20 Tor Lillqvist <tml@iki.fi>
* libgimpbase/gimpenv.c (gimp_directory): Fix bug that was
introduced when the call to g_strconcat() was replaced with a call
to g_build_filename(). The per-user directory in
gimp_data_directory() (which mainly is used on Windows when no
home directory can be found) is supposed to be
".gimp-1.3.<username>", not ".gimp-1.3./<username>".
2003-10-16 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimputils.[ch]: new function which takes any string
and returns UTF-8 (it returns "(invalid UTF-8 string)" if all
conversion attempts fail).
* app/core/gimpbrush.c
* app/core/gimpgradient.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/xcf/xcf-read.c: use it. Fixes bug #79897.
2003-10-09 Tor Lillqvist <tml@iki.fi>
* gimp-zip.in: New file, shell script used to build zipfiles for
distribution of Windows runtime and developer packages.
* Makefile.am
* configure.in: Add it, expand it.
* libgimp*/Makefile.am: On Windows, install and uninstall the .def
files.
* app/config/gimpguiconfig.c: On Windows, don't use the internal
help browser by default, as it isn't there. Don't use a fixed
guess for Internet Explorer's path on Windows. We don't even need
to know the path to the web browser, we can use ShellExecute() in
the webbrowser plug-in.
* plug-ins/common/webbrowser.c: Use ShellExecute() on Windows.
* po*/makefile.cygwin: Remove, unmaintained.
2003-09-04 Manish Singh <yosh@gimp.org>
* app/base/cpu-accel.[ch]: rewrote the x86 tests, moved debug printout
from base.c to here.
* test-cpu-accel.c: simple test program to test the above.
* app/base/base.c: use cpu_accel_print_results ()
* app/base/Makefile.am: added test-cpu-accel to TESTS.
* data/Makefile.am: make site local font directory on install.
2003-09-01 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* app/composite/gimp-composite-mmx.c: For some reason the gcc&gas
combination used on Win32 wants identifiers prefixed with
underscores in the asm sequences.
* plug-ins/common/ps.c (ps_open): [Win32] Don't write the gs
executable name into the indirect command line file. Do write the
quoted form of the filename to it.
(my_shell_quote): New funcion. Use instead of g_shell_quote() on
Windows, as g_shell_quote() always uses single quotes, which don't
mean anything to the Windows shell (or C runtime startup
code). (This might be argued to be a bug in GLib, maybe
g_shell_quote should behave differently accoring to platform.)
* etc/gimprc.win32: Remove, generate with gimpconfig-dump.
* */makefile.mingw.in: Remove, unmaintained.
2003-08-14 Manish Singh <yosh@gimp.org>
* configure.in: libgimpbase/gimpversion.h is now only updated if
its contents actually change. This should prevent rebuilding
everything if only configure is run.
* libgimpbase/gimpversion.h.in: no longer needed
2003-07-28 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am (EXTRA_HEADERS): added gimpwin32-io.h.
* libgimpbase/gimpdatafiles.c: properly include the new header.
2003-07-26 Hans Breuer <hans@breuer.org>
* libgimp/gimpcompat.h : renamed GimpOrientationType
with Compat postfix to avoid name clashing when using
this header together with libgimp/gimpenums.h
* app/composite/makefile.msc : (new file)
**/makefile.msc : updated
* libgimp/gimp.c : use static defined _tile<widht|height>
in this file instead of function call
* libgimp/gimp.def libgimp/libgimpui.def : moved from former
to latter : gimp_<brush|font|gradient|pattern>_select_<new|destroy>
added to former gimp_<brushes|gradients|patterns>_popup
* app/paint/gimppaintcore.h : removed double semicolon
which gave msvc error C2059: syntax error : ';'
* libgimpbase/gimpwin32-io.h : (new file) compatibilty defines
which were spread over multiple files to make up mostly for
missing unistd.h
* app/base/tile-swap.c app/core/gimpimagefile.c
libgimpbase/gimpdatafiles.c
plug-ins/FractalExplorer/FractalExplorer.c : use new header
* plug-ins/gflare/gflare.c
plug-ins/flame/flame.c
plug-ins/FractalExplorer/Dialogs.c :
removed #ifdef G_OS_WIN32 special casing, not needed anymore
due to g_file_test() usage
* app/text/*.* : changes required for build with PangoWin32,
but not commited ...
2003-07-07 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpbasetypes.h: include <libgimpmath/gimpmathtypes.h>.
* libgimpmath/gimpmathtypes.h
* libgimpmath/gimpmatrix.[ch]: added GimpMatrix2 struct definition
and new function gimp_matrix2_identity().
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-params.[ch]
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-types.[ch]
* app/config/gimpconfig.c
* app/config/gimpscanner.[ch]: added a boxed type around GimpMatrix2.
* app/text/gimptext.[ch]: added new property "transformation".
2003-07-04 Sven Neumann <sven@gimp.org>
* configure.in: redone target platform detection and MMX assembly
checks. Basically copied from DirectFB.
* app/Makefile.am
* app/arch/i386/mmx/detect_mmx.S
* app/arch/i386/mmx/paint_funcs_mmx.S
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs-mmx.h
* app/paint-funcs/paint-funcs-simd.S: removed the old MMX routines.
New ones will come instead.
* app/base/Makefile.am
* app/base/detect-mmx.[Sh]: removed these two files...
* app/base/cpu-accel.[ch]: ... and added new ones that do more
fine-grained cpu acceleration detection. Again taken from DirectFB
but the code is originally from mpeg2dec.
* app/base/base.c: print results from cpu feature tests.
2003-07-02 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbasetypes.h: changed GimpDatafileLoaderFunc to
take a separate "gpointer user_data" parameter (passing user_data
in a struct was a quite nonstandard API design). Made the
GimpDatafileData pointer const.
* libgimpbase/gimpdatafiles.[ch]: removed user_data from the
GimpDatafileData struct and added "const gchar *basename" so we
don't need to g_path_get_basename() in many callbacks.
* libgimp/gimpmiscui.[ch]: changed gimp_plug_in_parse_path() to
gimp_plug_in_get_path() and return the unparsed path.
* app/core/gimpdatafactory.c
* app/core/gimpenvirontable.c
* app/gui/gui.c
* app/plug-in/plug-ins.c
* libgimpmodule/gimpmoduledb.c
* plug-ins/script-fu/script-fu-scripts.c: changed accordingly.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/FractalExplorer/FractalExplorer.[ch]
* plug-ins/FractalExplorer/Globals.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: use gimp_datafiles_read_directories()
instead of fiddling with g_dir_open() manually. Random cleanups.
2003-07-01 Sven Neumann <sven@gimp.org>
* libgimp/gimp.[ch]
* libgimp/gimpchannel.[ch]
* libgimp/gimpdrawable.[ch]
* libgimp/gimpimage.[ch]
* libgimp/gimplayer.[ch]
* libgimp/gimpmisc.[ch]
* libgimp/gimpmiscui.[ch]
* libgimp/gimppixelrgn.[ch]
* libgimp/gimpproceduraldb.[ch]: added const qualifiers to the
libgimp API. Will cause lots of compiler warnings until the
generated PDB code has been constified as well.
* libgimpbase/gimpparasite.[ch]: use gconstpointer, not const
gpointer.
2003-06-23 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.[ch]
* app/config/gimpconfigwriter.[ch]
* app/config/gimpscanner.[ch]: added support for serializing to
and deserializing from strings. Had to do some smaller changes to
the GimpConfig API.
* app/config/test-config.c: added a simple test for the new
functions.
* app/config/gimpconfig-dump.c
* app/config/gimprc.c
* app/core/gimp-documents.c
* app/core/gimp-parasites.c
* app/core/gimp-templates.c
* app/core/gimpunits.c
* app/gui/session.c
* app/plug-in/plug-in-rc.c
* app/tools/tool_options.c
* app/widgets/gimpdevices.c: follow GimpConfig API changes.
* libgimpbase/gimpparasite.[ch]: declared the return value of
gimp_parasite_data() as gconstpointer.
2003-06-20 Michael Natterer <mitch@gimp.org>
Really commit the changes this time:
* configure.in: bumped version number to 1.3.16.
* libgimpbase/gimpprotocol.h: increased protocol version number so
old extensions will refuse to load.