2007-12-21 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-save.c
* app/xcf/xcf-load.c: use accessors for colormap, parasites and
more item, layer, channel and mask properties instead of accessing
the object structs directly. Some minor style cleanups.
svn path=/trunk/; revision=24423
2007-12-18 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c: use the proper APIs to get/set many item,
layer, channel and vectors properties instead of reading/writing
their struct members directly.
svn path=/trunk/; revision=24397
2007-09-24 Simon Budig <simon@gimp.org>
* app/xcf/xcf-load.c: use the correct default values for the
control points of a loaded path.
Fixes bug #479176.
svn path=/trunk/; revision=23637
2007-07-06 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c (xcf_load_image): marked two error messages
as translatable strings.
* libgimpbase/gimputils.c (gimp_any_to_utf8): insert a blank
before the text that marks the string as invalid.
svn path=/trunk/; revision=22887
2007-07-05 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-read.c (xcf_read_int32) (xcf_read_int8): return the
number of bytes that have been read from the file.
* app/xcf/xcf-load.c (xcf_load_prop): return FALSE when reading fails.
svn path=/trunk/; revision=22873
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-05-22 Sven Neumann <sven@gimp.org>
* app/base/siox.c: allocate structs using GSlice.
* app/base/tile-swap.[ch]
* app/xcf/xcf-load.c: removed dead code that used to deal with
swapping from XCF files. Simplified swap file code quite a bit.
svn path=/trunk/; revision=22585
2007-05-22 Michael Natterer <mitch@gimp.org>
* app/base/tile.[ch]: changed tile_init() to tile_new() and return
a GSlice-allocated Tile structure.
(tile_destroy): free it using GSLice.
* app/base/tile-manager.c: use tile_new() instead of g_new plus
tile_init(). Also allocate TileManager itself using GSlice.
* app/xcf/xcf-load.c (xcf_load_parasite): allocate parasites using
gimp_parasite_new().
svn path=/trunk/; revision=22571
2007-01-26 Tor Lillqvist <tml@novell.com>
Fix#398311 in GIMP until corresponding abstraction has been added
to GLib:
* app/base/tile-private.h: Use gint64 instead of off_t. (I assume
the configury makes sure GIMP is always compiled as
large-file-aware on Unix with an off_t of at least 64 bits?)
Introduce wrapper macros LARGE_SEEK() and LARGE_TRUNCATE(). On
Win32 LARGE_SEEK() calls _lseeki64() in the Microsoft C library,
and LARGE_TRUNCATE calls a new internal function
gimp_win32_large_truncate(). On Unix they call lseek() and
ftruncate().
* app/base/tile-swap.c: Use gint64 instead of off_t. Use
LARGE_SEEK() and LARGE_TRUNCATE() instead of lseek() and
ftruncate().
(gimp_win32_large_truncate): New function. Calls LARGE_SEEK() and
SetEndOfFile().
* app/xcf/xcf-load.c (xcf_swap_func): Use LARGE_SEEK() instead of
lseek().
svn path=/trunk/; revision=21785
2006-11-22 Simon Budig <simon@gimp.org>
* app/xcf/xcf-load.c: load the channels in the proper order.
fixes bug #378003. Thanks to Chris Mohler for spotting this.
2006-11-13 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf.c (xcf_load_invoker): fix g_str_has_prefix() change
below. Now we can open XCF files again. Fixes bug #374657.
2006-10-16 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: removed the "floating" flag and the
floating/sink API.
(gimp_item_init): call g_object_force_floating() instead.
* app/core/gimpimage.c
* app/core/gimplayer.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: use combinations of
g_object_ref_sink() and g_object_unref() instead of
gimp_item_sink(). Use g_object_is_floating() instead of
gimp_item_is_floating().
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-10-11 Raphael Quinet <raphael@gimp.org>
* app/xcf/xcf-load.c (xcf_load_tile_rle): workaround for bug
#357809: avoid crashing when invalid offsets are read for a
compressed tile in the XCF file.
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.
2006-08-15 Hans Breuer <hans@breuer.org>
* **/makefile.msc app/gimpcore.def : updated
* app/xcf/xcf-save.c(1464) : error C2036: 'void *' : unknown size
pointer arithmetics on void a pointer looks like a GCC extension
* app/tools/gimpbrightnesscontrasttool.c
app/tools/gimpcolorbalancetool.c
app/tools/gimphuesaturationtool.c
app/tools/gimpcolorizetool.c : #include "core/gimp.h" for gimp_message
* app/tools/gimpiscissorstool.c : use RINT() rather than rint()
* app/widgets/gimpcontrollerlist.c : #include "gimpwidgets-utils.h"
for gimp_show_message_dialog
* app/core/gimpprogress.c(229) : 'gimp_progress_message' must
return a value
2006-07-10 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c: use a signed variable when attempting to
skip over unknown properties and check for EOF. Fixes bug #345802.
* app/xcf/xcf-read.c: cleanup, nothing really changed
2006-07-06 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-save.c (xcf_save_image_props): removed redundant
call to xcf_save_prop() for PROP_PARASITES. Spotted by Henning
Makholm (bug #346754).
2006-07-06 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c (xcf_load_vector): applied a patch from
Henning Makholm that introduces a sanity check on the number of
axes (bug #346742).
* app/core/gimpguide.c
* app/core/gimpguide.h: new files, implementing GuideGimp as a GimpObject
* app/core/Makefile.am: add new files as sources
* app/core/gimpimage-guides.h
* app/core/gimpimage-guides.c: use the new object instead of defining
GimpGuide here as a struct.
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell.c
* app/pdb/guides_cmds.c
* app/tools/gimpmovetool.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/guides.pdb: include "core/gimpguide.h", and use
g_object_ref/unref instead of gimp_image_guide_ref/unref.
2006-05-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.[ch]: added "gboolean none_ok" members
to GimpParamSpecImageID, GimpParamSpecItemID and
GimpParamSpecDisplayID. If none_ok is set, allow '0' and '-1' as
valid IDs. Added "none_ok" parameter to all ID param spec
constructors.
* app/xcf/xcf.c: require real image IDs, but allow images without
active drawable.
* app/pdb/gimp-pdb-compat.c: set none_ok to TRUE in all compat
param specs, so only IDs that are really random garbage don't pass
validation. Fixes validation errors with 0 and -1 IDs.
* tools/pdbgen/app.pl: set none_ok to FALSE by default. Added
support for $arg->{none_ok} to control it.
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/progress.pdb
* tools/pdbgen/pdb/text_tool.pdb: use none_ok instead of
no_success (which disables validation entirely).
* app/pdb/[many]_cmds.c: regenerated.
2006-04-26 Michael Natterer <mitch@gimp.org>
* app/pdb/Makefile.am
* app/pdb/pdb-types.h
* app/pdb/gimppdb.[ch]: new object GimpPDB which keeps all
procedures and functions to register and run them. Renamed all
functions and did some cleanups.
* app/pdb/gimp-pdb.[ch]
* app/core/gimp.[ch]: removed the same stuff here.
* app/pdb/gimp-pdb-query.[ch]: removed these files...
* app/pdb/gimppdb-query.[ch]: ...added here as members of GimpPDB.
* app/pdb/gimp-pdb-compat.h: fix include guard.
* app/batch.c
* app/actions/vectors-commands.c
* app/dialogs/about-dialog.c
* app/file/file-open.c
* app/file/file-save.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-ins.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimphelp.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/font_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/palette_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/procedural_db.pdb: changed includes and function
calls accordingly.
* tools/pdbgen/app.pl: pass around GimpPDB instead of Gimp
pointers to register the internal procedures with. Changed some
newlines in the generated code.
* app/pdb/*_cmds.c
* app/pdb/internal_procs.[ch]: regenerated.
* app/core/gimppdbprogress.[ch]
* app/widgets/gimppdbdialog.[ch]: added "pdb" CONSTRUCT_ONLY
properties.
* app/plug-in/plug-in-progress.c
* app/gui/gui-vtable.c: pass gimp->pdb when creating them.
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: use the new local pdb pointers
instead of some foo->bar->gimp->pdb overkill.
2006-04-09 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.[ch]: remove plug_ins_add_internal() and
made plug_ins_procedure_insert() public as plug_ins_procedure_add().
There's no reason internal plug-ins should be treated differently.
* app/xcf/xcf.c: use plug_ins_procedure_add().
* app/plug-in/plug-ins-help.c: fix comment.
2006-04-09 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf.c (xcf_init): don't register the XCF procedures
with the PDB here...
* app/plug-in/plug-ins.c (plug_ins_add_to_db): ... instead, don't
special case internal procedures here so they get registered along
with all other plug-in procedures.