1. 06 Sep, 2002 1 commit
    • Hans Breuer's avatar
      updated · e17baf71
      Hans Breuer authored
      2002-09-06  Hans Breuer  <hans@breuer.org>
      
      	* */*/makefile.msc : updated
      
      	* libgimptool/makefile.msc : new file, libgimptool
      	is currently build as static lib due to references
      	into app/core
      
      	* themes/Default/makefile.msc : removed
      	* themes/Default/images/makefile.msc : new file
      
      	* libgimpwidgets/makefile.msc libgimpwidgets/gimpwidgets.c
      	updated (externals)
      
      	* app/paint-funcs.c : replaced gccism varibale size array on
      	stack with portable alloca, removed sizeof(buf) check which
      	must fail now.
      
      	* app/config/gimpconfig.c : get write/close protos
      	on win32 from io.h
      	* app/config/gimprc.c : dito and <string.h>
      	* app/config/gimpscanner.c : <string.h> only
      
      	* app/core/gimpcontainer.c : workaround for clumsy
      	compilers not supporting vararg macros
      
      	* app/core/gimpdocumentlist.c app/core/gimpparasitelist.c
      	include <io.h> on win32
      
      	* app/widgets/gimpdocumentview.c
      	  app/widgets/gimpimagedock.c
      	  app/widgets/gimppreview.c : add #ifdef __GNUC__
      	to avoid breaking on non standard pragma #warning.
      
      	* app/gui/session.c : include <string.h>
      
      	* regexrepl/makefile.msc : build as dll
      
      	* plug-ins/makefile.msc : updated
      
      	* plug-ins/common/pix.c : open file binary
      
      	* plug-ins/common/spheredesigner.c : avoid error
      	'incompatible types' while assigning, use memcpy()
      e17baf71
  2. 05 Sep, 2002 1 commit
    • Michael Natterer's avatar
      put the call to gimp_drawable_mask_bounds() back because we always need · 54c377d7
      Michael Natterer authored
      2002-09-05  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable-bucket-fill.c: put the call to
      	gimp_drawable_mask_bounds() back because we always need the region
      	to apply the fill (fixes non-seed-fill fills). Also take
      	"sample_merged" into account when intersecting the resulting mask
      	with the image's selection.
      
      	Fixed unrelated bug:
      
      	* app/core/gimpimage-contiguous-region.c: need to use
      	gimp_image_projection_bytes(), not drawable->bytes if
      	"sample_marged" is TRUE.
      54c377d7
  3. 04 Sep, 2002 1 commit
    • Dave Neary's avatar
      Small patch to modify the behaviour of the bucket fill tool if there is an · 738993fb
      Dave Neary authored
      
      2002-09-04  Dave Neary  <bolsh@gimp.org>
              * app/core/gimpdrawable-bucket-fill.c: Small patch to
              modify the behaviour of the bucket fill tool if there
              is an active selection. Question: Should the bucket fill
              only work if clicked inside the selection? Currently a
              click anywhere works, and stuff gets drawn if the region
              intersects the selection. This patch closes bug #72896.
      738993fb
  4. 02 Sep, 2002 2 commits
  5. 01 Sep, 2002 1 commit
    • Michael Natterer's avatar
      Refcount layer masks correctly. Fixes layer mask undo. · f4e1ec97
      Michael Natterer authored
      2002-09-01  Michael Natterer  <mitch@gimp.org>
      
      	Refcount layer masks correctly. Fixes layer mask undo.
      
      	* app/core/gimplayer.c (gimp_layer_add_mask): ref the mask.
      
      	* app/xcf/xcf-load.c
      	* app/gui/layers-commands.c
      	* tools/pdbgen/pdb/image.pdb: unref layer masks after adding them.
      
      	* app/pdb/image_cmds.c: regenerated.
      f4e1ec97
  6. 29 Aug, 2002 1 commit
  7. 28 Aug, 2002 1 commit
    • Michael Natterer's avatar
      app/undo.c (undo_pop_layer) emit "alpha_changed" from the image if we · 9c416076
      Michael Natterer authored
      2002-08-28  Michael Natterer  <mitch@gimp.org>
      
      	* app/undo.c (undo_pop_layer)
      	* app/core/gimpimage.c (gimp_image_[add|remove]_layer): emit
      	"alpha_changed" from the image if we started (or ended up)
      	with an image containing one layer without alpha.
      
      	* app/core/gimplayer.c: use gimp_container_num_children() instead
      	of accessing container->num_children manually.
      9c416076
  8. 27 Aug, 2002 2 commits
    • Michael Natterer's avatar
      fixed a bug introduced by myself on 2001-12-13: the floating selection · 4dc1b80e
      Michael Natterer authored
      2002-08-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpimage-mask.c (gimp_image_mask_float): fixed a bug
      	introduced by myself on 2001-12-13: the floating selection layer
      	needs to be of the type of it's associated drawable, which may be
      	different from the image's type if it is a channel or layer mask
      	(fixes #91814).
      4dc1b80e
    • Michael Natterer's avatar
      removed #defines and added enum CurvesType instead. · 21ae8245
      Michael Natterer authored
      2002-08-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/base/curves.h: removed #defines and added enum CurvesType
      	instead.
      
      	* app/core/gimpchannel.c: use TRANSPARENT_OPACITY and
      	OPAQUE_OPACITY instead of 0 and 255.
      
      	* app/core/gimplayer.c (gimp_layer_create_mask): fixed inverse
      	layer mask creation by setting GIMP_CHANNEL(mask)->bounds_known to
      	FALSE correctly (fixes #90982). Also optimized mask creation
      	by calling gimp_channel_all() and gimp_channel_clear() for
      	white and black masks.
      21ae8245
  9. 26 Aug, 2002 1 commit
    • Michael Natterer's avatar
      Color correction tool chopping: · 1186e83a
      Michael Natterer authored
      2002-08-26  Michael Natterer  <mitch@gimp.org>
      
      	Color correction tool chopping:
      
      	* app/Makefile.am
      	* app/image_map.[ch]: removed...
      
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimpimagemap.[ch]: ...and added here as object.
      
      	* app/base/Makefile.am
      	* app/base/base-types.h
      	* app/base/color-balance.[ch]
      	* app/base/curves.[ch]
      	* app/base/hue-saturation.[ch]
      	* app/base/threshold.[ch]: the lowlevel color correction functions
      	plus their parameter structs cut out of the resp. tools.
      
      	* app/core/core-enums.[ch]: removed GimpTransferMode enum...
      
      	* app/base/base-enums.[ch]: ...added it here. Also added
      	GimpHueRange for the new hue-saturation files.
      
      	* tools/pdbgen/enums.pl
      	* libgimp/gimpenums.h
      	* plug-ins/script-fu/script-fu-constants.c: regenerated.
      
      	* app/tools/Makefile.am
      	* app/tools/gimpcolorbalancetool-transfer.c: removed (code went
      	to base/color-balance.c).
      
      	* app/tools/gimpimagemaptool.[ch]: added most code which was
      	diplicated in subclasses. Create the dialog here with a nice title
      	bar including image preview and name (fixes #66033). Added virtual
      	functions map(), dialog() and reset() which need to be implemented
      	by subclasses.
      
      	* app/tools/gimpbrightnesscontrasttool.[ch]
      	* app/tools/gimpcolorbalancetool.[ch]
      	* app/tools/gimpcurvestool.[ch]
      	* app/tools/gimphuesaturationtool.[ch]
      	* app/tools/gimplevelstool.[ch]
      	* app/tools/gimpposterizetool.[ch]
      	* app/tools/gimpthresholdtool.[ch]: removed tons of duplicated
      	code and simply implement GimpImageMapTool's virtual functions.
      	Removed all dialog structs and keep the variables in the tool
      	structs. The dialogs are now created on-the-fly and destroyed when
      	the tool goes away, which makes all callbacks much simpler and
      	safer. Lots of GUI & code cleanup in all dialogs.
      
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimplevelstool.c: added separate "Reset Channel"
      	buttons and let the global "Reset" buttons reset all color
      	channels.
      
      	* app/tools/tools.c: the various antique foo_free() functions
      	don't exist any more.
      
      	* app/tools/gimphistogramtool.c: removed ImageMap field from
      	dialog struct (it was unused). Cleaned up dialog a bit.
      
      	* tools/pdbgen/Makefile.am: don't scan tools/gimphuesaturationtool.h
      	for enums.
      
      	* tools/pdbgen/pdb/color.pdb: use the new stuff from base/ and
      	don't include stuff from tools/ any more.
      
      	* app/pdb/color_cmds.c
      	* app/pdb/paint_tools_cmds.c: regenerated.
      1186e83a
  10. 22 Aug, 2002 2 commits
    • Sven Neumann's avatar
      tools/pdbgen/pdb/gimprc.pdb don't leak the result of · 48e27f1d
      Sven Neumann authored
      2002-08-22  Sven Neumann  <sven@gimp.org>
      
      	* tools/pdbgen/pdb/gimprc.pdb
      	* app/pdb/gimprc_cmds.c (gimprc_query_invoker): don't leak the
      	result of gimprc_value_to_str().
      
      	* app/core/gimpdrawable-preview.c (gimp_drawable_preview_scale):
      	use g_new0() instead of g_new() followed by memset().
      
      	* plug-ins/script-fu/script-fu-server.c (server_log): free the
      	string after logging it.
      48e27f1d
    • Michael Natterer's avatar
      compress emissions of "mask_changed" and "qmask_changed" across undo · c2523d8d
      Michael Natterer authored
      2002-08-22  Michael Natterer  <mitch@gimp.org>
      
      	* app/undo.c: compress emissions of "mask_changed" and
      	"qmask_changed" across undo groups.
      
      	* app/core/gimpimage-mask.c: set GIMP_DRAWABLE(mask)->preview_valid
      	to FALSE in gimp_image_mask_invalidate(), not in
      	gimp_image_mask_push_undo(). Fixes selection preview rendering
      	after a mask undo.
      c2523d8d
  11. 21 Aug, 2002 1 commit
  12. 20 Aug, 2002 1 commit
    • Michael Natterer's avatar
      Make sure the selection (gimpimage-mask.c) functionality is really built · 33bba657
      Michael Natterer authored
      2002-08-20  Michael Natterer  <mitch@gimp.org>
      
      	Make sure the selection (gimpimage-mask.c) functionality is really
      	built *on top* of the GimpChannel functionality:
      
      	* app/undo.[ch]: renamed undo_push_image_mask() to
      	undo_push_mask() and generalized it's API to take a GimpChannel
      	param so undos can be pushed for channels which are not the
      	image's selection. Simplified the API and added code which copies
      	the region of interest instead of leaving this to callers.
      
      	* app/undo_types.h: s/IMAGE_MASK_UNDO/MASK_UNDO/
      
      	* app/undo_history.c: changed accordingly.
      
      	* app/core/gimpchannel.[ch]: don't #include "gimpimage-mask.h".
      	Changed gimp_channel_push_undo() to really push a channel undo,
      	not a selection undo. Added "gboolean push_undo" params to all
      	functions which are called from gimpimage-mask.c. Various cleanups
      	and optimizations. Added /*< proxy-foo >*/ stuff to the header so
      	we export just the struct itself to libgimpproxy. Added accessors
      	gimp_channel_[get|set]_show_masked().
      
      	* app/core/gimpimage-mask.[ch]: renamed gimp_image_mask_undo() to
      	gimp_image_mask_push_undo(). Call it before calling GimpChannel
      	functions which modify the mask, also call all GimpChannel
      	functions with push_undo = FALSE. Emit gimp_image_mask_changed()
      	after each operation instead of calling it in
      	gimp_image_mask_invalidate(). Removed gimp_image_mask_none()
      	because it is the same as gimp_image_mask_clear().
      	General cleanup.
      
      	* app/core/gimpimage-mask-select.c
      	* app/core/gimpimage-qmask.c: changed accordingly.
      
      	* app/core/gimpedit.c: call gimp_image_mask_clear(), not
      	gimp_channel_clear (gimp_image_get_mask()).
      
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-resize.c
      	* app/core/gimpimage-scale.c: call gimp_image_mask_changed()
      
      	* app/gui/channels-commands.c
      	* app/gui/select-commands.c
      	* app/tools/gimptexttool.c
      	* tools/pdbgen/pdb/channel.pdb
      	* tools/pdbgen/pdb/selection.pdb: follow GimpChannel and
      	gimp_image_mask* API changes.
      
      	* app/pdb/channel_cmds.c
      	* app/pdb/selection_cmds.c
      	* libgimpproxy/gimpchannel.h: regenerated.
      
      	Unrelated:
      
      	* app/core/gimpimage.c: call gimp_drawable_push_undo() instead of
      	undo_push_image() directly.
      33bba657
  13. 11 Aug, 2002 1 commit
  14. 11 Jul, 2002 1 commit
    • Sven Neumann's avatar
      bumbed version number to 1.3.8. · 00d408bd
      Sven Neumann authored
      2002-07-11  Sven Neumann  <sven@gimp.org>
      
      	* configure.in: bumbed version number to 1.3.8.
      
      	* app/core/gimpcontainer.c: use gulong for signal handler IDs.
      00d408bd
  15. 26 Jun, 2002 1 commit
    • Michael Natterer's avatar
      removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the · fa537489
      Michael Natterer authored
      2002-06-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/display/gimpdisplay.[ch]: removed gdisp->scale,
      	gdisp->dot_for_dot, the scaling marcos and the
      	gdisplay_[un]transform[_f]() functions.
      
      	* app/display/gimpdisplayshell.[ch]: added them here. Named the
      	transform functions gimp_display_shell_[un]transform_xy[_f]().
      
      	Made the gimp_display_shell_[un]transform_coords() functions copy
      	all values of the GimpCoords struct, not just x and y.
      
      	* app/display/gimpstatusbar.[ch]: keep a pointer to
      	GimpDisplayShell, not GimpDisplay.
      
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/display/gimpdisplayshell-render.c
      	* app/display/gimpdisplayshell-scale.c
      	* app/display/gimpdisplayshell-scroll.c
      	* app/display/gimpdisplayshell-selection.c
      	* app/display/gimpnavigationview.c
      	* app/gui/image-commands.c
      	* app/gui/info-window.c
      	* app/gui/select-commands.c
      	* app/gui/view-commands.c
      	* app/tools/gimpbezierselecttool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpdrawtool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpmagnifytool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimpmovetool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimppathtool.c
      	* app/tools/gimprotatetool.c
      	* app/tools/gimpscaletool.c
      	* app/tools/gimpvectortool.c: changed accordingly.
      
      	* app/gui/layers-commands.c: if(gimage->selection_mask) is always
      	TRUE, use if(!gimp_image_mask_is_empty(gimage)) instead.
      
      	* app/tools/gimpfuzzyselecttool.[ch]: moved global variables
      	to the object struct.
      fa537489
  16. 19 Jun, 2002 1 commit
    • Michael Natterer's avatar
      Fixed color picking (reported by jimmac on #gimp): · 0aec31c3
      Michael Natterer authored
      2002-06-20  Michael Natterer  <mitch@gimp.org>
      
      	Fixed color picking (reported by jimmac on #gimp):
      
      	* app/core/gimpimage-pick-color.c: set the returned color's alpha
      	value to opaque if the drawable we pick from has no aplha.
      
      	* app/tools/gimpcolorpickertool.c: ignore all values returned by
      	gimp_image_pick_color() if it returns FALSE (which happens if we
      	want to pick outside the drawable).
      0aec31c3
  17. 17 Jun, 2002 2 commits
    • Sven Neumann's avatar
      Obviously I disagree with Tim about the symbol_name parameter in · c5859647
      Sven Neumann authored
      2002-06-17  Sven Neumann  <sven@gimp.org>
      
      	Obviously I disagree with Tim about the symbol_name parameter in
      	g_scanner_unexp_token(). As it seems it's not supposed to be used
      	to tell the user about the expected symbol (see bug #81850):
      
      	* gimpconfig.[ch] (gimp_config_deserialize_return): removed the
      	symbol_name parameter.
      
      	* app/config/gimpconfig-deserialize.c
      	* app/core/gimpcontainer.c
      	* app/core/gimpdocumentlist.c
      	* app/core/gimpparasitelist.c: changed the callers accordingly.
      
      	* app/core/gimpunits.c (gimp_unitrc_load): pass NULL as symbol_name
      	to g_scanner_unexp_token().
      c5859647
    • Michael Natterer's avatar
      Separated tool_options creation from tool registration so we don't · a3f44d8b
      Michael Natterer authored
      2002-06-17  Michael Natterer  <mitch@gimp.org>
      
      	Separated tool_options creation from tool registration so we
      	don't implicitly create widgets before gui_init():
      
      	* libgimptool/gimptooltypes.h: removed GimpToolOptionsNewFunc
      	typedef here...
      
      	* app/core/core-types.h: ...and added it here.
      
      	* libgimpproxy/gimpproxytypes.h: regenerated.
      
      	* app/core/gimptoolinfo.[ch]: added a GimpToolOptionsNewFunc
      	pointer to remember the constructor. Fixed the finalize() method
      	(bug was never noticed because we leaked all tool infos)
      
      	* app/tools/tool_manager.[ch]: moved tool_options creation to the
      	new function tool_manager_restore(). Unref the tool infos after
      	adding them to their container. Added "brush" and "gradient" to
      	the context properties which are defined for tool contexts.
      
      	* app/app_procs.c: call tool_manager_restore() after gui_init().
      
      	* app/gui/gui.c: removed the hack introduced recently and call
      	render_setup() in gui_init() again, not in gui_themes_init().
      
      	Use the correct contexts now that they are properly initialized
      	at the time of tool_options creation:
      
      	* app/tools/gimpblendtool.c: use tool_info->context, not
      	gimp_get_user_context() to get/set the tool's gradient.
      
      	* app/paint/gimppaintcore.[ch] (gimp_paint_core_start): added a
      	GimpPaintOptions paramater and get the brush to use from
      	paint_options->context (instead of gimp_get_current_context()).
      
      	* app/paint/gimppaintcore-stroke.c
      	* app/tools/gimppainttool.c: changed accordingly.
      
      	* app/tools/paint_options.c: added a brush preview to the paint
      	options.
      a3f44d8b
  18. 13 Jun, 2002 1 commit
  19. 12 Jun, 2002 1 commit
    • Michael Natterer's avatar
      added a boolean "internal" which indicates that the data object is an · 91cfa783
      Michael Natterer authored
      2002-06-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdata.[ch]: added a boolean "internal" which
      	indicates that the data object is an automatically created
      	internal object. Changed the code to refuse saving to deleting
      	internal objects.
      
      	* app/core/Makefile.am
      	* app/core/gimp-gradients.[ch]: new files implementing internal
      	gradients (FG -> BG in RGB and HSV and FG -> transparent).
      
      	* app/core/gimp.c: call gimp_gradients_init().
      
      	* app/core/gimpdatafactory.c (gimp_data_factory_data_free): don't
      	free internal objects so they stay there on "Refresh".
      
      	* app/core/gimpdatalist.c: sort internal objects to the beginning
      	of the list.
      
      	* app/widgets/gimpdataeditor.c: refuse to change the name of
      	internal objects.
      
      	* app/widgets/gimpdatafactoryview.c: set the "Delete" button
      	insensitive for internal objects.
      
      	* app/widgets/gimpgradienteditor.c: refuse to edit internal
      	gradients, just display them so color picking works.
      
      	* app/gui/brushes-commands.c
      	* app/gui/gradients-commands.c
      	* app/gui/palettes-commands.c
      	* app/gui/patterns-commands.c: set the "Delete" menu item
      	insensitive for internal objects.
      
      	* app/gui/gui.c: need to call render_setup() earlier because of
      	you-dont-want-to-know-why. Will change it back once the previews
      	have their own render buffers.
      
      	* app/tools/gimpblendtool.c: Replaced the "Type" menu by a preview
      	showing the active gradient. Clicking the preview pops up the
      	gradient selection. Renamed the "Gradient" menu to "Shape". Removed
      	"blend_mode" from the BlendOptions struct because we always use
      	"custom" mode now.
      91cfa783
  20. 09 Jun, 2002 1 commit
    • Sven Neumann's avatar
      app/undo.c app/config/gimpconfig-deserialize.c app/core/gimpbrushpipe.c · fd21daeb
      Sven Neumann authored
      2002-06-09  Sven Neumann  <sven@gimp.org>
      
      	* app/undo.c
      	* app/config/gimpconfig-deserialize.c
      	* app/core/gimpbrushpipe.c
      	* app/core/gimpcontainer.c
      	* app/core/gimpimagefile.c
      	* app/gui/paths-dialog.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimplevelstool.c
      	* app/widgets/gimpcomponentlistitem.c
      	* app/widgets/gimpgradienteditor.c: unified translatable strings
      	and unmarked a few for translation since they should never be seen.
      
      2002-06-09  Sven Neumann  <sven@gimp.org>
      
      	* POTFILES.in: updated.
      
      	* de.po: updated german translation.
      fd21daeb
  21. 07 Jun, 2002 2 commits
    • Sven Neumann's avatar
      app/base/Makefile.am automake-1.6 seems to use yet another variable to · 3aae3940
      Sven Neumann authored
      2002-06-08  Sven Neumann  <sven@gimp.org>
      
      	* app/base/Makefile.am
      	* app/paint-funcs/Makefile.am: automake-1.6 seems to use yet another
      	variable to pass flags to the assembler (bug #84514). Define
      	AM_CCASFLAGS like AM_ASFLAGS to satisfy all versions of automake.
      
      	* configure.in
      	* all Makefiles: removed STRIP_BEGIN and STRIP_END since it's a
      	GNU make extension that we don't really need and newer versions of
      	automake don't seem to like it.
      3aae3940
    • Michael Natterer's avatar
      added gimp_list_reverse(). · f064fa4e
      Michael Natterer authored
      2002-06-07  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimplist.[ch]: added gimp_list_reverse().
      
      	* app/core/gimpdocumentlist.c: call it after deserializing so we
      	don't reverse the history each time.
      
      	* app/widgets/gimpdevices.c: use it instead of manually fiddling
      	with list->list.
      f064fa4e
  22. 06 Jun, 2002 3 commits
    • Michael Natterer's avatar
      renamed gimp_drawable_apply_image() to gimp_drawable_push_undo() because · 413b9d33
      Michael Natterer authored
      2002-06-06  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable.[ch]: renamed gimp_drawable_apply_image()
      	to gimp_drawable_push_undo() because that's what it actually does.
      
      	* app/image_map.c
      	* app/core/gimpdrawable-offset.c
      	* app/core/gimpimage-mask.c
      	* app/core/gimpimage.c
      	* app/core/gimplayer.c
      	* app/paint/gimppaintcore.c
      	* app/tools/gimpinktool.c: changed accordingly. Removed redundant
      	comments because it's now obvious what the function does from
      	looking at its name.
      
      	* app/core/gimpdrawable.[ch]
      	* app/core/gimpimage.h: renamed "gboolean undo" parameters to
      	"gboolean push_undo".
      413b9d33
    • Michael Natterer's avatar
      added a boolean "push_undo" parameter. · 8bfd02fa
      Michael Natterer authored
      2002-06-06  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpchannel.[ch] (gimp_channel_invert): added a boolean
      	"push_undo" parameter.
      
      	* app/core/gimpimage-mask.c
      	* app/core/gimpimage-qmask.c: pass push_undo == TRUE.
      
      	* app/core/gimplayer.c (gimp_layer_create_mask): call
      	gimp_channel_invert(), not gimp_drawable_invert() because the
      	latter takes the current selection into accout (reported by Jimmac
      	on #gimp). Added g_return_if_fail() stuff to all public functions.
      	Cleanup.
      8bfd02fa
    • Michael Natterer's avatar
      don't warn if an out-of-bounds index is passed in but simply return NULL · 8c3f15b4
      Michael Natterer authored
      2002-06-06  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpcontainer.c (gimp_container_get_child_by_index):
      	don't warn if an out-of-bounds index is passed in but simply
      	return NULL (removes the need to check if the container has 0
      	children before asking the container for it's first child).
      8c3f15b4
  23. 31 May, 2002 1 commit
    • Michael Natterer's avatar
      configure the scanner the same way GimpConfig did (scanner->user_data is, · c6948e6e
      Michael Natterer authored
      2002-05-31  Michael Natterer  <mitch@gimp.org>
      
      	* app/config/gimpscanner.[ch]: configure the scanner the same
      	way GimpConfig did (scanner->user_data is, if set, a GError).
      	Added gimp_scanner_parse_color(). Added "GError **error" to
      	gimp_scanner_new().
      
      	* app/config/gimpconfig.c: use gimp_scanner_new().
      
      	* app/config/gimpconfig-deserialize.c: use gimp_scanner_parse_color().
      
      	* app/core/gimpunits.c
      	* app/plug-in/plug-in-rc.c: changed accordingly.
      
      	* app/plug-in/plug-in-rc.c: made the main parse loops consistent
      	with the other places using GScanner.
      c6948e6e
  24. 28 May, 2002 2 commits
    • Sven Neumann's avatar
      determine the src_base_type from the passed drawable, not from the image · bb32c3c2
      Sven Neumann authored
      2002-05-28  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimplayer.c (gimp_layer_new_from_drawable): determine
      	the src_base_type from the passed drawable, not from the image it
      	is attached to.
      
      	* app/core/gimpimage-convert.c (gimp_drawable_convert_rgb)
      	(gimp_drawable_convert_grayscale): added a check for the expected
      	bpp of the passed tile_manager.
      bb32c3c2
    • Michael Natterer's avatar
      override GObjectClass->constructor() and do the setup stuff there, not in · b7e3c716
      Michael Natterer authored
      2002-05-28  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpcontext.c: override GObjectClass->constructor() and
      	do the setup stuff there, not in gimp_context_new(). This way we
      	can create properly initialized contexts with g_object_new().
      
      	* app/widgets/gimpdeviceinfo.c: Removed the "gimp" property
      	again. Added a constructor() implementation and moved stuff there
      	from gimp_device_info_set_property(PROP_GIMP).
      
      	* app/config/gimpconfig-deserialize.c: made deserialization of
      	value arrays work by actually using the array any not just leaking
      	it ;)
      
      	* app/core/gimpcontainer.c: removed debugging output. Call
      	config_iface->deserialize(child, ...) again instead of calling
      	gimp_config_deserialize_properties() directly.
      
      	* app/widgets/gimpdevices.c: switch to using the new stuff for
      	devicerc.
      
      	* app/widgets/gimpdeviceinfo.[ch]
      	* app/widgets/gimpdevices.[ch]
      	* app/gimprc.c: removed all old gimprc-style devicerc stuff.
      
      	* app/gui/menus.c
      	* app/gui/test-commands.[ch]: removed devicerc testing entries
      	and callbacks.
      b7e3c716
  25. 27 May, 2002 3 commits
    • Michael Natterer's avatar
      added "gint nest_level" to the deserialization functions, so nested calls · dbc8aeb4
      Michael Natterer authored
      2002-05-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/config/gimpconfig.[ch]: added "gint nest_level" to the
      	deserialization functions, so nested calls to deserialize()
      	don't error on the trailing ')'. Made the scanner config parse
      	one-character identifiers and allow G_CSET_A_2_Z for all
      	identifiers.
      	Added gimp_config_deserialize_return() because returning the
      	correct return value from a deserialize() function is not
      	trivial any more with nested calls.
      
      	* app/config/gimpconfig-deserialize.[ch]
      	* app/config/gimprc.c
      	* app/core/gimpdocumentlist.c
      	* app/core/gimpparasitelist.c: use the new return value utility
      	function and made the main parsing loops simpler.
      
      	* app/core/gimpunits.c: made the main parsing loops consistent
      	with the stuff that uses GimpConfig.
      
      	* app/config/gimpconfig-deserialize.c
      	* app/config/gimpconfig-serialize.c: call the
      	(de)serialize_property() functions only if the property's class
      	implements the method itself (does *not* inherit it from one of
      	it's parents).
      
      	* app/core/gimpcontainer.c: implemented deserialization of
      	containers. For each child entry encountered in the input, check
      	if it's already contained in the container and create it if not.
      	If a "gimp" pointer is passed as user_data pass it as construct
      	property to g_object_new() when creating the object.
      
      	* app/core/gimpcontext.c: changed deserialization of brush,
      	pattern etc. to honor "no_data".
      
      	* app/widgets/gimpdeviceinfo.c: added a "gimp" construct_only
      	property which overrides GimpContext's "gimp" property. Moved all
      	initialisation code from gimp_device_info_new() to
      	gimp_device_info_set_property(PROP_GIMP) so it is properly
      	performed if the object is created by GimpContainer's
      	deserialize() implementation.
      
      	* app/widgets/gimpdevices.c: made gimp_devices_restore_test() work.
      dbc8aeb4
    • Sven Neumann's avatar
      "%lld" is not a portable format string, cast to gint64 and use · 9ba70e46
      Sven Neumann authored
      2002-05-27  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimpimagefile.c: "%lld" is not a portable format string,
      	cast to gint64 and use G_GINT64_FORMAT instead.
      9ba70e46
    • Michael Natterer's avatar
      use "%lld" when printing or parsing file sizes because AC_SYS_LARGEFILE · d6ce8fce
      Michael Natterer authored
      2002-05-27  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpimagefile.c: use "%lld" when printing or parsing
      	file sizes because AC_SYS_LARGEFILE makes off_t a long long.
      d6ce8fce
  26. 24 May, 2002 2 commits
    • Sven Neumann's avatar
      app/core/cpercep.[ch] app/core/gimpimage-convert.c removed C++ style · 14066a6e
      Sven Neumann authored
      2002-05-24  Sven Neumann  <sven@gimp.org>
      
      	* app/core/cpercep.[ch]
      	* app/core/gimpimage-convert.c
      	* app/paint-funcs/paint-funcs.c: removed C++ style comments and
      	compiler warnings.
      14066a6e
    • Michael Natterer's avatar
      app/config/gimpconfig.[ch] added "gint indent_level" to all serialization · b10ade1a
      Michael Natterer authored
      2002-05-24  Michael Natterer  <mitch@gimp.org>
      
      	* app/config/gimpconfig.[ch]
      	* app/config/gimpconfig-serialize.[ch]: added "gint indent_level"
      	to all serialization functions. Added gimp_config_string_indent()
      	which indents a GString.
      
      	* app/config/gimprc.c
      	* app/core/gimpdocumentlist.c
      	* app/core/gimpparasitelist.c: changed accordingly.
      
      	* app/core/gimpcontext.c: don't crash when serializing NULL object
      	properties.
      
      	* app/config/gimpscanner.[ch]: added gimp_scanner_parse_identifier().
      
      	* app/core/gimpcontainer.c: implement GimpConfigInterface.
      	Container serialization works, deserialization is not implemented yet.
      
      	* app/widgets/gimpdevices.[ch]: made
      	GimpDeviceManager->device_info_list a GimpList, not GList, added
      	testing functions for (de)serializing it.
      
      	* app/gui/menus.c
      	* app/gui/test-commands.[ch]: call the new test functions from
      	the <Toolbox>/File/Debug menu.
      b10ade1a
  27. 22 May, 2002 1 commit
    • Michael Natterer's avatar
      added virtual interface methods serialize_property() and · 42f8ae15
      Michael Natterer authored
      2002-05-22  Michael Natterer  <mitch@gimp.org>
      
      	* app/config/gimpconfig.[ch]: added virtual interface methods
      	serialize_property() and deserialize_property() which can be used
      	to implement (de)serialization of special properties or to
      	override the default implementation.
      
      	* app/config/gimpconfig-deserialize.c
      	* app/config/gimpconfig-serialize.c: for each property, check if
      	the class which added it implements the virtual functions and call
      	them before trying the default implementations.
      
      	* app/config/gimpconfig-params.h: added new macro
      	GIMP_CONFIG_INSTALL_PROP_OBJECT().
      
      	* app/core/gimpcontext.c: declare the "tool", "brush", "pattern",
      	"gradient" and "palette" properties as serializable and added
      	implementations of (de)serialize_property().
      42f8ae15
  28. 21 May, 2002 2 commits
    • Sven Neumann's avatar
      need to link test-config against libgimpcolor now. · 3553cf90
      Sven Neumann authored
      2002-05-21  Sven Neumann  <sven@gimp.org>
      
      	* app/config/Makefile.am: need to link test-config against
      	libgimpcolor now.
      
      	* app/config/gimpconfig.c (gimp_config_serialize): write newlines
      	after header and before footer.
      
      	* app/config/test-config.c
      	* app/config/gimprc.c
      	* app/core/gimp-documents.c
      	* app/core/gimp-parasites.c
      	* app/gui/test-commands.c: removed the newlines here.
      
      	* app/config/gimpconfig-params.h: define GIMP_PARAM_SERIALZE flag
      	which can be used to mark an object property as serializable.
      	Make the GIMP_CONFIG_INSTALL_PROP_* macros set it.
      
      	* app/config/gimpconfig-deserialize.c
      	* app/config/gimpconfig-serialize.c: check the GIMP_PARAM_SERIALIZE
      	flag.
      
      	* app/config/gimpconfig-params.c (gimp_param_color_set_default):
      	fixed.
      
      	* app/core/gimpcontext.c: install serializable properties using the
      	GIMP_CONFIG_INSTALL_PROP_* macros.
      3553cf90
    • Michael Natterer's avatar
      added GIMP_TYPE_COLOR as boxed type encapsulating GimpRGB. · 292ec087
      Michael Natterer authored
      2002-05-21  Michael Natterer  <mitch@gimp.org>
      
      	* app/config/gimpconfig-types.[ch]: added GIMP_TYPE_COLOR as boxed
      	type encapsulating GimpRGB.
      
      	* app/config/gimpconfig-params.[ch]: added GimpParamSpecColor
      	which is derived from GParamSpecBoxed and adds a default value.
      
      	* app/config/gimpconfig-deserialize.c
      	* app/config/gimpconfig-serialize.c: added generic
      	(de)serialization of the new property type.
      
      	* app/core/gimpcontext.c: implement the config interface, changed
      	signal parameters and property types to use the new
      	GIMP_TYPE_COLOR.
      
      	* app/core/gimpmarshal.list: added a VOID__BOXED marshaller.
      
      	* app/gui/menus.c
      	* app/gui/test-commands.[ch]: some test code which (de)serializes
      	the user context.
      292ec087