2008-02-22 Sven Neumann * plug-ins/print/print-draw-page.c (draw_page_cairo): access the pixels tile-by-tile instead of row-by-row. 2008-02-22 Sven Neumann * plug-ins/common/wind.c (render_wind) (render_blast): fixed calls to gimp_drawable_mask_intersect() which was causing a crash as reported in bug #516369. 2008-02-21 Michael Natterer * app/actions/plug-in-actions.c (plug_in_actions_history_changed): don't call plug_in_actions_update() because that updated the sensitivity of *all* plug-in actions according to the properties of the *current* image. Instead, look up the original GtkAction of the history items of *this* action group and copy the sensitivity from that action. Fixes bug #517683. 2008-02-21 Sven Neumann * tools/pdbgen/app.pl (marshal_outargs): insert a missing newline for procedures without additional return values. * tools/pdbgen/pdb/display.pdb: cosmetics. * app/pdb/brushes_cmds.c * app/pdb/context_cmds.c * app/pdb/display_cmds.c * app/pdb/fonts_cmds.c * app/pdb/gradients_cmds.c * app/pdb/palettes_cmds.c * app/pdb/patterns_cmds.c: regenerated. 2008-02-21 Sven Neumann * plug-ins/print/print-preview.[ch]: code cleanup. 2008-02-21 Sven Neumann * plug-ins/print/print-preview.[ch]: provide feedback when hovering over the preview. 2008-02-21 Sven Neumann * plug-ins/print/print-preview.c (gimp_print_preview_expose_event): changed drawing so that strokes are not scaled. 2008-02-20 Michael Natterer * app/core/gimpcurve.c: add precondition checks. * app/core/gimpdrawable-curves.c (gimp_drawable_curves_spline): divide values by 255 before setting them on the curve. Fixes crash when using curves from the PDB. 2008-02-19 Sven Neumann * plug-ins/print/print-preview.c (gimp_print_preview_expose_event): code cleanup. Always draw the preview. 2008-02-19 Bill Skaggs * plug-ins/jpeg/jpeg-exif.c: correctly record dimensions when saving an image. Fixes bug #517077. 2008-02-19 Sven Neumann * app/app.c * app/batch.c * app/core/gimp.c * app/gui/gui.c: use G_STRFUNC instead of hardcoding the function name in verbose output. 2008-02-19 Sven Neumann * plug-ins/script-fu/scripts/glossy.scm: actually use the "Default Bumpmap Settings" parameter. Problem spotted by Ulf-D. Ehlert. 2008-02-19 Sven Neumann * plug-ins/script-fu/scripts/glossy.scm: applied patch from Ulf-D. Ehlert that fixes a bug in the Glossy script when used with a pattern instead of a gradient blend (bug #517285). 2008-02-19 Manish Singh * plug-ins/pygimp/gimpmodule.c: add gimp.exit(), a wrapper around the PDB function gimp-quit. 2008-02-18 Sven Neumann * app/batch.c (batch_exit_after_callback): synced cleanup procedure with app_exit_after_callback() and documented its purpose. 2008-02-18 Michael Natterer * app/tools/gimpgegltool.c (gimp_gegl_tool_config_get_property): clean up generic property handling of generated settings classes. 2008-02-18 Michael Natterer * app/tools/gimpimagemaptool.c (gimp_image_map_tool_initialize): don't create the recent settings menu if the tool did not set a config object. * app/tools/gimpgegltool.[ch]: pack the operation's settings in a frame and add a label when there is no operation selected. 2008-02-16 Michael Natterer * app/display/gimpdisplayshell-callbacks.c * app/tools/gimpforegroundselecttool.c * app/tools/gimpimagemaptool.c * app/tools/gimpiscissorstool.c * app/tools/gimppolygonselecttool.c * app/tools/gimprectangletool.c * app/tools/gimptransformtool.c * app/tools/gimpvectortool.c * app/widgets/gimpcontainerpopup.c * app/widgets/gimppaletteview.c * libgimpwidgets/gimpcolorhexentry.c * libgimpwidgets/gimpnumberpairentry.c * plug-ins/script-fu/script-fu-console.c: Unify the handling of various "Enter" and "Space" keysyms all over the place. Fixes bug #516544 (also see gtk bug #515047). 2008-02-15 Kevin Cozens * configure.in: Adding a ; to the end of the list of mime types in the gimp.desktop file. Fixes 'make dist'. 2008-02-14 Michael Natterer * libgimpwidgets/Makefile.am * libgimpwidgets/gimpscaleentry.[ch]: cleanup. 2008-02-14 Bill Skaggs Merged from weskaggs branch at Mitch's request. Will need to update devel docs. Place scale entry code into separate files, no functional changes. * libgimpwidgets/gimpscaleentry.c * libgimpwidgets/gimpscaleentry.h: new files. * libgimpwidgets/gimpwidgets.[ch] * libgimpwidgets/Makefile.am: changed accordingly. 2008-02-14 Sven Neumann * app/text/gimpfont.c (gimp_font_get_sample_string): check if the font has the glyphs from the sample string. Fixes bug #514021. 2008-02-13 Bill Skaggs * plug-ins/common/vpropagate.c: change "darker" to "lighter" in blurb, in response to comment #24 in bug #156545. 2008-02-13 Bill Skaggs * app/widgets/gimpcolormapeditor.c: change wording of new hint for non-indexed images. 2008-02-12 Michael Natterer * app/gegl/gimpoperationcolorbalance.c * app/gegl/gimpoperationcolorize.c * app/gegl/gimpoperationcurves.c * app/gegl/gimpoperationdesaturate.c * app/gegl/gimpoperationhuesaturation.c * app/gegl/gimpoperationlevels.c * app/gegl/gimpoperationposterize.c * app/gegl/gimpoperationthreshold.c * app/gegl/gimpoperationtilesink.c * app/gegl/gimpoperationtilesource.c: added categories and very lame descriptions. Dunno if the categories are good that way but at least they are not NULL now. 2008-02-12 Sven Neumann * app/widgets/gimpcolormapeditor.[ch]: show a hint on non-indexed images. Based on a patch from Olof Frahm. Closes bug #438217. 2008-02-12 Sven Neumann * plug-ins/gfli/fli.c: applied patch from David Capello that fixes loading of fli files that specify width and height as zero (interpreting this as 320x200). It also fixes a problem in an unused code path (writing of differential color chunks). 2008-02-12 Sven Neumann * app/widgets/gimplanguagestore-parser.c: inverted logic; #ifdef is IMO easier to read than #ifndef. 2008-02-12 Tor Lillqvist * app/widgets/gimplanguagestore-parser.c (gimp_language_store_populate): Don't use the compile-time paths to iso-codes on Windows. Instead assume iso-codes is installed in the same location as GIMP. Make sure translated language names are in UTF-8 by calling bind_textdomain_codeset(). 2008-02-11 Sven Neumann * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimplanguageentry.[ch] * app/widgets/gimptexteditor.c: turned language entry into a widget. 2008-02-11 Michael Natterer * app/widgets/gimptexteditor.c (gimp_text_editor_new): enable wrapping so the text doesn't scroll out horizontally. 2008-02-11 Sven Neumann * plug-ins/pygimp/plug-ins/pyconsole.py: formatting. 2008-02-11 Michael Natterer * app/core/gimpcurve.[ch]: add gimp_curve_get_point(). * app/gegl/gimpcurvesconfig.c * app/widgets/gimpcurveview.c: use it instead of accessing the points array directly. 2008-02-11 Sven Neumann * libgimpthumb/Makefile.am (libgimpthumb_2_0_la_LIBADD): explicitly added GLIB_LIBS. Fixes bug #515566. 2008-02-11 Øyvind Kolås * app/gegl/gimpoperationtilesource.c: context_id argument was removed from the process() call of GeglOperationSource. 2008-02-10 Michael Natterer * app/widgets/gimpeditor.c: add button-relief style property which defaults to NONE. 2008-02-10 Bill Skaggs * app/widgets/gimpeditor.c: draw editor buttons without relief, see bug #515621. 2008-02-09 Bill Skaggs * plug-ins/common/ripple.c: add a "phase shift" control, for interactive use only. Fixes bug #515144. 2008-02-09 Michael Natterer * tools/pdbgen/pdb/color.pdb: don't include * app/pdb/color_cmds.c: regenerated. 2008-02-09 Øyvind Kolås * app/gegl/gimpoperationtilesource.c: %s/get_defined_region/get_bounding_box/ %s/adjust_result_region/get_cached_region/ 2008-02-09 Michael Natterer * app/core/gimpcurve.[ch]: keep the anchor points as an array of GimpVector2 instead of plain doubles. * app/gegl/gimpcurvesconfig.c * app/widgets/gimpcurveview.c: changed accordingly. 2008-02-09 Michael Natterer * app/widgets/gimpcurveview.c (gimp_curve_view_draw_point): cleanup. 2008-02-09 Michael Natterer * app/widgets/gimpcurveview.[ch]: port internal cursor stuff to gdouble, fix off-by-one in curve drawing, fix drawing artefact in handle drawing by starting drawing on the handle's outline and not its center. 2008-02-09 Michael Natterer * app/widgets/gimpcurveview.[ch]: port the "xpos" API to [0.0..1.0] doubles too. * app/tools/gimpcurvestool.[ch]: rename "col_value" member to "picked_color" and use gdouble instead of gint. Also use GimpCurve API to map the values instead of accessing the curve directly. Fixes setting curve anchor points by color picking. 2008-02-09 Michael Natterer * app/core/gimpcurve.[ch]: changed all values to be [0.0..1.0] doubles instead of [0..255] integers. Also changed the API to use doubles instead of ints. Still have the fixed-size arrays though. (gimp_curve_map): new function to map values. * app/gegl/gimpoperationcurves.c: remove private map() function and use the one from GimpCurve. * app/gegl/gimpcurvesconfig.c * app/core/gimpdrawable-curves.c: port to the new gdouble API. * app/tools/gimpcurvestool.c: use gimp_curve_get_uchar() to get the arrays for the color bars. * app/widgets/gimpcurveview.[ch]: port to gdouble and some cleanup. 2008-02-08 Sven Neumann * app/widgets/gimptexteditor.c: use an entry with completion for language selection. Still not functional. 2008-02-08 Sven Neumann * app/widgets/gimplanguagestore.[ch] * app/widgets/gimplanguagestore-parser.c: actually populate the language store. Still work in progress... * app/widgets/gimptexteditor.c: added a combo-box for language selection. Not functional yet; just something to play with. 2008-02-08 Sven Neumann * app/widgets/gimplanguagestore-parser.c: implemented the parser. * app/dialogs/tips-parser.c: minor cleanup. 2008-02-08 Tor Lillqvist * libgimpconfig/gimpconfig.def: Add gimp_config_copy. 2008-02-07 Michael Natterer * tools/pdbgen/app.pl: add some perl evilness to make the includes in the generated files look almost like they should. * tools/pdbgen/pdb/*.pdb: remove inclusion of "core/gimp.h" where not needed, clean up lists of includes and functions and reorder some functions to make more sense. Zero logic changed. * app/pdb/*_cmds.c * libgimp/gimpcontext_pdb.[ch] * libgimp/gimpbrush_pdb.[ch]: regenerated. 2008-02-07 Sven Neumann * configure.in: added configure checks for the iso-codes package. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimplanguagestore.[ch]: * app/widgets/gimplanguagestore-parser.[ch]: added rough outline of GtkListStore for language selection. 2008-02-07 Michael Natterer * app/base/base-utils.[ch]: add get_pid() which returns getpid(). * app/base/base.c * app/base/tile-swap.c * app/core/gimp-utils.c * app/plug-in/gimppluginshm.c * app/widgets/gimpselectiondata.c * tools/pdbgen/pdb/misc.pdb: use it instead of getpid() and remove all the #ifdef'ed includes getpid() needs. * tools/pdbgen/app.pl: remove support for these includes. Also remove some perl cruft in the include handling which is not needed any longer. * app/pdb/misc_cmds.c: regenerated. 2008-02-07 Michael Natterer * app/app.c: #include instead of 2008-02-07 Sven Neumann * app/text/gimptext-parasite.c: formatting. 2008-02-06 Michael Natterer * app/tools/gimpgegltool.c (gimp_param_spec_duplicate) * app/widgets/gimppropwidgets.c (gimp_prop_table_new): add support for GParamSpecEnum. * app/core/gimpimagemap.c (gimp_image_map_apply): add even better checks for input and output pads of the passed operation. 2008-02-06 Michael Natterer * app/paint/gimpclone.c * app/paint/gimpheal.c * app/paint/gimpink.c * app/widgets/gimphistogrameditor.c: remove includes that are not needed any longer. 2008-02-06 Michael Natterer * app/gegl/gimpoperationposterize.c * app/gegl/gimpoperationhuesaturation.c (process): don't crash if there is no config object. 2008-02-06 Michael Natterer * app/core/gimpimagemap.c (gimp_image_map_apply): when using a source operation, blend its output over the original image using "over" instead of simply replacing the original image. 2008-02-06 Michael Natterer * app/tools/gimpgegltool.c (gimp_param_spec_duplicate) * app/widgets/gimppropwidgets.c (gimp_prop_table_new): support multiline text and file paths. The multiline support is hacked up and needs some proper solution. 2008-02-05 Michael Natterer * app/tools/gimpgegltool.c: don't include any longer. 2008-02-05 Michael Natterer * app/widgets/gimppropwidgets.c (gimp_prop_table_new): don't forget the label for entry widgets. 2008-02-05 Martin Nordholts Applied patch from Olof Frahm which makes loading of data files (brushes and so on) happen recursively (bug #514160). * app/core/gimpdatafactory.c (gimp_data_factory_data_load): Recursively search sub directories for data files using the new helper function (gimp_data_factory_load_data_recursive) 2008-02-05 Sven Neumann * app/tools/gimpgegltool.c: spelling fix. 2008-02-05 Michael Natterer * app/core/gimpimagemap.c (gimp_image_map_apply): use gegl_node_get_pad() instead of gegl_node_find_property() to find out whether the node has an "input" pad. * app/tools/gimpgegltool.c: #include "core/gimpimagemap.h" 2008-02-05 Sven Neumann * themes/Default/images/stock-gegl-24.png * themes/Default/images/stock-gegl-16.png: replaced placeholder icon by a crappy drawing of a genetically engineered goat, large. 2008-02-05 Michael Natterer * app/core/gimpimagemap.c (gimp_image_map_apply): do the right thing for operations without "input" pad so we can use all source operations too. * app/tools/gimpimagemaptool.[ch]: make gimp_image_map_tool_create_map() public for the time being. * app/tools/gimpgegltool.c (gimp_gegl_tool_operation_changed): recreate the GimpImageMap so we can switch from filter to source operations and back. 2008-02-05 Michael Natterer * app/widgets/gimppropwidgets.[ch] (gimp_prop_table_new): new function which creates a table of prop widgets for all properties of an object (pretty incomplete, does exactly what's needed in GimpGeglTool, or even less). * app/tools/gimpgegltool.c: create a proxy config class for each GegĺOperation and create a prop table on the config class' properties as GUI for the GEGL operation. Write the proxy object's properties back to the GeglNode in map(). 2008-02-05 Sven Neumann * app/display/gimpdisplayshell-transform.c: changed coordinate transformation for floats. Fixes bug #510294. 2008-02-05 Sven Neumann * app/dialogs/image-new-dialog.c (image_new_create_image): use the user context when creating the new image. Fixes bug #514082. 2008-02-05 Sven Neumann * plug-ins/common/mail.c: simplified code and user interface by removing the uuencode option and the comment field which only duplicated the message body. (to64): fixed a bug in the base64 encoding. 2008-02-05 Sven Neumann * plug-ins/common/mail.c: changed menu label and dialog title to "Send by Email". 2008-02-05 Sven Neumann * plug-ins/print/print.c: removed ellipsis from "Page Setup" menu entry as specified in the HIG. 2008-02-05 Michael Natterer * app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): don't try to add a NULL config to the recent settings menu. 2008-02-05 Michael Natterer * themes/Default/images/Makefile.am * themes/Default/images/stock-gegl-16.png * themes/Default/images/stock-gegl-24.png * libgimpwidgets/gimpstock.[ch]: new stock icon to be replaced by somebody who can draw ;) * app/tools/gimpgegltool.c: use it. 2008-02-05 Michael Natterer * app/tools/Makefile.am * app/tools/gimpgegltool.[ch]: add experimental GEGL tool which will allow to try arbitrary GEGL operations. 100% unusable at the moment. * app/tools/gimp-tools.c: register it. * app/dialogs/dialogs.c: register its dialog. * menus/image-menu.xml.in: add it to the tools menu. 2008-02-05 Sven Neumann * plug-ins/common/psd-save.c (write_pixel_data): check if drawable is a layer before trying to access the layer mask. 2008-02-04 Sven Neumann * app/display/gimpdisplayshell-preview.c (gimp_display_shell_trace_tri_edge): use a gint for direction, not a gchar which might be unsigned. Patch from Giuliano Pochini; fixes bug #340965. 2008-02-04 Sven Neumann * plug-ins/print/print-page-layout.c: only connect to page layout changes for the lifetime of the dialog. * plug-ins/print/print-page-setup.[ch] * plug-ins/print/print.c: use a temporary procedure to notify the Print procedure about changes to the page setup. 2008-02-04 Michael Natterer * app/base/gimphistogram.[ch]: add refcounting and replace free() API by ref() and unref(). * app/core/gimpdrawable-equalize.c * app/core/gimpdrawable-levels.c * app/widgets/gimphistogrameditor.c * tools/pdbgen/pdb/color.pdb: replace calls to gimp_histogram_free() by gimp_histogram_unref(). * app/pdb/color_cmds.c: regenerated. * app/widgets/gimphistogramview.c: reference the histograms so we don't need the widget's users to keep them around while the widget exists. * app/tools/gimpcurvestool.[ch]: remove the histogram from the tool struct and just create one locally to set it on the histogram view widget. Unrelated: * app/tools/gimplevelstool.[ch] * app/tools/gimpthresholdtool.[ch]: renamed "hist" members to "histogram" plus some cleanup. 2008-02-04 Michael Natterer * plug-ins/script-fu/script-fu.c: rename "Script-Fu Console" menu item to simply "Console". 2008-02-04 Michael Natterer * app/pdb/gimppdb-utils.[ch]: add gimp_pdb_item_is_attached() which is a replacement for gimp_item_is_attached() and returns a proper error message. * tools/pdbgen/pdb/color.pdb * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/drawable_transform.pdb * tools/pdbgen/pdb/edit.pdb * tools/pdbgen/pdb/floating_sel.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/paint_tools.pdb * tools/pdbgen/pdb/selection.pdb * tools/pdbgen/pdb/text_tool.pdb * tools/pdbgen/pdb/transform_tools.pdb: use it. * app/pdb/color_cmds.c * app/pdb/drawable_cmds.c * app/pdb/drawable_transform_cmds.c * app/pdb/edit_cmds.c * app/pdb/floating_sel_cmds.c * app/pdb/layer_cmds.c * app/pdb/paint_tools_cmds.c * app/pdb/selection_cmds.c * app/pdb/text_tool_cmds.c * app/pdb/transform_tools_cmds.c: regenerated. 2008-02-04 Sven Neumann * plug-ins/print/Makefile.am * plug-ins/print/print-page-setup.[ch]: new files. * plug-ins/print/print-page-layout.c * plug-ins/print/print-settings.c * plug-ins/print/print.c: first draft of a Page Setup menu entry instead of the "Adjust Page Size" button (bug #513291). * plug-ins/print/print.h * plug-ins/print/print-draw-page.c: removed unused code. 2008-02-04 Sven Neumann * app/paint/gimpbrushcore.c (gimp_brush_core_create_bound_segs): changed workaround to look at the brush size instead (bug #514309). 2008-02-04 Michael Natterer * app/tools/gimpimagemaptool.c (gimp_image_map_tool_add_recent): use localtime() instead of localtime_r() and don't use %F in strftime(). Fixes bug #513966. 2008-02-04 Michael Natterer * app/core/Makefile.am * app/core/gimpdrawable-brightness-contrast.[ch] * app/core/gimpdrawable-color-balance.[ch] * app/core/gimpdrawable-colorize.[ch] * app/core/gimpdrawable-curves.[ch] * app/core/gimpdrawable-hue-saturation.[ch] * app/core/gimpdrawable-posterize.[ch] * app/core/gimpdrawable-threshold.[ch]: new files containing all the code that was in pdb/color_cmds.c. Cleaned up and GEGL-enabled everyting. * tools/pdbgen/pdb/color.pdb: remove almost all code and simply call the new functions. * app/pdb/color_cmds.c: regenerated. 2008-02-04 Sven Neumann * app/paint/gimpbrushcore.c (gimp_brush_core_create_bound_segs): only smooth the inner area of the mask so that we don't enlarge the boundary for hard brushes (bug #304798). 2008-02-04 Michael Natterer * app/tools/gimplevelstool.[ch] * app/tools/gimpcurvestool.[ch]: remove boolean "color" and "alpha" members from the tool structs and ask the drawable instead when needed. 2008-02-04 Michael Natterer * app/gegl/gimpthresholdconfig.[ch]: add "gboolean color" parameter to gimp_threshold_config_to_cruft() and set the "color" boolean in the Threshold cruft struct. * app/tools/gimpthresholdtool.c: don't fiddle with the cruft struct any longer and pass gimp_drawable_is_rgb() to above function instead. 2008-02-02 Martin Nordholts * INSTALL: Update GEGL dependency to GEGL trunk. 2008-02-02 Martin Nordholts * app/tools/gimppolygonselecttool.c (gimp_polygon_select_tool_commit): Only create a selection from the polygon if there are 3 or more vertices. 2008-02-02 Martin Nordholts * app/tools/gimppolygonselecttool.c (gimp_polygon_select_tool_oper_update): Don't hide the pending point line if we are grabbing the first point. (gimp_polygon_select_tool_motion): Also update the pending point if we are moving the first point. 2008-02-02 Martin Nordholts * app/tools/gimppolygonselecttool.c (gimp_polygon_select_tool_remove_last): Properly halt the tool when there are no vertices left. 2008-02-02 Martin Nordholts * app/tools/gimppolygonselecttool.c (gimp_polygon_select_tool_commit): Add a call to gimp_image_flush() so that the undo state gets updated. 2008-02-01 Martin Nordholts * themes/Default/images/tools/stock-tool-polygon-select-22.png: Lower opacity of shadow to mimic appearance of other tool icons. 2008-02-01 Michael Natterer * app/tools/gimpcurvestool.c: fix various curves tool brokenness. Should behave (TM) now. 2008-02-01 Michael Natterer * app/core/core-types.h * app/gegl/gegl-types.h: have app/gegl know app/core's namespace. * app/gegl/gimpoperationcurves.h: remove temp hack includes. * app/gegl/gimpoperationcurves.c: include "core/gimpcurve.h" * app/gegl/gimpbrightnesscontrastconfig.[ch] * app/gegl/gimpcolorbalanceconfig.[ch] * app/gegl/gimpcolorizeconfig.[ch] * app/gegl/gimpcurvesconfig.[ch] * app/gegl/gimphuesaturationconfig.[ch] * app/gegl/gimplevelsconfig.[ch] * app/gegl/gimpoperationcurves.[ch] * app/gegl/gimpposterizeconfig.[ch] * app/gegl/gimpthresholdconfig.[ch]: derive from GimpViewable, install properties using the GimpConfig macros, add implementations of GimpConfigInterface::equal() and ::copy() where needed. * app/tools/gimpimagemaptool.[ch]: add prototype of a menu of recently used settings so the same color correction can easily be applied to many images. 2008-02-01 Michael Natterer * app/widgets/gimpcontainerview.c (gimp_container_view_set_container): refuse containers if their children are not GimpViewables instead of crashing later. 2008-02-01 Michael Natterer * app/tools/gimppolygonselecttool.h: fix include guards. 2008-02-01 Michael Natterer * libgimpconfig/gimpconfig-iface.[ch]: add new method GimpConfigInterface::copy() which by default calls gimp_config_sync() but is overridable for objects which are not entirely property-defined or otherwise evil. Freeze/thaw property notifications in deserialize() and reset(). * libgimpconfig/gimpconfig-utils.c (gimp_config_sync): freeze/thaw property notifications on the dest object. 2008-02-01 Sven Neumann * plug-ins/print/print.c: some minor cleanups and preparation for adding a dedicated Page Setup menu entry (bug #513291). 2008-01-31 Sven Neumann * plug-ins/common/mail.c: string change. 2008-01-31 Sven Neumann Delay GEGL initialisation until after the command-line parsing so that we can detect an already running GIMP instance and delegate to that without going through the GEGL and babl initialisation. * app/app.c (app_libs_init): don't add the GEGL options group here. GEGL doesn't add any command-line options and it doesn't look as if it would do that anytime soon. * app/gegl/gimp-gegl.c (gimp_gegl_init): initialize GEGL here. 2008-01-31 Sven Neumann * plug-ins/common/iwarp.c: choose a better tile cache size. 2008-01-31 Martin Nordholts * app/tools/gimppolygonselecttool.[ch]: Code formating overhaul. 2008-01-31 Martin Nordholts * app/tools/gimppolygonselecttool.[ch]: Made object instance struct definition completely a private implementation detail. 2008-01-31 Martin Nordholts * app/tools/gimppolygonselecttool.c (gimp_polygon_select_tool_real_select): Correct undo description. 2008-01-30 Martin Nordholts Added a Polygon Select Tool which is a primitive selection tool based on Free Select Tool. Code filtered through David Gowers who also made the tool icon. This version of the tool is a for-now solution to bug #119646. * app/tools/gimppolygonselecttool.[ch]: The new tool. * app/tools/gimp-tools.c: Add the tool. * app/tools/Makefile.am: Add tool source. * app/widgets/gimphelp-ids.h: Add help id for the tool. * libgimpwidgets/gimpstock.[ch]: Setup for the new tool icon. * menus/image-menu.xml.in: Add action entry for the tool. * themes/Default/images/tools/stock-tool-polygon-select-{16,22}.png: Tool icon graphics. * themes/Default/images/Makefile.am: Add tool icon graphics. 2008-01-30 Michael Natterer * app/tools/gimpimagemaptool.[ch]: add "GObject **config" return value to GimpImageMapTool::get_operation() and memory-manage the config object here. Add default implementation of GimpImageMapTool::reset() which calls gimp_config_reset() on the config object. * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorizetool.c * app/tools/gimpcurvestool.c * app/tools/gimphuesaturationtool.c * app/tools/gimplevelstool.c * app/tools/gimpposterizetool.c * app/tools/gimpthresholdtool.c: return the config object in get_operation() and don't unref it in finalize(). Connect to the config object's "notify" signal and update the GUI in the callback. Also call gimp_image_map_tool_preview() there. Removed all other GUI update functions and all calls to preview(). Removed reset() implementations which only called gimp_config_reset(). 2008-01-30 Michael Natterer * app/widgets/gimphistogramview.c (gimp_histogram_view_set_channel) (gimp_histogram_view_set_scale) (gimp_histogram_view_set_range): don't emit signals/notifications if the setting didn't change. 2008-01-30 Øyvind Kolås * app/gegl/gimpoperationcolorbalance.c: * app/gegl/gimpoperationcolorize.c: * app/gegl/gimpoperationcurves.c: * app/gegl/gimpoperationdesaturate.c: * app/gegl/gimpoperationhuesaturation.c: * app/gegl/gimpoperationlevels.c: * app/gegl/gimpoperationposterize.c: * app/gegl/gimpoperationthreshold.c: * app/gegl/gimpoperationtilesink.c: * app/gegl/gimpoperationtilesource.c: * app/gegl/gimpoperationdesaturate.c: stop using gegl_operation_class_set_name() for gimp gegl ops. 2008-01-30 Michael Natterer * app/gegl/gimpcolorbalanceconfig.c * app/gegl/gimpcurvesconfig.c * app/gegl/gimphuesaturationconfig.c * app/gegl/gimplevelsconfig.c: add missing notifications on property changes. 2008-01-28 Michael Natterer * app/gegl/gimpoperationtilesink.c * app/gegl/gimpoperationtilesource.c (process): return FALSE when there is no tile manager. 2008-01-28 Sven Neumann * plug-ins/gimpressionist/*.[ch]: added missing copyright header. 2008-01-28 Michael Natterer * app/gegl/gimpoperationcolorbalance.c * app/gegl/gimpoperationcolorize.c * app/gegl/gimpoperationcurves.c * app/gegl/gimpoperationdesaturate.c * app/gegl/gimpoperationhuesaturation.c * app/gegl/gimpoperationlevels.c * app/gegl/gimpoperationposterize.c * app/gegl/gimpoperationthreshold.c: replace for() loops over the samples by while() loop counting down the passed "samples" parameter. 2008-01-28 Michael Natterer * app/gegl/gimpcolorbalanceconfig.c * app/gegl/gimpcolorizeconfig.c * app/gegl/gimpcurvesconfig.c * app/gegl/gimphuesaturationconfig.c * app/gegl/gimplevelsconfig.c * app/gegl/gimpoperationdesaturate.c * app/gegl/gimpoperationtilesink.c * app/gegl/gimpoperationtilesource.c * app/gegl/gimpposterizeconfig.c * app/gegl/gimpthresholdconfig.c: coding style paranoia: changed one byte per file. 2008-01-28 Michael Natterer * libgimpconfig/gimpconfig-serialize.c (gimp_config_serialize_property): fix API docs. 2008-01-28 Michael Natterer * app/gegl/gegl-types.h * app/gegl/Makefile.am * app/gegl/gimpbrightnesscontrastconfig.[ch]: new config object. * app/tools/gimpbrightnesscontrasttool.[ch]: use it. 2008-01-28 Sven Neumann * plug-ins/common/lcms.c (lcms_dialog): fixed crash on missing profile (bug #512529). 2008-01-28 Sven Neumann * plug-ins/common/lcms.c (lcms_load_profile) * plug-ins/common/wmf.c (load_image): fixed error messages. 2008-01-28 Michael Natterer * app/dialogs/keyboard-shortcuts-dialog.c (keyboard_shortcuts_dialog_new): don't show the horizontal scrollbar if it's not needed. 2008-01-28 Sven Neumann * app/display/gimpdisplayshell.[ch] (gimp_display_shell_snap_coords): removed redundant GimpCoords parameter that use to cause valgrind warnings about overlapping memory regions in memcpy(). * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-autoscroll.c: changed accordingly. 2008-01-28 Sven Neumann * plug-ins/common/cubism.c: minor cleanups. 2008-01-28 Michael Natterer * app/base/tile-manager.c * plug-ins/common/lcms.c: use G_STRLOC instead of G_GNUC_FUNCTION (which is now deprecated). 2008-01-28 Tor Lillqvist * modules/controller_dx_dinput.c: Make it compile again. 2008-01-28 Sven Neumann * plug-ins/gimpressionist/gimp.c: minor cleanup. 2008-01-27 Michael Natterer * app/gegl/gimpcolorbalanceconfig.[ch] * app/gegl/gimpcolorizeconfig.[ch] * app/gegl/gimpcurvesconfig.[ch] * app/gegl/gimphuesaturationconfig.[ch] * app/gegl/gimplevelsconfig.[ch] * app/gegl/gimpposterizeconfig.[ch] * app/gegl/gimpthresholdconfig.[ch]: implement the GimpConfig interface and remove public reset() functions except special ones which reset only parts of the objects. Add lots of property notifications. * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorizetool.c * app/tools/gimpcurvestool.c * app/tools/gimphuesaturationtool.c * app/tools/gimplevelstool.c * app/tools/gimpposterizetool.c * app/tools/gimpthresholdtool.c: use gimp_config_reset(), misc. related changes and cleanups. 2008-01-27 Kevin Cozens * plug-ins/imagemap/imap_cern.[ly] * plug-ins/imagemap/imap_csim.[ly] * plug-ins/imagemap/imap_ncsa.[ly]: Dynamically allocate space to hold comments, links, strings, and co-ordinate lists. Fixes bug #511072. * plug-ins/imagemap/imap_cern_lex.c * plug-ins/imagemap/imap_cern_parse.[ch] * plug-ins/imagemap/imap_csim_lex.c * plug-ins/imagemap/imap_csim_parse.[ch] * plug-ins/imagemap/imap_ncsa_lex.c * plug-ins/imagemap/imap_ncsa_parse.[ch]: Regenerated. 2008-01-27 Sven Neumann * plug-ins/gimpressionist/gimp.c (gimpressionist_main): transfer the pixels to the core on a tile-by-tile basis. 2008-01-27 Sven Neumann * plug-ins/gimpressionist/gimp.c (grabarea): changed code that retrieves the source drawable to iterate over the data tile-by-tile. Improves GIMPressionist startup time (bug #512126). 2008-01-26 Manish Singh * plug-ins/pygimp/pygimp-colors.c (pygimp_rgb_from_pyobject): no need to use a temporary in tuple translation, and clamp the result. * plug-ins/pygimp/gimpmodule.c (pygimp_set_background, pygimp_set_foreground): restore support for passing in 3 args for color components, for backward compatibility. 2008-01-26 Joao S. O. Bueno * plug-ins/pygimp/pygimp-colors.c (pygimp_rgb_from_pyobject): fix subsequent error (calculated parameters where not used) 2008-01-26 Manish Singh * plug-ins/pygimp/pygimp-colors.c (pygimp_rgb_from_pyobject): fix error reporting. 2008-01-25 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpoperationpointfilter.[ch]: new parent class for all image map operations. Features a "config" member and "public" get_property() and set_property() functions to be used by subclasses. * app/gegl/gimpoperationcolorbalance.[ch] * app/gegl/gimpoperationcolorize.[ch] * app/gegl/gimpoperationcurves.[ch] * app/gegl/gimpoperationhuesaturation.[ch] * app/gegl/gimpoperationlevels.[ch] * app/gegl/gimpoperationposterize.[ch] * app/gegl/gimpoperationthreshold.[ch]: derive from GimpOperationPointFilter, remove "config" members, remove finalize(), get_property() and set_property() implementations and use the ones provided by the parent class. 2008-01-25 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpposterizeconfig.[ch]: new config object. * app/gegl/gimpoperationposterize.[ch] * app/tools/gimpposterizetool.[ch]: use it. 2008-01-25 Michael Natterer * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorizetool.c * app/tools/gimpcurvestool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpimagemaptool.c * app/tools/gimplevelstool.c * app/tools/gimpposterizetool.c * app/tools/gimpthresholdtool.c: remove includes which are no longer needed. 2008-01-25 Michael Natterer * app/gegl/gimpcurvesconfig.[ch] * app/gegl/gimplevelsconfig.[ch]: add load_cruft() and save_cruft() functions which load/save the old (current) curves and levels file formats. * app/tools/gimpcurvestool.c * app/tools/gimplevelstool.c: use them here and remove a lot of includes. 2008-01-25 Michael Natterer * app/tools/gimphuesaturationtool.[ch]: removed the GimpHueRange member from the tool struct and use the one from the config object instead. Also did a global s/partition/range/. 2008-01-25 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpthresholdconfig.[ch]: new config object. * app/gegl/gimpoperationthreshold.[ch]: use it. * app/tools/gimpthresholdtool.[ch]: ditto. 2008-01-25 Michael Natterer * app/tools/gimpcurvestool.[ch] * app/tools/gimplevelstool.[ch]: remove the "channel" member from the tool struct and use the channel from the options object instead. 2008-01-25 Sven Neumann * app/widgets/gimpcolormapeditor.c (gimp_colormap_editor_draw): avoid crashing when the widget allocation is small (bug #511926). 2008-01-24 Sven Neumann * app/about.h (GIMP_COPYRIGHT): updated copyright. 2008-01-24 Sven Neumann * themes/Default/images/stock-wilber-48.png: removed unused image. * themes/Default/images/Makefile.am * themes/Default/images/stock-wilber-22.png: moved here from libgimpwidgets. * libgimpwidgets/gimpstock.c: register Wilber icon in button size. * data/images/wilber.png: moved 256x256 icon here from libgimpwidgets. 2008-01-24 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpcolorbalanceconfig.[ch]: new config object. * app/gegl/gimpoperationcolorbalance.[ch]: use it. * app/tools/gimpcolorbalancetool.[ch]: port to GimpColorBalanceConfig and use the old ColorBalance cruft only in map(). The effect of the GEGL operator is now even more different from the cruft code because I removed a hack that was applying an additional factor when mapping between the ColorBalance values and the new properties, but that was only a workaround to make it look more similar anyway. Will have to fix this properly. * app/base/color-balance.[ch]: remove API that is now obsolete. 2008-01-24 Sven Neumann * app/core/gimpimage.c * app/core/gimpimage-undo.c: fixed handling of the image undo counter for the case where the user has undone the image to a state before the last save and then pushes a new undo. Fixes bug #509822. 2008-01-24 Michael Natterer * app/gegl/gimpcolorizeconfig.[ch]: added reset() and to_cruft() functions. * app/tools/gimpcolorizetool.c: use them. 2008-01-23 Martin Nordholts * app/tools/gimprectangleselecttool.c (gimp_rect_select_tool_execute): Reset the automatic undo/redo mechanism so that commiting pending rectangles with Return works (bug #511599). 2008-01-23 Sven Neumann * app/display/gimpdisplayshell-selection.c: show the selection, even if the window is flagged as invisible, but don't start the animation. Addresses bug #505758. 2008-01-23 Michael Natterer * app/gegl/gimphuesaturationconfig.[ch] (gimp_hue_saturation_config_to_cruft): call hue_saturation_calculate_transfers() here... * app/tools/gimphuesaturationtool.c (gimp_hue_saturation_tool_map): ...instead of here. 2008-01-23 Michael Natterer * app/gegl/gimplevelsconfig.[ch]: to_levels_cruft() -> to_cruft(). * app/core/gimpdrawable-levels.c * app/tools/gimplevelstool.c: changed accordingly. 2008-01-23 Michael Natterer * app/tools/gimphuesaturationtool.c: change signature of widget callbacks to take a GimpHueSaturationTool pointer instead of "gpointer data". * app/tools/gimpposterizetool.c: remove redundant GTK_ADJUSTMENT() casts. 2008-01-23 Sven Neumann * app/sanity.c * app/gui/gui.c (gui_sanity_check): minor cleanup. 2008-01-23 Sven Neumann * app/dialogs/about-dialog.c (about_dialog_create): removed obsolete version check. 2008-01-23 Sven Neumann * plug-ins/imagemap/imap_mru.c (mru_remove_link): gracefully handle a NULL link. (mru_destruct): plugged a memory leak. * plug-ins/imagemap/imap_about.c: use "program-name" instead of "name". 2008-01-23 Michael Natterer * app/tools/gimpimagemaptool.h: don't #include * app/actions/tools-commands.c * app/display/gimpdisplayshell-callbacks.c * app/tools/gimp-tools.c: include it here. Whenever the build breaks because of some GEGL change in GIMP, please inlcude instead of or before in the affected .c files. 2008-01-23 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpcurvesconfig.[ch] * app/gegl/gimpoperationcurves.[ch]: add curves operation and its config object. Hack around badly to be able to use GimpCurve from app/core. * app/gegl/gimp-gegl.c: register the curves operation. * app/tools/gimpcurvestool.[ch]: added get_operation() implementation and use the new config object instead of keeping around 5 curves. 2008-01-23 Michael Natterer * app/gegl/gimpoperationlevels.[ch] (gimp_operation_levels_map_input): new utility function which maps a single value. * app/tools/gimplevelstool.[ch] (levels_update_adjustments): use the new function to create the input arrays for gimp_color_bar_set_buffer(). Removed the Levels struct from the GimpLevelsTool struct and only use it in map() when needed. * app/base/levels.[ch]: remove obsolete API and struct members. 2008-01-22 Sven Neumann * app/core/gimpprojection.c (gimp_projection_idle_render_init): decreased the priority of the projection idle renderer to 150, halfway between G_PRIORITY_HIGH_IDLE and G_PRIORITY_DEFAULT_IDLE. Fixes bug #511214. 2008-01-22 Sven Neumann * app/paint/gimpbrushcore.c (gimp_brush_core_create_bound_segs): smooth the mask instead of dilating. 2008-01-22 Sven Neumann * app/paint/gimpbrushcore.c (gimp_brush_core_create_bound_segs): dilate the brush mask in order to obtain a simpler boundary. Addresses bug #304798. * app/tools/gimpbrushtool.c (gimp_brush_tool_draw_brush): removed redundant casts. 2008-01-22 Sven Neumann * app/base/boundary.c: minor cleanups. 2008-01-22 Sven Neumann * plug-ins/imagemap/imap_csim.y: increased buffer size. Addresses bug #511072. * plug-ins/imagemap/imap_csim_parse.[ch]: regenerated. 2008-01-22 Sven Neumann * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-coords.[ch]: applied patch from Alexia Death with further event filter improvements (bug #508639). 2008-01-22 Sven Neumann * plug-ins/common/pcx.c: corrected check of the bytesperline field which caused monochrome PCX images to be rejected (bug #510658). 2008-01-22 Sven Neumann * app/core/gimp.[ch]: added new function gimp_use_gegl(). * app/core/gimpdrawable-desaturate.c * app/core/gimpdrawable-levels.c * app/core/gimpdrawable-invert.c * app/tools/gimpimagemaptool.c * app/pdb/color_cmds.c * tools/pdbgen/pdb/color.pdb: use it instead of accessing the GimpCoreConfig struct directly. 2008-01-22 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimphuesaturationconfig.[ch]: new config object. * app/gegl/gimpoperationhuesaturation.[ch]: remove all properties and add a "config" property. Also add API to map a single GimpRGB needed by the hue-saturation tool's color areas. * app/tools/gimphuesaturationtool.[ch]: switch to using GimpHueSaturationConfig, use the old HueSaturation struct only in map(). * app/base/hue-saturation.[ch]: remove API that's no longer needed. 2008-01-22 Øyvind Kolås * app/gegl/gimpoperationcolorbalance.h: * app/gegl/gimpoperationcolorize.h: * app/gegl/gimpoperationdesaturate.h: * app/gegl/gimpoperationhuesaturation.h: * app/gegl/gimpoperationlevels.h: * app/gegl/gimpoperationposterize.h: * app/gegl/gimpoperationthreshold.h: * app/gegl/gimpoperationtilesink.h: * app/gegl/gimpoperationtilesource.h: #include 2008-01-21 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_set_other_side_coord): Don't foget to update the integer representation of the rectangle. 2008-01-21 Martin Nordholts * app/tools/gimpeditselectiontool.[ch]: Moved the logic in _motion to a new helper function _update_motion that is also called in _active_modifier_key. Makes toggling Ctrl immediately apply/remove movement constraints for the Move Tool when a move has been initiated. This completes the fix for bug #78730. 2008-01-21 Sven Neumann * app/core/gimpselection.c (gimp_selection_extract): don't clear the selection as a side-effect of "Edit->Cut" (bug #510534). 2008-01-21 Michael Natterer * app/widgets/gimpcolorbar.c (gimp_color_bar_class_init): fix the ID of the "histogram-channel" property. 2008-01-21 Michael Natterer * app/core/gimpdrawable-levels.c: port to GEGL and use the new code path when use-gegl is TRUE. * app/base/levels.[ch]: remove stretch and pick APIs which are not used any longer. 2008-01-21 Michael Natterer * app/gegl/gimplevelsconfig.[ch]: add utility function gimp_levels_config_to_levels_cruft() which fills the old Levels struct from a GimpLevelsConfig object. * app/tools/gimplevelstool.c: use it. 2008-01-21 Michael Natterer * app/gegl/gimpcolorizeconfig.h * app/gegl/gimpoperationcolorize.h: add missing type macros. 2008-01-19 Martin Nordholts * app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_motion): Reformat a bit, essentially just removed one pointless level of indentation. 2008-01-18 Øyvind Kolås Removed copies of GEGL headers from GIMP source, depend on installed headers instead. GIMP trunk still depends on GEGL trunk but we're moving towards a time when GIMP can depend on a GEGL tarball instead. * app/gegl/gegl/gegl-operation-filter.h: * app/gegl/gegl/gegl-operation-point-filter.h: * app/gegl/gegl/gegl-operation-sink.h: * app/gegl/gegl/gegl-operation-source.h: * app/gegl/gegl/gegl-operation.h: * app/gegl/gegl/gegl-types.h: * app/gegl/gegl/: removed. * app/gegl/gimpoperationcolorbalance.h: * app/gegl/gimpoperationcolorize.h: * app/gegl/gimpoperationdesaturate.h: * app/gegl/gimpoperationhuesaturation.h: * app/gegl/gimpoperationlevels.h: * app/gegl/gimpoperationposterize.h: * app/gegl/gimpoperationthreshold.h: * app/gegl/gimpoperationtilesink.h: * app/gegl/gimpoperationtilesource.h: modified path to parent class' header file. 2008-01-18 Bill Skaggs * app/base/lut-funcs.c (equalize_lut_func): Don't equalize the alpha channel. Fixes bug #510210. 2008-01-18 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpcolorizeconfig.[ch]: new config object. * app/gegl/gimpoperationcolorize.[ch]: remove all properties and add a "config" property. * app/tools/gimpcolorizetool.[ch]: port to GimpColorizeConfig, use the old Colorize struct only in map(). 2008-01-18 Michael Natterer * app/gegl/gimplevelsconfig.[ch]: ported the stretch and pick functions from base/levels.c. * app/tools/gimplevelstool.[ch]: use them instead of the old stuff. Also switch to GimpLevelsConfig as primary storage for all settings and fill the old Levels struct only when needed in map(). Remove all hackish fiddling with levels_tool->channel because it is now always what is set in the menu. 2008-01-18 Michael Natterer * app/gegl/gimpoperationtilesink.c (class_init) * app/gegl/gimpoperationcolorize.c (class_init): cosmetic. 2008-01-17 Øyvind Kolås * app/gegl/gimpoperationtilesink.c: * app/gegl/gimpoperationtilesource.c: Some changes due to changed location of where the various GEGL headers get installed on the system. * app/gegl/gegl/gegl-operation.h: synced from GEGL. 2008-01-17 Martin Nordholts * app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_get_active_item): Use this new helper function instead of duplicating its logic. 2008-01-17 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimplevelsconfig.[ch]: new config object for the levels operation's settings. * app/gegl/gimpoperationlevels.[ch]: remove all properties and add a "config" property instead. * app/tools/gimplevelstool.[ch]: keep a GimpLevelsConfig around. 2008-01-17 Michael Natterer * app/gegl/gimpoperationcolorize.c * app/gegl/gimpoperationhuesaturation.c (process): move some calculations and assignments out of the inner loop. 2008-01-17 Michael Natterer * app/tools/gimpimagemaptool.c: create the operation in GObject::constructor() so it's available during the entire tool life time (needed soon). 2008-01-17 Michael Natterer * app/gegl/gegl/gegl-operation.h * app/gegl/gegl/gegl-operation-filter.h: synced from GEGL. 2008-01-17 Sven Neumann * app/core/Makefile.am * app/core/core-types.h * app/core/gimptagged.[ch]: define a simple interface for tagged objects. * app/core/gimpdata.[ch]: implement the GimpTagged interface. 2008-01-17 Sven Neumann * app/core/gimpviewable.h: formatting. 2008-01-16 Øyvind Kolås * app/gegl/gegl/gegl-operation.h: synced from GEGL. * app/gegl/gegl/graph/gegl-node-context.h: removed, since none of it's provided functionlity is any longer used by the GIMP implemented ops. * app/gegl/gegl/graph/: removed. 2008-01-16 Øyvind Kolås * app/gegl/gegl/buffer/gegl-buffer-types.h: removed. * app/gegl/gegl/buffer/: removed. * app/gegl/gegl/gegl-operation.h: synced from GEGL. Now includes the installed gegl-buffer.h which contains the public typedefs needed for implementing operations anyways. 2008-01-16 Sven Neumann * app/base/boundary.c: minor cleanup. 2008-01-16 Michael Natterer Fix gegl types and includes so we can include operations from app/gegl in other gimp files (needed soon): * app/gegl/gegl/gegl-types.h: not copied from gegl any longer. Now contains only two typedefs needed by the copied operation headers. * app/gegl/gegl-types.h: include above types file. * app/gegl/gimp-gegl.c * app/gegl/gimpoperationcolorbalance.c * app/gegl/gimpoperationcolorize.c * app/gegl/gimpoperationdesaturate.c * app/gegl/gimpoperationhuesaturation.c * app/gegl/gimpoperationlevels.c * app/gegl/gimpoperationposterize.c * app/gegl/gimpoperationthreshold.c * app/gegl/gimpoperationtilesink.c * app/gegl/gimpoperationtilesource.c: include only and "gegl-types.h" from this directory, which is much more gimpish now. Include "gegl/buffer/gegl-buffer.h" in the source and sink operations. * app/tools/gimpimagemaptool.h: warn about inclusion of only if it hasn't been included before, so it only warns in the files where we still have to address this issue. 2008-01-16 Sven Neumann * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-coords.c: applied parts of a change from Alexia Death. This improves the event smoothing (bug #508639). 2008-01-15 Martin Nordholts * app/tools/tools-utils.h: Added symbolic constants for common values to the n_snap_lines parameter of gimp_tool_motion_constrain. * app/tools/gimpblendtool.c: * app/tools/gimpeditselectiontool.c: * app/tools/gimpmeasuretool.c: * app/tools/gimppainttool.c: Use these new symbolic constants. 2008-01-15 Martin Nordholts * app/tools/gimpeditselectiontool.[ch]: Made it possible to constrain movement with the Move Tool in 45 degree angles by holding Ctrl when a move has been initiated. This fixes the essential part of bug #78730. 2008-01-15 Michael Natterer * app/gegl/gimpoperationcolorize.[ch] * app/gegl/gimpoperationlevels.[ch] * app/gegl/gimpoperationthreshold.[ch]: changed all properties from float to double. * app/gegl/gimpoperationcolorize.c: normalized property ranges to [0.0..1.0] or [-1.0..1.0] resp. * app/tools/gimpcolorizetool.c: changed accordingly. 2008-01-15 Michael Natterer * app/tools/gimpimagemaptool.c (gimp_image_map_tool_notify_preview): check for image_map_tool->image_map also when the preview is switched on, not only when it's switched off. 2008-01-15 Sven Neumann * plug-ins/common/bumpmap.c * plug-ins/script-fu/scripts/swirltile.scm: applied patch from Ulf-D. Ehlert that catches a potential division by zero in the Bumpmap plug-in and adjusts the range of the Depth parameter in the Swirl-Tile script (bug #509608). 2008-01-15 Kevin Cozens * plug-ins/script-fu/scripts/3d-outline.scm * plug-ins/script-fu/scripts/add-bevel.scm * plug-ins/script-fu/scripts/burn-in-anim.scm * plug-ins/script-fu/scripts/camo.scm * plug-ins/script-fu/scripts/circuit.scm * plug-ins/script-fu/scripts/clothify.scm * plug-ins/script-fu/scripts/coffee.scm * plug-ins/script-fu/scripts/contactsheet.scm * plug-ins/script-fu/scripts/distress-selection.scm * plug-ins/script-fu/scripts/flatland.scm * plug-ins/script-fu/scripts/font-map.scm * plug-ins/script-fu/scripts/fuzzyborder.scm * plug-ins/script-fu/scripts/glossy.scm * plug-ins/script-fu/scripts/land.scm * plug-ins/script-fu/scripts/lava.scm * plug-ins/script-fu/scripts/old-photo.scm * plug-ins/script-fu/scripts/predator.scm * plug-ins/script-fu/scripts/rendermap.scm * plug-ins/script-fu/scripts/ripply-anim.scm * plug-ins/script-fu/scripts/script-fu-set-cmap.scm * plug-ins/script-fu/scripts/select-to-brush.scm * plug-ins/script-fu/scripts/select-to-image.scm * plug-ins/script-fu/scripts/select-to-pattern.scm * plug-ins/script-fu/scripts/speed-text.scm * plug-ins/script-fu/scripts/spinning-globe.scm * plug-ins/script-fu/scripts/test-sphere.scm * plug-ins/script-fu/scripts/text-circle.scm * plug-ins/script-fu/scripts/unsharp-mask.scm * plug-ins/script-fu/scripts/xach-effect.scm: Variables in a let block must be of the form (variable value) per the R5RS. 2008-01-14 Kevin Cozens * plug-ins/script-fu/scripts/script-fu-compat.init: Fixed definition of 'prog1' due to recent fixes enforcing R5RS syntax for 'let'. 2008-01-15 Michael Natterer * app/tools/gimpimagemaptool.c (gimp_image_map_tool_preview): don't call map() if image_map_tool->image_map is NULL. 2008-01-14 Martin Nordholts * app/tools/tools-utils.[ch] (gimp_tool_motion_constrain): Generalized to allow a variable number of lines for snapping, and rewritten to make snapping happen more intuitively; snap the shortest distance rather than only horizontally or vertically. (gimp_tool_utils_point_to_line_distance): New helper function. * app/tools/gimpblendtool.c * app/tools/gimpmeasuretool.c * app/tools/gimppainttool.c: Adjust to the new function signature. 2008-01-14 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpoperationhuesaturation.[ch]: new operation. * app/gegl/gimp-gegl.c: register it. * app/tools/gimphuesaturationtool.c: use it. 2008-01-14 Sven Neumann * app/core/core-types.h * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-coords.[ch] * app/display/gimpdisplayshell.h * app/paint/gimpink.[ch] * app/paint/gimpinkundo.[ch]: applied patch from Alexia Death that adds an event evaluation function that decides if an event is needed or can be discarded. As a side-product some useful dynamics parameters like velocity are added to the GimpCoords struct. The Ink tool is changed to use this information. See bug #508639. 2008-01-13 Michael Natterer * modules/colorsel_cmyk_lcms.c (colorsel_cmyk_config_changed): set a tooltip on the profile name label because it's often ellipsized. 2008-01-12 Michael Natterer * app/base/color-balance.c: minor formatting fix. 2008-01-11 Michael Natterer * modules/gimpinputdevicestore.h * modules/gimpinputdevicestore-hal.c * modules/gimpinputdevicestore-dx.c: use G_DEFINE_DYNAMIC_TYPE(). * modules/controller_dx_dinput.c * modules/controller_linux_input.c: changed accordingly. 2008-01-10 Manish Singh * plug-ins/pygimp/pygimp-pdb.c (pdb_getattro): Handle __members__ specially to return the current PDB procedure list, and pass-through any attributes that start with "_" without looking them up in the PDB. 2008-01-10 Sven Neumann * app/widgets/gimpuimanager.c (gimp_ui_manager_ui_popup): gracefully deal with a NULL return value from gtk_ui_manager_get_widget(). This happens when the XML menu definitions are not found. 2008-01-10 Sven Neumann * plug-ins/pygimp/plug-ins/gimpcons.py: fixed spelling of GIMP. 2008-01-10 Sven Neumann * plug-ins/jpeg/Makefile.am: fixed conditional build of the JPEG plug-in. 2008-01-10 Bill Skaggs * libgimpbase/gimpenv.c: fix editing error in documentation. 2008-01-10 Michael Natterer Simplify things a bit and enable gegl-only color correction tools (without legacy functions). * app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map): always create the operation if ::get_operation() is implemented and always use it when creating the GimpImageMap if there is no legacy apply_func. * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorizetool.c * app/tools/gimplevelstool.c * app/tools/gimpposterizetool.c * app/tools/gimpthresholdtool.c (map): set the operation's properties unconditionally since it always exists now if we also implement ::get_operation(). 2008-01-10 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpoperationcolorbalance.[ch]: new operator. * app/gegl/gimp-gegl.c: register it. * app/tools/gimpcolorbalancetool.c: use it. 2008-01-09 Joao S. O. Bueno * plug-ins/pygimp/pygimp-vectors.c: Allow Vectors.remove_stroke method to accept VectorStroke objects besides stroke IDs. Fix method names in error strings. 2008-01-09 Michael Natterer * modules/cdisplay_colorblind.c * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c * modules/cdisplay_lcms.c * modules/cdisplay_proof.c * modules/colorsel_cmyk.c * modules/colorsel_triangle.c * modules/colorsel_water.c * modules/controller_dx_dinput.c * modules/controller_linux_input.c * modules/controller_midi.c: use G_DEFINE_DYNAMIC_TYPE() instead of boilerplate code. 2008-01-09 Sven Neumann * modules/colorsel_cmyk_lcms.c (colorsel_cmyk_class_init): don't abort on errors in lcms. 2008-01-09 Sven Neumann * app/gegl/gimpoperationtilesink.c: use the marshaller from GLib; don't include gimpmarshal.h from app/core. 2008-01-09 Michael Natterer * app/tools/gimplevelstool.c (gimp_levels_tool_map): fix alpha handling on greyscale images. 2008-01-09 Sven Neumann * plug-ins/common/convmatrix.c (convolve_image): round the result of the convolution. Fixes bug #508114. 2008-01-09 Michael Natterer * app/core/core-types.h: add typedef GimpImageMapApplyFunc here. * app/core/gimpimagemap.[ch] (gimp_image_map_new): add apply_func and apply_data parameters. (gimp_image_map_apply): remove them here and add a GeglRectangle parameter which is the visible area of the affected drawable. * app/tools/gimpimagemaptool.[ch]: keep apply_func and apply_data around in the GimpImageMapTool struct. (gimp_image_map_tool_create_map): pass them to gimp_image_map_new(). (gimp_image_map_tool_map): call gimp_image_map_apply() here and pass the drawable's visible rectangle. * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorizetool.c * app/tools/gimpcurvestool.c * app/tools/gimphuesaturationtool.c * app/tools/gimplevelstool.c * app/tools/gimpposterizetool.c * app/tools/gimpthresholdtool.c (init): set apply_func and apply_data in the parent instance. (map): remove calls to gimp_image_map_apply(). 2008-01-08 Sven Neumann * plug-ins/psd/psd-image-res-load.[ch] * plug-ins/psd/psd-layer-res-load.[ch] * plug-ins/psd/psd-load.c * plug-ins/psd/psd-thumb-load.c * plug-ins/psd/psd-util.[ch] * plug-ins/psd/psd.[ch]: applied a patch from John Marshall that improves error handling of the new PSD load plug-in (bug #448181). 2008-01-08 Øyvind Kolås * app/gegl/gimpoperationtilesink.c: removed no longer needed context_id. * app/gegl/gegl/gegl-operation-sink.h: resynced from GEGL. * app/gegl/gegl/gegl-types.h: resynced from GEGL. 2008-01-08 Sven Neumann * app/core/gimpitem.[ch]: removed "add_alpha" parameter from gimp_item_duplicate() and gimp_item_convert(). This is a relict from the time when only the bottom layer was allowed to have no alpha channel. * app/actions/channels-commands.c * app/actions/layers-commands.c * app/actions/vectors-commands.c * app/core/gimpchannel.c * app/core/gimpdrawable.c * app/core/gimpimage-duplicate.c * app/core/gimpimage-merge.c * app/core/gimpimage-quick-mask.c * app/core/gimplayer.c * app/core/gimplayermask.c * app/core/gimpselection.c * app/display/gimpdisplayshell-dnd.c * app/file/file-open.c * app/pdb/channel_cmds.c * app/pdb/layer_cmds.c * app/text/gimptextlayer.c * app/vectors/gimpvectors.c * app/vectors/gimpvectorsmodundo.c * app/widgets/gimpchanneltreeview.c * app/widgets/gimpitemtreeview.c * app/widgets/gimplayertreeview.c * app/widgets/gimptoolbox-dnd.c * tools/pdbgen/pdb/channel.pdb * tools/pdbgen/pdb/layer.pdb: changed accordingly. 2008-01-08 Sven Neumann * app/file/file-open.c (file_open_layers): moved code to a utility function, in preparation for a possible fix for bug #507116. 2008-01-08 Kevin Cozens * plug-ins/script-fu/ftx/ftx.c (foreign_filetype): Test for symlink before testing for other file types. Spotted by David Martin. 2008-01-07 Michael Natterer * app/gegl/gimpoperationlevels.[ch]: add properties, some cleanup. * app/tools/gimplevelstool.c: use gegl_node_set() instead of accessing the operation directly. 2008-01-07 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpoperationlevels.[ch]: new operator. * app/gegl/gimp-gegl.c: register it. * app/tools/gimplevelstool.c: use it, 2008-01-07 Michael Natterer * app/gegl/gimpoperationcolorize.c (process): add some comments about how this code is different from base/colorize.c 2008-01-07 Michael Natterer * app/core/core-types.h: include gegl/gegl-types.h instead of base/base-types.h. * app/gegl/gegl/gegl-types.h: add ugly #ifdefs so we can include gegl.h and this file at the same time. 2008-01-07 Michael Natterer * app/core/gimplayer.c (gimp_layer_transform_color): reordered and renamed parameters to make more sense. 2008-01-07 Michael Natterer * app/gegl/Makefile.am (INCLUDES): remove GTK_CFLAGS. 2008-01-07 Øyvind Kolås * app/tools/gimpbrightnesscontrasttool.c: make the mapping between slider values and gegl-op properties more closely resemble gimp for the brightness property. 2008-01-07 Michael Natterer * app/gegl/gegl/gegl-operation.h: updated from GEGL. * app/gegl/gimpoperationtilesource.c: use the passed buffer in process() and add prepare() implementation which sets the format. 2008-01-05 Joao S. O. Bueno * plug-ins/pygimp/pygimp-vectors.c: fixed incorrect function name in error message for vs_flip 2008-01-07 Øyvind Kolås * app/gegl/gimpoperationtilesink.c: * app/gegl/gimpoperationtilesource.c: modified to match newer API in GEGL. * app/gegl/gegl/gegl-operation-sink.h: * app/gegl/gegl/gegl-operation-source.h: updated from GEGL. 2008-01-06 Michael Natterer * app/gegl/gegl/buffer/gegl-buffer-types.h * app/gegl/gegl/gegl-operation-filter.h * app/gegl/gegl/gegl-operation-point-filter.h * app/gegl/gegl/gegl-operation-sink.h * app/gegl/gegl/gegl-operation-source.h * app/gegl/gegl/gegl-operation.h: updated from GEGL. 2008-01-06 Michael Natterer * app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map): don't call a NULL GimpImageMapToolClass::get_operation(). 2008-01-06 Michael Natterer * app/tools/gimpimagemaptool.c (gimp_image_map_tool_gegl_notify): toggle the image map mode only if an image map currently exists. Fixes crash when toggling "Use GEGL" while the tool is not active. 2008-01-06 Sven Neumann * configure.in: compile a list of MIME types that GIMP can read. * desktop/gimp.desktop.in.in: use the list of MIME types as compiled by the configure script. Fixes bug #507318. * desktop/Makefile.am * desktop/gimp.applications.in * desktop/gimp.keys.in: removed; the gimp.applications and gimp.keys files are obsolete. * plug-ins/psd/psd.c (MAIN): corrected MIME type in unused code. 2008-01-06 Sven Neumann * configure.in: applied patch from Matt Smith that adds a --without-hal configure option (bug #507595). * INSTALL: document the new option. 2008-01-06 Sven Neumann * configure.in * plug-ins/Makefile.am: fixed --without-jpeg configure option (bug #507572). 2008-01-06 Michael Natterer * app/gegl/gimpoperationtilesource.c * app/gegl/gimpoperationtilesink.c: formatting. 2008-01-06 Sven Neumann * libgimpbase/gimpchecks.c * libgimp/gimpunitcache.c * libgimpwidgets/gimppageselector.c * libgimpwidgets/gimpcolorscales.c: removed redundant checks for enum values (which are unsigned) >= 0. 2008-01-06 Sven Neumann * plug-ins/common/convmatrix.c (convolve_image): fixed out-of-bounds array access. 2008-01-06 Sven Neumann * libgimpwidgets/gimpmemsizeentry.c: use G_GUINT64_CONSTANT() instead of a cast. 2008-01-06 Sven Neumann * plug-ins/common/tile.c (tile): update the progress less often. 2008-01-05 Manish Singh * plug-ins/pygimp/pygimp-image.c: new Image.new_layer() method, which is convenience for creating, filling, and attaching a new layer onto an image. Based on a idea and patch by João S. O. Bueno in bug #505982. 2008-01-05 Manish Singh * app/core/gimpimagemap.c: hardcode a declaration of gegl_node_add_child() in here for now. 2008-01-05 Øyvind Kolås * app/gegl/gegl/gegl-operation-sink.h: * app/gegl/gegl/gegl-operation-source.h: * app/gegl/gegl/gegl-operation.h: * app/gegl/gegl/gegl-types.h: * app/gegl/gegl/graph/: * app/gegl/gegl/graph/gegl-node-context.h: synchronoised with GEGL headers. * app/gegl/gimpoperationtilesink.c: * app/gegl/gimpoperationtilesource.c: updated to new API, where a GeglNodeContext is used in process methods instead of gpointer context_id. 2008-01-04 Øyvind Kolås * app/gegl/gegl/gegl-operation-sink.h: * app/gegl/gegl/gegl-operation-source.h: * app/gegl/gegl/gegl-operation.h: synchronised with GEGL headers. * app/gegl/gimpoperationtilesink.c: * app/gegl/gimpoperationtilesource.c: added const GeglRectangle *result to arguments of _process(). 2008-01-04 Sven Neumann * app/config/gimpdisplayconfig.c: changed the default marching ants speed to 200. 2008-01-04 Hans Breuer **/makefile.msc app/gimpcore.def : updated so it compiles and links (almost, see bug #507298) 2008-01-04 Sven Neumann Merged from gimp-2-4 branch: * app/display/gimpdisplayshell-selection.c: draw marching ants with G_PRIORITY_DEFAULT_IDLE; fixes bug #479875. 2008-01-04 Michael Natterer * tools/pdbgen/pdb/color.pdb: optionally use gegl where we already have operations (breaking the indentation to keep the diff small and readable). * app/pdb/Makefile.am: add GEGL_CFLAGS. * app/pdb/color_cmds.c: regenerated. 2008-01-04 Michael Natterer * app/config/gimpcoreconfig.[ch]: add "use-gegl" property but don't serialize it. * app/widgets/gimptoolbox.c: add super ugly "Use GEGL" toggle to the toolbox so we don't need to have prefs open all the time when experimenting with gegl. * app/tools/gimpimagemaptool.[ch]: remove "Use GEGL" toggle from the tool dialogs and connect to the config property instead. * app/core/gimpdrawable-desaturate.c * app/core/gimpdrawable-invert.c: made them runtime-switchable by looking at the config property. 2008-01-04 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpoperationcolorize.[ch] * app/gegl/gimpoperationposterize.[ch]: new operators which still use a lot of gimp stuff they shouldn't use, but at least the infrastructure for improving them is there now. * app/gegl/gimp-gegl.c: register them. * app/tools/gimpcolorizetool.c * app/tools/gimpposterizetool.c: use them. 2008-01-04 Michael Natterer * app/core/gimpimagemap.c (gimp_image_map_apply): switch tile sources and sinks to assume linear data. 2008-01-04 Michael Natterer * app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map): enable disabling gegl again, which i broke with my last commit. 2008-01-04 Jakub Steiner * data/images/wilber-devel-icon.png * data/images/wilber-icon.png * data/images/wilber-devel.png * data/images/gimp-logo.png: sync to the latest wilber version. 2008-01-04 Jakub Steiner * libgimpwidgets/wilber-16.png: * libgimpwidgets/wilber-22.png: * libgimpwidgets/wilber-32.png: * libgimpwidgets/wilber-48.png: * libgimpwidgets/wilber-64.png: * libgimpwidgets/wilber-256.png: update app icon. Add 256x256px for OS X and Vista 2008-01-04 Sven Neumann * app/tools/gimprotatetool.c (rotate_angle_changed): also update trans_info[REAL_ANGLE]. Fixes bug #507167. 2008-01-03 Bill Skaggs committing patch by Simon Budig to give an indication when working on a layer mask, updated to fix staleness and respond to "edit-changed". Might fix bug #132204. * app/core/core-enums.[ch]: add GIMP_SELECTION_LAYER_ON. * app/core/gimplayermask.c: add handler for "edit-changed". * app/core/gimpcanvas.[ch]: add new style GIMP_CANVAS_STYLE_LAYER_MASK_ACTIVE. * app/display/gimpdisplayshell-selection.c: use new style when layer mask is active. 2008-01-03 Michael Natterer * app/tools/gimpimagemaptool.[ch]: keep the central processing node around here... * app/tools/gimpbrightnesscontrasttool.[ch] * app/tools/gimpthresholdtool.[ch]: ...instead of here. 2008-01-03 Michael Natterer * app/core/gimpimagemap.c: quite some cleanup (use GeglRectangle more globally and don't leave stuff around if we abort for whatever reason). 2008-01-03 Michael Natterer * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpoperationthreshold.[ch]: gimpish threshold operator which has "low" and "high" properties. * app/gegl/gimp-gegl.c: register it. * app/gegl/gimpoperationdesaturate.[ch]: fix copyright. * app/tools/gimpthresholdtool.[ch]: use the new operator. 2008-01-03 Michael Natterer Some more gegl code to have some playground for experimenting. * app/gegl/Makefile.am * app/gegl/gegl-types.h * app/gegl/gimpoperationdesaturate.[ch]: ported desaturate. * app/gegl/gimp-gegl.c: register it. * app/gegl/gimpoperationtilesink.h: fix name of parent class member. * app/core/gimpdrawable-desaturate.c: use the new operator, but keep the old code around (prepared for runtime switching). * app/core/gimpdrawable-invert.c: prepare for runtime switching here too. 2008-01-03 Michael Natterer * app/gegl/gegl/gegl-operation-sink.h * app/gegl/gegl/gegl-operation-source.h: updated copies from gegl. * app/gegl/gegl/gegl-operation-filter.h * app/gegl/gegl/gegl-operation-point-filter.h: new files from gegl. 2008-01-03 Bill Skaggs * plug-ins/common/randomize.c: added previews for hurl, pick, and slur. 2008-01-02 Michael Natterer * app/core/Makefile.am * app/core/gimpdrawable-operation.[ch]: new files containing gimp_drawable_apply_operation() which applies a gegl operation to a drawable's selected pixels using shadow tiles. Will soon be used in more places than just invert. * app/core/gimpdrawable-invert.c: use it here, makes gimp_drawable_invert() a 3-liner. 2008-01-01 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_start): Use × instead of x when initializing the rectangle size in the status bar. 2007-12-30 Sven Neumann * app/gegl/gimp-gegl-utils.[ch]: added new function gimp_bpp_to_babl_format_linear(). * app/gegl/gimpoperationtilesink.[ch] * app/gegl/gimpoperationtilesource.[ch]: added boolean property to toggle between linear and gamma-corrected data. * app/core/gimpdrawable-invert.c: assume linear data to be closer to the original definition of the invert operation in GIMP. Enable the GEGL code path per default. 2007-12-30 Sven Neumann * app/core/gimpdrawable-invert.c (gimp_drawable_invert): moved processing in the GEGL code path back to the main loop. 2007-12-30 Michael Natterer * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorizetool.c * app/tools/gimpcurvestool.c * app/tools/gimphuesaturationtool.c * app/tools/gimplevelstool.c * app/tools/gimpposterizetool.c * app/tools/gimpthresholdtool.c: #include . Fixes the build. 2007-12-30 Michael Natterer First actual image processing with GEGL! Wheeeee :-) * app/core/gimpimagemap.[ch]: added code to use gegl instead of the old apply_func and apply_data. (gimp_image_map_new): add GeglNode parameter that, if passed, switches the whole thing to using a gegl graph with this node as central processing node. * app/tools/gimpimagemaptool.[ch]: add virtual function get_operation() which, if implemented, returns a GeglNode to pass to gimp_image_map_new(). Added a "Use GEGL" toggle so we can switch between legacy and gegl code for the migration period. * app/tools/gimpbrightnesscontrasttool.[ch]: implement get_operation() and return a brightness-contrast node. (gimp_briughtness_contrast_tool_map): set the node's properties from the GUI. 2007-12-30 Sven Neumann * app/display/gimpstatusbar.[ch] * app/widgets/gimpprogressbox.[ch]: only update the GtkProgressBar if that would cause a visible change. 2007-12-30 Manish Singh * plug-ins/pygimp/pygimp-tile.c: subscript API for PixelFetcher. 2007-12-30 Michael Natterer * app/gegl/gimpoperationtilesource.c: minor cleanup. * app/gegl/gimpoperationtilesink.[ch]: add "data-written" signal that is emitted whenever pixels have been written to the tile manager. 2007-12-30 Øyvind Kolås * app/core/Makefile.am: added GEGL_CFLAGS. * app/core/gimpdrawable-invert.c: added an alternate GEGL code path that can be enabled by uncommenting ENABLE_GEGL in the file. 2007-12-30 Manish Singh * plug-ins/pygimp/gimpmodule.c * plug-ins/pygimp/pygimp-pdb.c * plug-ins/pygimp/pygimp-colors.c * plug-ins/pygimp/pygimpcolor-api.h * plug-ins/pygimp/pygimpcolor.h: Move pygimp_rgb_from_pyobject into the gimpcolor module, and make it handle translation of sequences into colors too. Make the GimpParam translation code use it. * plug-ins/pygimp/gimpcolormodule.c: Initial wrapping of gimp_bilinear color functions. * plug-ins/pygimp/gimpenumsmodule.c * plug-ins/pygimp/gimpmodule.c * plug-ins/pygimp/pygimp.h * plug-ins/pygimp/pygimp-tile.c: Basic wrapping of GimpPixelFetcher. 2007-12-30 Øyvind Kolås reviewed by: * app/core/Makefile.am: * app/core/gimpdrawable-invert.c: (idle_fun), (gimp_drawable_invert): 2007-12-30 Øyvind Kolås * app/gegl/gimpoperationtilesink.c: specify that this operation does not need the full buffer available before "flushing" the sink. * app/gegl/gegl/gegl-operation-sink.h: * app/gegl/gegl/gegl-operation.h: updated copy of headers. 2007-12-30 Sven Neumann * plug-ins/jpeg/jpegqual.c (quant_info): added entry for Canon Digital Ixus v2 and removed duplicate entry. 2007-12-30 Sven Neumann * plug-ins/jpeg/jpegqual.c: use G_OPTION_REMAINING to access the filenames passed as command-line arguments. 2007-12-30 Sven Neumann * plug-ins/script-fu/scripts/chip-away.scm: applied another patch from Ulf-D. Ehlert for the parameter range (bug #506110). 2007-12-29 Øyvind Kolås * app/gegl/gimpoperationtilesource.c: override the default behaviour of GeglOperationSource to expand the result rect to the full have rect with a NULL (nop) implementation. 2007-12-30 Sven Neumann * app/core/gimpdrawable-invert.[ch]: let gimp_drawable_invert() take a GimpProgress parameter. * tools/pdbgen/pdb/color.pdb * app/pdb/color_cmds.c * app/actions/drawable-commands.c: changed accordingly. 2007-12-29 Michael Natterer * app/actions/Makefile.am * app/core/Makefile.am * app/display/Makefile.am * app/tools/Makefile.am: use GEGL_CFLAGS. 2007-12-29 Sven Neumann * app/gegl/gimpoperationtilesink.c * app/gegl/gimpoperationtilesource.c: formatting. 2007-12-29 Øyvind Kolås * app/gegl/gimpoperationtilesource.c: do not fetch the full extent of the TileManager but only the needed pixels. Pass rowstride correctly when fecting subregions. 2007-12-29 Øyvind Kolås * configure.in: depend on GEGL 0.0.15 (version ends in odd, thus depending on svn trunk of GEGL). * app/gegl/gimpoperationtilesource.c: (gimp_operation_tile_source_process): just use GEGL_AUTO_ROWSTRIDE for the rowstride in gegl_buffer_set for now. 2007-12-29 Michael Natterer * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorizetool.c * app/tools/gimphuesaturationtool.c * app/tools/gimplevelstool.c * app/tools/gimpthresholdtool.c: more cleanup in preparation of migrating to gegl. 2007-12-29 Michael Natterer * app/gegl/gimp-gegl.c * app/gegl/gimpoperationtilesource.c * app/gegl/gimpoperationtilesink.c: fixup includes a bit. 2007-12-29 Øyvind Kolås * app/gegl/gegl/buffer/: added. * app/gegl/gegl/buffer/gegl-buffer-types.h: added from GEGL trunk. * app/gegl/gegl/gegl-operation.h: .. * app/gegl/gegl/gegl-types.h: updated copy from GEGL trunk. * app/gegl/gimp-gegl.c: * app/gegl/gimpoperationtilesink.c: * app/gegl/gimpoperationtilesource.c: Modified to build with direct copies of GEGL headers. 2007-12-29 Michael Natterer * app/base/tile-manager.[ch]: add boxed type GIMP_TYPE_TILE_MANAGER. * app/gegl/gimpoperationtilesink.c * app/gegl/gimpoperationtilesource.c: use GParamSpecBoxed instead of GParamSpecPointer for the tile-manager properties and ref them properly. Some cleanup. 2007-12-29 Sven Neumann * app/gegl/gimp-gegl-utils.h: declare gimp_bpp_to_babl_format() as G_GNUC_CONST. 2007-12-29 Michael Natterer * app/gegl/gimpoperationtilesink.c (tile_sink_process): add some const that should also be in the gegl api *cough*. 2007-12-29 Michael Natterer * app/gegl/gimp-gegl-utils.c (gimp_bpp_to_babl_format): use g_return_val_if_fail() instead of g_warning(). 2007-12-29 Michael Natterer * app/gegl/gimp-gegl-utils.c: new files containing gimp_bpp_to_babl_format(). * app/gegl/gimpoptilesink.[ch] * app/gegl/gimpoptilesource.[ch]: renamed.. * app/gegl/gimpoperationtilesink.[ch] * app/gegl/gimpoperationtilesource.[ch]: ...to these. Cleaned them up quite a bit more. * app/gegl/Makefile.am * app/gegl/gimp-gegl.c: changed accordingly. 2007-12-29 Michael Natterer 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. 2007-12-29 Øyvind Kolås 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. 2007-12-29 Simon Budig * app/display/gimpdisplayshell.c: don't use ceil, use SCALEX. * app/display/gimpdisplayshell-transform.c: Round hopefully more properly. This probably exchanges one set of artefacts for another one... * app/display/gimpdisplayshell-render.c: minor fixes. * app/display/gimpdisplayshell-selection.c: whitespace fix 2007-12-28 Sven Neumann * app/widgets/gimprender.h: removed GIMP_RENDER_BUF_WIDTH and GIMP_RENDER_BUF_HEIGHT definitions. * app/display/gimpdisplayshell.h: define the size of the display render buffer here. * app/display/gimpdisplayshell.c * app/display/gimpdisplayshell-draw.c * app/widgets/gimprender.c: changed accordingly. 2007-12-28 Sven Neumann * app/widgets/gimpcolormapeditor.c: don't use the render buffer. Use a white background until this widget is rewritten. 2007-12-28 Michael Natterer * app/widgets/gimpsamplepointeditor.c (gimp_sample_point_editor_points_changed): fix my last commit to this file (don't access sample points of NULL images). 2007-12-28 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_update_highlight): When setting the highlight, use the external rectangle representation, not the internal one. 2007-12-28 Sven Neumann * libgimpwidgets/gimpcairo-utils.[ch]: addec const qualifiers to GimpRGB parameters. * app/widgets/gimprender.[ch]: removed global variables for checkerboard colors and introduced functions to get the checkerboard colors as pointers to GimpRGB structs. * app/actions/view-actions.c * app/display/gimpdisplayshell-appearance.c * app/widgets/gimpviewrenderer.c * app/widgets/gimpcolormapeditor.c: changed accordingly. 2007-12-28 Sven Neumann * libgimpwidgets/gimpcairo-utils.[ch]: added light and dark check color parameters to gimp_cairo_checkerboard_create(). * libgimpwidgets/gimpcellrenderercolor.c * app/widgets/gimpviewrenderer.c (gimp_view_renderer_real_draw): changed accordingly. 2007-12-28 Sven Neumann * plug-ins/script-fu/scripts/chip-away.scm: applied patch from Ulf-D. Ehlert that fixes the range of the "Chip amount" parameter (bug #506110). 2007-12-28 Sven Neumann * app/widgets/gimpviewrenderer.c: cache the checkerboard pattern. 2007-12-28 Sven Neumann * app/widgets/gimpviewrenderer.c (gimp_view_renderer_real_draw): if the surface has CAIRO_CONTENT_COLOR_ALPHA, render it on a checkerboard background. * app/widgets/gimpviewrenderergradient.[ch]: just draw the gradient with alpha-transparency instead of doing the blend on the checkerboard here. * app/widgets/gimpcolormapeditor.c: formatting. 2007-12-27 Michael Natterer * app/tools/gimpcolorbalancetool.c: remove the same cruft here. 2007-12-27 Michael Natterer * app/tools/gimpbrightnesscontrasttool.c: remove unused cruft. 2007-12-27 Sven Neumann * app/widgets/gimpthumbbox.c (gimp_thumb_box_new): enable line wrapping on the info label. 2007-12-26 Michael Natterer * app/actions/image-commands.c * app/actions/select-commands.c * app/core/gimp-edit.c * app/core/gimpdrawable-stroke.c * app/core/gimpimage-duplicate.c * app/core/gimpimage-preview.c * app/core/gimpimage-rotate.c * app/core/gimpimageundo.c * app/core/gimpitem-preview.c * app/dialogs/grid-dialog.c * app/dialogs/layer-options-dialog.c * app/dialogs/offset-dialog.c * app/dialogs/stroke-dialog.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-title.c * app/display/gimpdisplayshell.c * app/display/gimpstatusbar.c * app/paint/gimppaintoptions.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimppainttool.c * app/tools/gimprectangletool.c * app/tools/gimprotatetool.c * app/tools/gimpscaletool.c * app/tools/gimptexttool.c * app/vectors/gimpvectors-export.c * app/vectors/gimpvectors-import.c * app/widgets/gimpcursorview.c * app/widgets/gimpimagepropview.c * app/widgets/gimptoolbox-dnd.c * app/widgets/gimpviewrendererdrawable.c * app/widgets/gimpviewrendererimage.c * app/xcf/xcf-load.c * app/xcf/xcf-save.c: use gimp_image_get/set_resolution() instead of accessing the GimpImage members directly. 2007-12-26 Sven Neumann * app/paint/gimpbrushcore.c: sprinkled with const qualifiers. 2007-12-25 Michael Natterer * app/core/gimpimage-guides.[ch] * app/core/gimpimage-sample-points.[ch]: add accessors for the lists of guides and sample points. * 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.c * app/display/gimpdisplayshell-appearance.c * app/display/gimpdisplayshell-draw.c * app/display/gimpdisplayshell.c * app/widgets/gimpsamplepointeditor.c * app/xcf/xcf-save.c: use the new accessors. 2007-12-25 Michael Natterer * app/core/gimpimage.h (struct GimpImage):: renamed "cmap" to "colormap" and "num_cols" to "n_colors". * app/core/gimpimage.c * app/core/gimpimage-colormap.[ch] * app/widgets/gimpcolormapeditor.c: changed accordingly. 2007-12-25 Michael Natterer * app/actions/channels-commands.c * app/actions/colormap-actions.c * app/actions/colormap-commands.c * app/actions/image-commands.c * app/core/gimp-edit.c * app/core/gimpdrawable-preview.c * app/core/gimpimage-colorhash.c * app/core/gimpimage-colormap.c * app/core/gimpimage-convert.c * app/core/gimpimage-crop.c * app/core/gimpimage-duplicate.c * app/core/gimpimage-flip.c * app/core/gimpimage-guides.c * app/core/gimpimage-merge.c * app/core/gimpimage-preview.c * app/core/gimpimage-quick-mask.c * app/core/gimpimage-resize.c * app/core/gimpimage-rotate.c * app/core/gimpimage-sample-points.c * app/core/gimpimage-scale.c * app/core/gimpimage-snap.c * app/core/gimpimage.c * app/core/gimpimagefile.c * app/core/gimpimageundo.c * app/core/gimpitem-preview.c * app/core/gimpitem.c * app/core/gimplayer.c * app/core/gimppalette-import.c * app/core/gimpprojection-construct.c * app/core/gimpprojection.c * app/core/gimpselection.c * app/core/gimpundo.c * app/dialogs/layer-options-dialog.c * app/dialogs/print-size-dialog.c * app/display/gimpdisplay.c * app/display/gimpdisplayshell-draw.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-scroll.c * app/display/gimpdisplayshell-title.c * app/display/gimpdisplayshell-transform.c * app/display/gimpdisplayshell.c * app/display/gimpstatusbar.c * app/file/file-open.c * app/paint/gimppaintoptions.c * app/tools/gimpaligntool.c * app/tools/gimpcolortool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpiscissorstool.c * app/tools/gimpmeasuretool.c * app/tools/gimpmovetool.c * app/tools/gimpperspectiveclonetool.c * app/tools/gimprectangleselecttool.c * app/tools/gimprectangletool.c * app/tools/gimprotatetool.c * app/vectors/gimpvectors-export.c * app/vectors/gimpvectors-import.c * app/vectors/gimpvectors.c * app/widgets/gimpimagepropview.c * app/widgets/gimpnavigationview.c * app/widgets/gimpselectioneditor.c * app/widgets/gimpviewrendererdrawable.c * app/widgets/gimpviewrendererimage.c * app/xcf/xcf-load.c * app/xcf/xcf-save.c * tools/pdbgen/pdb/guides.pdb * tools/pdbgen/pdb/image.pdb: use accessors for many image properties. * app/pdb/guides_cmds.c * app/pdb/image_cmds.c: regenerated. 2007-12-25 Michael Natterer * app/dialogs/file-save-dialog.c: forgot to port some debug output to GIMP_LOG(). 2007-12-23 Michael Natterer * app/actions/layers-commands.c * app/core/gimpchannel-combine.c * app/core/gimpchannel-select.c * app/core/gimpchannel.c * app/core/gimpdrawable-convert.c * app/core/gimpdrawable.c * app/core/gimpdrawablemodundo.c * app/core/gimpfloatingselundo.c * app/core/gimpimage-convert.c * app/core/gimpimage-merge.c * app/core/gimpimage-resize.c * app/core/gimpimage.c * app/core/gimpitem-preview.c * app/core/gimpitem.c * app/core/gimplayer-floating-sel.c * app/core/gimplayer.c * app/core/gimplayermask.c * app/core/gimplayerundo.c * app/core/gimpmaskundo.c * app/core/gimppalette-import.c * app/core/gimpprojection-construct.c * app/core/gimpselection.c * app/dialogs/offset-dialog.c * app/text/gimptextlayer-xcf.c * app/text/gimptextlayer.c * app/vectors/gimpvectors-compat.c * app/vectors/gimpvectors.c * app/vectors/gimpvectorsmodundo.c * app/widgets/gimplayertreeview.c * app/widgets/gimpviewrendererdrawable.c * app/widgets/gimpviewrenderervectors.c: use accessors for item, layer, channel and mask attributes. 2007-12-22 Sven Neumann * app/core/gimpimage-sample-points.c (gimp_image_add_sample_point_at_pos): corrected undo description. 2007-12-22 Sven Neumann * data/palettes/Tango.gpl: removed duplicate entry ("Untitled"). 2007-12-21 Michael Natterer * app/tools/gimpeditselectiontool.c * app/tools/gimpiscissorstool.c * app/tools/gimptexttool.c * app/tools/gimptransformtool.c: use accessors for drawable and item properties. 2007-12-21 Michael Natterer * 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. 2007-12-20 Sven Neumann * app/plug-in/gimppluginmanager-menu-branch.[ch]: added accessor for the list of menu branches. * app/actions/plug-in-actions.c (plug_in_actions_setup): use it. 2007-12-20 Sven Neumann * configure.in: readded some AC_SUBST() that were removed under the wrong assumption they would not be needed any longer. Consistently use # to mark comments in configure.in. 2007-12-20 Sven Neumann * app/app.c: call gegl_exit() on shutdown. 2007-12-20 Sven Neumann * INSTALL * configure.in: require GEGL >= 0.0.14. * app/Makefile.am * app/app.c: initialize the GEGL library. 2007-12-20 Sven Neumann * app/paint/gimpink.c: minor cleanup. 2007-12-20 Sven Neumann * authors.xml: updated last-active attribute for recent contributors. 2007-12-20 Sven Neumann * configure.in * plug-ins/Makefile.am * plug-ins/psd: added new PSD load plug-in written by John Marshall. This plug-in adds a couple of features. See bug #448181 for details. * plug-ins/common/Makefile.am * plug-ins/common/plugin-defs.pl * plug-ins/common/psd-load.c: removed old psd-load plug-in. 2007-12-20 Sven Neumann * app/widgets/gimpprofilechooserdialog.c: added code for adding a shortcut to the default ICC profile location on Windows. Based on a patch by John Marshall (bug #503410). 2007-12-20 Sven Neumann * app/actions/documents-commands.c (documents_clear_cmd_callback): adapt to changed gimp_documents_save() API. 2007-12-19 Michael Natterer * app/core/gimp-contexts.[ch] * app/core/gimp-documents.[ch]: add GErrors to save() and load(). * app/core/gimp.c * app/tools/gimp-tools.c: handle the returned errors. 2007-12-18 Sven Neumann * plug-ins/common/psd-load.c: applied patch from John Marshall that fixes handling of PSD files with blank layer names (bug #504149). 2007-12-18 Kevin Cozens * plug-ins/script-fu/tinyscheme/scheme.c: Added extra checks to stop bad syntax in LET*, LET, and LETREC from causing a segmentation fault in Linux. See SourceForge bug #1817986. 2007-12-18 Bill Skaggs * libgimpwidgets/gimpstock.h: fix typo that probably caused bug #503834. 2007-12-18 Michael Natterer * 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. 2007-12-18 Sven Neumann * libgimpwidgets/gimpscrolledpreview.c * libgimpwidgets/gimpcolorselect.c: don't rely on the pointer position in the GdkEventMotion struct, query the pointer instead. 2007-12-18 Sven Neumann * app/widgets/gimpgradienteditor.c: don't rely on the pointer position in the GdkEventMotion struct, query the pointer instead. 2007-12-18 Sven Neumann * app/display/gimpnavigationeditor.c: minor cleanup. * app/widgets/gimpnavigationview.c (gimp_navigation_view_motion_notify): fixed handling of motion events that broke when I introduced the call to gdk_event_request_motions(). 2007-12-18 Sven Neumann * app/core/gimppalette-import.c * app/core/gimppalette-load.[ch]: applied slightly modified patch from Nicola Archibald that adds import of colors from CSS files (bug #464480). * app/core/gimppalette.c (gimp_palette_find_entry): allow to call this function on an empty palette. 2007-12-18 Sven Neumann * app/base/tile-pyramid.c: use the coordinate parameters in tile_data_pointer() instead of adjusting the pointer manually. 2007-12-18 Sven Neumann * app/base/tile-pyramid.c * app/paint-funcs/paint-funcs.c: sprinkled with const qualifiers. 2007-12-18 Sven Neumann * app/base/tile-manager.[ch]: renamed tile_manager_validate() to tile_manager_validate_tile(). If no validate_proc is set, initialize the tile data to all zero when validating it. This way we never hand out uninitialized data and valgrind doesn't need to complain any longer. * app/base/tile.c: changed accordingly. * app/core/gimpselection.c: no need to set an extra validate_proc here as the default implementation now does the job for us. 2007-12-18 Sven Neumann * app/core/gimpdrawable.[ch]: made get_tiles() a method of GimpDrawable. 2007-12-18 Sven Neumann * app/display/gimpdisplayshell-render.c (render_image_tile_fault_nearest): added code for 1 and 3 bytes per pixel. Fixes bug #504115. 2007-12-16 Bill Skaggs * plug-ins/common/edge.c: reverted to state pre-12/16. 2007-12-17 Sven Neumann * app/core/gimpprojection-construct.c (project_intensity): minor cleanup. 2007-12-17 Sven Neumann * libgimp/gimpregioniterator.c: code cleanup; reduced number of progress updates. 2007-12-16 Bill Skaggs * plug-ins/common/edge.c: name reverted to "Edge", label in combo reverted to "Prewitt", other changes kept. 2007-12-16 Bill Skaggs * plug-ins/common/edge.c: renamed to "Sharp Edges", added "invert" option, other usability tweaks. 2007-12-16 Bill Skaggs * menus/image-menu.xml.in: missed this yesterday 2007-12-16 Sven Neumann * plug-ins/common/plugin-defs.pl * plug-ins/common/Makefile.am: re-added psd-load. Looks like Bill accidentally removed it. 2007-12-16 Sven Neumann * libgimpwidgets/gimpcairo-utils.[ch]: added new function gimp_cairo_set_focus_line_pattern(). * libgimpwidgets/gimpcellrenderercolor.c (gimp_cell_renderer_color_render): use the focus line pattern to emphasize the selected entry. * app/widgets/gimppaletteview.c (gimp_palette_view_expose): use the new utility function. * libgimpwidgets/gimpwidgets.def: updated. 2007-12-15 Bill Skaggs * app/widgets/gimphelp-ids.h * app/display/gimpdisplayshell-scale.[ch] * app/display/gimpnavigationeditor.[ch] * app/actions/view-commands.[ch] * app/actions/view-commands.c: Changed "Fit Image to Window" to "Fill Window", and changed "fit-to" to "fill" in all the related things. Fixes bug #490364. 2007-12-15 Bill Skaggs * plug-ins/common/mapcolor.c: removed * plug-ins/common/plugin-defs.pl * plug-ins/common/Makefile.am: updated accordingly See bug #436145 for the reasons for removing this plug-in. 2007-12-14 Sven Neumann * app/widgets/gimpfiledialog.c: added utility function to reduce code duplication. 2007-12-14 Kevin Cozens * plug-ins/script-fu/tinyscheme/scheme.c (eqv): Only return true when numbers are of equal value AND of the same type (ie. both exact or inexact). R5RS compliance fix. 2007-12-14 Martin Nordholts Reverted the changes that made GimpRectangleTool keep track of its active display in GimpRectangleToolPrivate, the approach is broken. 2007-12-14 Michael Natterer * tools/pdbgen/pdb/edit.pdb: use gimp_pdb_get_buffer() which sets a proper error instead of looking up the buffers manually. * app/pdb/edit_cmds.c * libgimp/gimpedit_pdb.c: regenerated. 2007-12-14 Michael Natterer * app/core/gimp-edit.[ch]: added GErrors when functions can fail. * app/actions/edit-commands.c: handle the returned errors. * tools/pdbgen/pdb/edit.pdb: same here (*don't* pass the error as usual since these functions never fail but have a boolean return value indicating success instead; ugly, but better than having the gimp_message() calls in the core). Also changed the named buffer cut and copy functions to do the same (never fail but return a NULL buffer name on failure), so they behave as documented. * app/pdb/edit_cmds.c: regenerated. 2007-12-14 Sven Neumann * app/base/tile-pyramid.c: reduced rounding errors. 2007-12-13 Martin Nordholts * app/tools/gimprectangletool.[ch]: Changed name of `gimp_rectangle_tool_is_active_at' to `gimp_rectangle_tool_is_active_on_display'. * app/tools/gimpcroptool.c * app/tools/gimprectangleselecttool.c: Use the new name. 2007-12-13 Martin Nordholts * app/tools/gimprectangletool.[ch]: Don't use the `display' member of GimpTool for keeping track of what display the rectangle is active on. Instead store the active display in GimpRectangleToolPrivate. This change is based on a patch by Bill Skaggs. (gimp_rectangle_tool_is_active) (gimp_rectangle_tool_is_active_at) (gimp_rectangle_tool_get_active_display): New public functions for GimpRectangleTool active-display interaction. * app/tools/gimpcroptool.c * app/tools/gimprectangleselecttool.c * app/tools/gimpellipseselecttool.c: Use the active display of GimpRectangleTool instead of tool->display. 2007-12-13 Bill Skaggs * app/widgets/gimpfiledialog.c (gimp_file_dialog_new): add shortcut to user's DOCUMENTS dir, fixes bug #325294. 2007-12-13 Sven Neumann * app/base/temp-buf.c (temp_buf_demultiply): corrected formula for demultiplying the alpha value. 2007-12-13 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_button_release): Make canceling work a bit better. 2007-12-13 Sven Neumann * app/base/tile-pyramid.c (tile_pyramid_write_quarter) * app/display/gimpdisplayshell-render.c (render_image_tile_fault_nearest): corrected formula used for pre-multiplying the alpha value. 2007-12-13 Sven Neumann Speed up our display rendering code paths by keeping data with pre-multiplied alpha where possible. The projection tile-manager at 100 % zoom is not affected. So we can still always get the non-pre-multiplied pixel data. * app/core/gimpprojection.[ch]: removed gimp_projection_get_opacity(), the projection is always opaque. * app/base/tile-pyramid.[ch]: use pre-multiplied alpha for the upper levels of the pyramid. This speeds up validation of the upper levels significantly. * app/base/temp-buf.[ch]: added temp_buf_demultiply(). * app/core/gimpimage-preview.c: demultiply the preview temp-buf obtained from the projection's tile tyramid. * app/display/gimpdisplayshell-draw.c * app/display/gimpdisplayshell-render.c: added code to deal with pre-multiplied data. In fact all data returned by render_image_tile_fault() is now pre-multiplied so that render_image_rgb_a() and render_image_gray_a() don't need to use the large lookup tables from gimprender.[ch] any longer. 2007-12-13 Sven Neumann * app/widgets/gimprender.[ch]: export the light and dark check color so that places that just need this information don't have to access the gimp_render_blend_{dark,light}_check arrays. * app/actions/view-actions.c * app/display/gimpdisplayshell-appearance.c * app/widgets/gimpcolormapeditor.c: changed accordingly. 2007-12-13 Sven Neumann * app/gimp-log.h: code cleanup. 2007-12-13 Sven Neumann * app/base/tile-manager-crop.c (tile_manager_crop): code cleanup. 2007-12-12 Tor Lillqvist * libgimpbase/gimpenv.c (gimp_locale_directory) [Win32]: Use g_win32_locale_filename_from_utf8() instead of duplicating its code. 2007-12-12 Martin Nordholts * app/tools/gimprectangletool.[ch]: Extended public interface a bit. (gimp_rectangle_tool_point_in_rectangle): New convenience function to test if a point is within the rectangle (if active). (gimp_rectangle_tool_rectangle_is_new): New function so that clients can determine if the rectangle currently being rubber-banded was created from scatch or not. 2007-12-12 Sven Neumann * libgimpwidgets/gimpcairo-utils.[ch]: renamed gimp_cairo_set_source_color() to gimp_cairo_set_source_rgb() and added an RGBA variant. * libgimpwidgets/gimpcellrenderercolor.c (gimp_cell_renderer_color_render) * app/widgets/gimpviewrenderer.c (gimp_view_renderer_draw): changed accordingly. * libgimpwidgets/gimpwidgets.def: updated. 2007-12-12 Sven Neumann * libgimpwidgets/gimpcairo-utils.[ch]: added new function gimp_cairo_checkerboard_create() and renamed gimp_cairo_create_surface_from_pixbuf() to gimp_cairo_surface_create_from_pixbuf(). * libgimpwidgets/gimpcellrenderercolor.c (gimp_cell_renderer_color_render): use Cairo utils here. * app/widgets/gimpviewrenderer.c (gimp_view_renderer_create_pattern): changed accordingly. * libgimpwidgets/gimpwidgets.def: updated. 2007-12-12 Sven Neumann * app/widgets/Makefile.am * app/widgets/gimpcairo-utils.[ch]: removed here... * libgimpwidgets/Makefile.am * libgimpwidgets/gimpcairo-utils.[ch]: and added here after some cleanup. * libgimpwidgets/gimpwidgets.h: include gimpcairo-utils.h. * app/widgets/gimpviewrenderer.c * app/widgets/gimpviewrenderergradient.c * app/widgets/gimpviewrendererpalette.c: changed accordingly. * libgimpwidgets/gimpwidgets.def: updated for Cairo utils. * libgimp/gimp.def: added gimp_image_get_vectors_by_tattoo. 2007-12-12 Michael Natterer * app/core/gimpitem.[ch]: added GError to GimpItem::rename(). * app/core/gimplayer.c * app/core/gimplayermask.c: set errors when renaming is impossible. * app/text/gimptextlayer.c * app/core/gimpimage-quick-mask.c: changed accordingly. * app/actions/channels-commands.c * app/actions/layers-commands.c * app/actions/vectors-commands.c * app/widgets/gimpitemtreeview.c: handle the returned errors. * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/vectors.pdb: pass the error. * app/pdb/drawable_cmds.c * app/pdb/vectors_cmds.c: regenerated. 2007-12-12 Michael Natterer * app/paint/gimpheal.c: no need to declare init() and class_init(), these declarations come for free with G_DEFINE_TYPE(). 2007-12-12 Michael Natterer * app/core/gimplayer-floating-sel.c (floating_sel_to_layer): add missing return value, this is no void function any more. 2007-12-12 Sven Neumann * plug-ins/common/whirlpinch.c: extended the range allowed for the whirl angle (bug #499398). 2007-12-12 Sven Neumann * INSTALL * configure.in * app/gui/gui.c (GTK_REQUIRED_MICRO): bumped minimum required version of gtk+ to 2.12.1. * app/widgets/gimpdockbook.c (gimp_dockbook_tab_drag_motion): removed unused parameter that was needed for gtk+ < 2.12.1. 2007-12-12 Tor Lillqvist * libgimpbase/gimpenv.c (gimp_toplevel_directory) [Win32]: Use the location of the libgimpbase DLL and not that of the main executable (which will be the Python interpreter in the case of python-fu) to determine the top-level GIMP installation folder. (#502506) (gimp_locale_directory) [Win32]: Guard against the possibility that we can't get the system codepage form of the locale directory, in case the installation folder contains characters not in the system codepage. In that case use the short name instead. 2007-12-12 Sven Neumann * libgimpwidgets/gimpcellrenderercolor.c: draw using Cairo. 2007-12-12 Tor Lillqvist * app/base/tile-private.h * app/base/tile-swap.c: Move the LARGE_SEEK and LARGE_TRUNCATE macros from tile-private.h to tile-swap.c as they aren't used anywhere else, and the helper function used on Windows was static in tile-swap.c anyway. (#503124) 2007-12-11 Kevin Cozens * plug-ins/script-fu/tinyscheme/scheme.c (get_consecutive_cells): Fix to prevent reporting out of memory when there should be plenty of cells still available. See SourceForge bug #1794369. 2007-12-11 Kevin Cozens * plug-ins/script-fu/tinyscheme/scheme.c: Don't abort the top-level s-exp when loading a file. See SourceForge bug #1589711. 2007-12-11 Kevin Cozens * plug-ins/script-fu/tinyscheme/scheme.c: Applied changes from official version of TinyScheme which fix is_integer(). See SourceForge bug #1593861. 2007-12-11 Bill Skaggs * app/paint/gimpheal.c: heal from edge of brush mask instead of edges of paint area. * app/paint/gimpbrushcore.[ch]: export gimp_brush_core_get_brush_mask() to enable use of mask. 2007-12-11 Michael Natterer * app/pdb/Makefile.am * app/pdb/gimppdb-utils.[ch]: new utility functions which look up brushes, patterns etc. and set appropriate error messages if the objects are not found. * tools/pdbgen/pdb/brush.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/buffer.pdb * tools/pdbgen/pdb/context.pdb * tools/pdbgen/pdb/convert.pdb * tools/pdbgen/pdb/gradient.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/paint_tools.pdb * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/palettes.pdb * tools/pdbgen/pdb/pattern.pdb * tools/pdbgen/pdb/patterns.pdb: use them here. Also set non_empty to TRUE for all brush, pattern etc. names. * app/pdb/brush_cmds.c * app/pdb/brushes_cmds.c * app/pdb/buffer_cmds.c * app/pdb/context_cmds.c * app/pdb/convert_cmds.c * app/pdb/gradient_cmds.c * app/pdb/gradients_cmds.c * app/pdb/paint_tools_cmds.c * app/pdb/palette_cmds.c * app/pdb/palettes_cmds.c * app/pdb/pattern_cmds.c * app/pdb/patterns_cmds.c: regenerated. 2007-12-11 Sven Neumann * app/plug-in/gimpplugin-message.c: added sanity checks to message handlers. This doesn't keep us from crashing on invalid input, but we will at least get some warnings before that happens. * libgimpbase/gimpprotocol.c: made the code more robust against errors on the wire protocol level. 2007-12-11 Sven Neumann * libgimpbase/gimpwire.c (_gimp_wire_read_string): use g_try_new() so a plug-in can't easily crash the core by sending an invalid string message. 2007-12-11 Sven Neumann * libgimpbase/gimpwire.c (gimp_wire_register): allocate GimpWireHandler structs using GSlice. 2007-12-11 Sven Neumann * libgimpbase/gimpwire.c (_gimp_read_read_string): NULL-terminate all strings coming in over the wire protocol. Should help with bug #498207. (gimp_wire_register): 2007-12-10 Sven Neumann * plug-ins/pygimp/gimpmodule.c (pygimp_set_background) (pygimp_set_foreground): allow the use of CSS color names and hexadecimal color notation. 2007-12-10 Bill Skaggs * app/paint/gimpheal.c: make the healing brush work properly when dragged. Fixes bug #492575. 2007-12-09 Hans Breuer * app/gimp-log.h : an ugly but working variant for no varargs macros * app/base/base-utils.c(get_physical_memory_size) : fallback to GetMemoryStatus() for older compiler/sdk * app/core/gimplayer-floating-sel.c : second argument to g_set_error() is an uint32, not a pointer * **/makefile.msc : updated and removed -GD to let msvc9 complain less 2007-12-09 Martin Nordholts * app/tools/gimprectangletool.[ch]: Added gimp_rectangle_tool_init() (and minor code cleanup). * app/tools/gimprectangleselecttool.c (gimp_rect_select_tool_init): Call gimp_rectangle_tool_init(). * app/tools/gimpcroptool.c (gimp_crop_tool_init): Call gimp_rectangle_tool_init(). 2007-12-08 Sven Neumann * plug-ins/pygimp/gimpfu.py (_run): fixed logic that decides if a dialog should be shown or not. 2007-12-07 Bill Skaggs * app/core/gimpimage-snap.c: fix typo in previous commit. 2007-12-07 Bill Skaggs * app/display/gimpdisplayshell-draw.c: draw grid correctly when non-integer spacing is combined with a large offset. Fixes bug #502374. * app/core/gimpimage-snap.c: make snapping to grid work when coord is less than the grid offset. 2007-12-07 Sven Neumann * configure.in: fixed indentation of --help output. 2007-12-07 Sven Neumann * plug-ins/pygimp/pygimp-colors.c * plug-ins/pygimp/gimpcolormodule.c: removed calls to PyMem_Free(). 2007-12-07 Sven Neumann * libgimpcolor/test-color-parser.c: removed unused import. 2007-12-07 Michael Natterer * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_tool_events): if a device change happens, make sure we update the new active tool's focus display and modifier state. Fixes most of bug #493176. 2007-12-07 Michael Natterer * app/gimp-log.[ch]: renamed log domain TOOLS to TOOL_EVENTS and added domain TOOL_FOCUS. * app/display/gimpdisplayshell-callbacks.c: s/TOOLS/TOOL_EVENTS/ * app/tools/gimptool.c: port focus debug output to GIMP_LOG(). 2007-12-07 Michael Natterer * app/core/gimpselection.[ch]: added GErrors to gimp_selection_extract() and gimp_selection_float(). * app/core/gimp-edit.c * app/tools/gimpeditselectiontool.c * app/actions/select-commands.c: handle the returned error. * app/core/gimpdrawable-transform.c: pass NULL errors since this file knows what it does and won't get errors. * tools/pdbgen/pdb/selection.pdb: pass the error. * app/pdb/selection_cmds.c: regenerated. 2007-12-07 Sven Neumann * plug-ins/pygimp/gimpui.py (ColorSelector.__init__): accept a string and parse it using gimpcolor.rgb_parse_css(). * plug-ins/pygimp/plug-ins/sphere.py: show off the new feature. 2007-12-07 Sven Neumann * plug-ins/pygimp/plug-ins/foggify.py: push/pop a context instead of manually restoring the background color. 2007-12-07 Sven Neumann * app/batch.c (batch_run): only show the message about using the default batch interpreter when running in verbose mode. 2007-12-06 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_set_property): Also update the integer representation of the rect when the GObject properties has been set. 2007-12-06 Michael Natterer * app/core/gimpimage-merge.[ch] * app/core/gimpimage-convert.[ch]: added GError parameters. * app/dialogs/convert-dialog.c * app/actions/image-commands.c * app/actions/vectors-commands.c: handle the returned error. * tools/pdbgen/pdb/convert.pdb: pass the error. * app/pdb/convert_cmds.c: regenerated. 2007-12-06 Michael Natterer * app/core/gimpdrawable-bucket-fill.[ch]: add GError parameter. * app/tools/gimpbucketfilltool.c: handle the returned error. * tools/pdbgen/pdb/edit.pdb: pass the error. * app/pdb/edit_cmds.c: regenerated. 2007-12-06 Michael Natterer * app/paint/gimppaintcore-stroke.[ch]: added GError arguments and fixed all functions to abort when the first call to gimp_paint_core_start() fails (it won't succeed either for the next path or whatever segemts). * app/core/gimpitem.[ch]: added GError to gimp_item_stroke() * app/core/gimpselection.c * app/core/gimpchannel.c * app/vectors/gimpvectors.c: don't gimp_message() in GimpItem::stroke() but set the error. * app/dialogs/stroke-dialog.c * app/actions/vectors-commands.c * app/actions/select-commands.c: handle the returned errors. * tools/pdbgen/pdb/edit.pdb * tools/pdbgen/pdb/paths.pdb * tools/pdbgen/pdb/paint_tools.pdb: pass the error to the stroke functions. * app/pdb/paint_tools_cmds.c * app/pdb/edit_cmds.c * app/pdb/paths_cmds.c: regenerated. 2007-12-06 Michael Natterer Move some gimp_message() calls where they belong: * app/core/gimplayer-floating-sel.[ch]: removed unreachable gimp_message() in floating_sel_anchor() and added GError parameter to floating_sel_to_layer(). * app/core/gimplayer.c * app/core/gimpimage-quick-mask.c * app/actions/layers-commands.c: pass NULL or an error as appropriate and show the error message. * tools/pdbgen/pdb/floating_sel.pdb: set the error when the passed layer was no floating selection. * app/pdb/floating_sel_cmds.c: regenerated. 2007-12-05 Martin Nordholts * app/actions/tool-options-commands.c (tool_options_save_to_cmd_callback) (tool_options_restore_from_cmd_callback): Only care about GIMP_CONFIG_PARAM_SERIALIZE properties, fixes bug #498948. 2007-12-05 Michael Natterer * tools/pdbgen/pdb/fileops.pdb: pass the error also to file_utils_filename_to_uri(). * app/pdb/fileops_cmds.c: regenerated. 2007-12-05 Sven Neumann * modules/gimpinputdevicestore-dx.c * modules/gimpinputdevicestore-hal.c: the code for !HAVE_LIBHAL ended up in the wrong file. 2007-12-05 Michael Natterer * tools/pdbgen/pdb/image.pdb (set_resolution): set the error instead of using gimp_message(). * app/pdb/image_cmds.c: regenerated. 2007-12-05 Michael Natterer * app/pdb/gimppdb-query.[ch]: added GError arguments and reduce number of labels: to one by simply checking if the regex exists before unreffing it. * tools/pdbgen/pdb/procedural_db.pdb: pass the error to the query functions. * app/pdb/procedural_db_cmds.c: regenerated. 2007-12-05 Michael Natterer * configure.in: disable deprecated API also for the current develoment versions of glib, pango and gtk+, so we can fix new deprecations as soon as they pop up. 2007-12-04 Bill Skaggs * tools/pdbgen/pdb/image.pdb: pass "error" instead of NULL. * app/pdb/image_cmds.c: regenerated. 2007-12-04 Bill Skaggs * tools/pdbgen/pdb/gradient.pdb * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/brush.pdb: use the new error arg instead of creating a GError and handling it internally. * app/pdb/palette_cmds.c * app/pdb/gradient_cmds.c * app/pdb/brush_cmds.c: regenerated. 2007-12-04 Michael Natterer * app/core/gimpdrawable.[ch]: added new API gimp_drawable_estimate_memsize() and virtual function GimpDrawable::estimate_memsize() which estimate the memsize of a drawable after scaling/resizing. * app/core/gimplayer.c: implement the virtual function and take the layer mask into account. * app/core/gimpimage-item-list.[ch] (gimp_image_item_list_get_list): added const qualifiers. * app/core/gimpimage-scale.c (gimp_image_scale_check): use the new function to correctly estimate the new size instead of scaling the drawables' memsizes including all constant parts. Fixes bug #329468. * app/gimp-log.[ch]: added IMAGE_SCALE log domain. * app/core/gimpimage-scale.c: use it here for debugging output. 2007-12-04 Sven Neumann * modules/Makefile.am * modules/gimpinputdevicestore.c: split into two new files: * modules/gimpinputdevicestore-dx.c: DirectX Input implementation * modules/gimpinputdevicestore-hal.c: HAL implementation 2007-12-03 Michael Natterer * tools/pdbgen/pdb/fileops.pdb: pass the new error down to all file functions which take GError arguments. * app/pdb/fileops_cmds.c: regenerated. 2007-12-02 Manish Singh * app/dialogs/about-dialog.c (about_dialog_load_url): pass NULL GError arg to gimp_pdb_execute_procedure_by_name. * app/xcf/xcf.c * app/xcf/xcf-load.[ch] * app/xcf/xcf-save.[ch]: throw GErrors from load/save invokers instead of gimp_messages. 2007-12-02 Sven Neumann * tools/pdbgen/app.pl: use GError for error reporting in PDB invoker methods. * tools/pdbgen/pdb/vectors.pdb: use the GError for the procedures introduced for bug #497159. * tools/pdbgen/pdb/fileops.pdb: use the GError from file-load and file-save procedures. * app/pdb/*_cmds.c: regenerated. * app/pdb/Makefile.am * app/pdb/gimppdberror.[ch]: new file introducing the GIMP_PDB_ERROR domain. * app/actions/plug-in-commands.c * app/actions/vectors-commands.c * app/batch.c * app/core/gimpimagefile.c * app/core/gimppdbprogress.c * app/file/file-open.[ch] * app/file/file-save.c * app/plug-in/gimpplugin-message.c * app/plug-in/gimppluginmanager-restore.c * app/plug-in/gimppluginprocedure.c * app/plug-in/gimptemporaryprocedure.c * app/plug-in/plug-in-icc-profile.c * app/widgets/gimpbrushselect.c * app/widgets/gimpfontselect.c * app/widgets/gimpgradientselect.c * app/widgets/gimphelp.c * app/widgets/gimppaletteselect.c * app/widgets/gimppatternselect.c * app/widgets/gimppdbdialog.[ch]: changed accordingly. 2007-12-02 Sven Neumann * plug-ins/common/tiff-load.c (load_image): removed pointless and untranslated warning. 2007-12-02 Sven Neumann * plug-ins/jpeg/jpeg-load.c (jpeg_load_resolution): only set the resolution if X_density and Y_density are not zero. Otherwise the default resolution would be used anyway and the user sees an annoying and confusion warning. 2007-12-01 Sven Neumann * app/core/gimpviewable.h: changed GIMP_VIEWABLE_PRIORITY_IDLE to G_PRIORITY_LOW. The reason for the very low priority was to keep it lower than the projection idle renderer. 2007-12-01 Martin Nordholts * docs/Makefile.am: Applied patch from Jesper de Jong that removes an errant leading space in a command. Fixes bug #500826. 2007-11-30 Sven Neumann * app/core/gimpprojection.c (gimp_projection_idle_render_init): raised the idle renderer priority even higher (bug #499150). 2007-11-30 Sven Neumann * app/base/tile-manager.c (tile_manager_invalidate_area): if no tiles have been allocated, there's no need to invalidate any. Should fix bug #500178. 2007-11-29 Sven Neumann * app/core/gimpprojection.c (gimp_projection_idle_render_init): raise the priority of the idle renderer to G_PRIORITY_DEFAULT_IDLE. Should fix bug #499150. 2007-11-29 Bill Skaggs * plug-ins/Lighting/lighting_ui.c: make sure to update bumpmap when combo is changed. Addresses bug #500317. 2007-11-28 Sven Neumann * app/actions/drawable-commands.c (drawable_flip_cmd_callback): fixed orientation type used for linked items (bug #499161). * app/core/gimpdrawable-transform.c (gimp_drawable_transform_tiles_flip): fixed typo in if condition and added more sanity checks. 2007-11-27 Bill Skaggs * app/tools/gimprectangletool.c: initialize vars to quiet stupid compile warnings. 2007-11-26 Sven Neumann * app/widgets/gimpwidgets-utils.c (gimp_widget_accel_changed): escape text before using it in Pango text markup. 2007-11-26 Sven Neumann * plug-ins/common/wmf.c (load_image): improved error reporting. 2007-11-26 Sven Neumann * plug-ins/common/wmf.c: avoid filename encoding problems by not using wmf_file_open() but mapping the file into memory with GMappedFile. Fixes bug #499329. 2007-11-26 Sven Neumann * app/widgets/gimpblobeditor.c (gimp_blob_editor_draw_blob): corrected rendering of the blob (bug #499281). 2007-11-24 Martin Nordholts * app/tools/gimprectangleoptions.c (gimp_rectangle_options_iface_base_init): Fix indentation. 2007-11-24 Martin Nordholts * app/tools/gimprectangletool.[ch]: Renamed RECT_* identifiers of the GimpRectangleFunction enum to GIMP_RECTANGLE_TOOL_*. * app/tools/gimprectangleselecttool.c: Use the new names. 2007-11-24 Martin Nordholts * app/tools/gimprectangletool.[ch]: Ported the internal representation of the rectangle to gdouble:s instead of gint:s. This solves problems like not being able to swap portrait for landscape on very small rectangles and bug #442027, as well as provides a nice base to solve other similar problems when they are discovered. It is possible to choose what precision the GimpRectangleTool:s will appear to have externally through a new GimpRectanglePrecision enum and property, but the gdouble mode still requires some work in order to be useful. Internally the rectangle always is represented using gdouble:s of course. In the processes quite some refactoring has taken place, mostly restructuring code and splitting larger functions into smaller more managable ones. (gimp_rectangle_tool_rect_rubber_banding_func) (gimp_rectangle_tool_setup_snap_offsets) (gimp_rectangle_tool_apply_fixed_rule) (gimp_rectangle_tool_update_int_rect) (gimp_rectangle_tool_get_public_rect): New helper functions. * app/tools/tools-enums.h: Added GimpRectanglePrecision. 2007-11-23 Sven Neumann * plug-ins/flame/rect.c: reduced progress updates based on a patch from Tobias Jakobs (bug #499255). Untabified. 2007-11-23 Sven Neumann * tools/pdbgen/pdb/procedural_db.pdb: removed outdated information from comment. * app/pdb/procedural_db_cmds.c * libgimp/gimpproceduraldb_pdb.c: regenerated. 2007-11-22 Michael Natterer * app/widgets/gimpcolorbar.[ch]: derive from GtkEventBox instead of GtkMisc, but use an input-only window. * app/tools/gimplevelstool.c: redirect the events of the color bars to the handle bars. The histogram dialog has this change already. Functionality should be 100% restored now. 2007-11-22 Sven Neumann * libgimpwidgets/gimphelpui.[ch]: use gtk_widget_set_tooltip_text() from gimp_help_set_help() and added gimp_help_set_help_data_with_markup() for the cases where markup is needed. * libgimpwidgets/gimpwidgets.def: updated. * app/tools/gimpselectionoptions.c * app/widgets/gimpeditor.c * app/widgets/gimpwidgets-utils.c: use the new function where markup in tooltips is being used. * app/widgets/gimptoolbox-color-area.c: no need to escape the ampersand any longer. 2007-11-22 Jakub Steiner * data/images/gimp-splash.png: New unstable splash * data/images/gimp-splash-2.4.png: looks like we keep stable splashes around 2007-11-22 Michael Natterer * app/tools/gimplevelstool.[ch]: use a GimpHandleBar also for the input frame, added a second adjustment for gamma and map between the linear and logarithmic gamma values in the adjustment callbacks, get rid of one GtkFrame just as in the histogram dialog. Still not finished since mouse events on the color bars are currently not handled. 2007-11-21 Sven Neumann * app/config/gimpguiconfig.c: use "open %s" as the default web-browser command on Mac OS X. 2007-11-21 Sven Neumann * HACKING * autogen.sh: dropped support for automake 1.8 and require automake >= 1.9.6. Require libtool 1.5 for all platforms. 2007-11-20 Michael Natterer * app/widgets/gimpcontainercombobox.c: set the combo insensitive when it has no items. Fixes bug #498511. 2007-11-20 Michael Natterer * app/tools/gimplevelstool.[ch]: use a GimpHandleBar widget for the output sliders. Removes a bunch of code already, more to come... 2007-11-20 Sven Neumann * plug-ins/script-fu/scripts/t-o-p-logo.scm: applied patch from Ulf-D. Ehlert that fixes the background color used in the Particle Trace filter (bug #498282). 2007-11-20 Sven Neumann * app/widgets/gimpcolorbar.c (gimp_color_bar_expose): added const qualifiers. 2007-11-20 Michael Natterer * app/widgets/widgets-types.h * app/widgets/Makefile.am * app/widgets/gimphandlebar.[ch]: new widget implementing the slider bar known from histogram and levels. * app/widgets/gimphistogrambox.[ch]: use the new widget. General cleanup and UI streamlining. 2007-11-20 Michael Natterer * app/widgets/gimpcolorbar.c * app/widgets/gimphistogramview.c: cosmetic. 2007-11-19 Sven Neumann * app/widgets/gimpcurveview.[ch]: draw a base-line with the grid. Not sure if this should stay enabled for the Curves tool... 2007-11-19 Tor Lillqvist * libgimpwidgets/gimpcolorscale.c (gimp_color_scale_render_stipple): Don't write past end of buffer (bug #399484). 2007-11-18 Martin Nordholts * app/tools/gimprectangleselecttool.c: Cosmitics. More strictly align static function prototypes and consistently use the name rect_sel_tool for pointers to GimpRectSelectTool. 2007-11-18 Bill Skaggs * libgimp/gimp.def: forgot in previous commit 2007-11-18 Bill Skaggs * tools/pdbgen/pdb/vectors.pdb: add code for vectors-export-to-file and vectors-export-to-string, as requested in bug #497159. * app/pdb/vectors_cmds.c * app/pdb/internal_procs.c * libgimp/gimpvectors_pdb.c * libgimp/gimpvectors_pdb.h: rebuilt accordingly. 2007-11-18 Sven Neumann * gimptool-2.0.in: removed. * configure.in: removed leftover references to the gimptool script. 2007-11-18 Michael Natterer * app/gimp-log.[ch]: add SAVE_DIALOG log domain. * app/dialogs/file-save-dialog: port debug output to GIMP_LOG(). 2007-11-18 Michael Natterer * app/gimp-log.[ch]: add DIALOG_FACTORY log domain. * app/widgets/gimpdialogfactory.c: port debug output to GIMP_LOG(). 2007-11-18 Michael Natterer * app/gimp-log.[ch]: changed to work with different compiler-specific ways of doing macro varargs. Also cope with no macro vararg support at all. Pointed out by Hans Breuer. 2007-11-18 Michael Natterer * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_canvas_tool_events): improve debug output. 2007-11-17 Sven Neumann * app/base/base-utils.c (get_physical_memory_size): added a cast to avoid an integer overflow on 32bit machines. 2007-11-17 Sven Neumann * tools/gimptool.c: minor cleanup, hopefully not breaking anything. 2007-11-17 Sven Neumann * app/base/base-utils.[ch]: changed to get_physical_memory_size() and added an implementation for POSIX.2 platforms. 2007-11-17 Tor Lillqvist * tools/gimptool.c: Ignore --msvc-syntax unless on Windows. Put some Windows-only stuff inside ifdef. 2007-11-16 Tor Lillqvist Use the gimptool program on Unix, too, instead of the gimptool script. * configure.in * Makefile.am: Drop gimptool script and gimptool-win32.c(.in) * tools/gimptool.c * tools/Makefile.am: Move gimptool-win32.c.in here and call it just gimptool.c. Build and install on all platforms. * tools/gimptool.c: Change accordingly. * doc/gimptool.1.in: Document the --msvc-syntax option. 2007-11-16 Michael Natterer * app/gimp-log.[ch]: add HELP log domain. * app/widgets/gimphelp.c: port debug output to GIMP_LOG() and improve it. 2007-11-16 Tor Lillqvist * app/base/base-utils.c * app/base/base-utils.h (get_physical_memory_size_megabytes): New function that Sven asked for. Somebody please fill in Unix implementation(s). Feel free to change the name, change to return as bytes in a gint64, etc. 2007-11-16 Michael Natterer * app/base/temp-buf.c * app/base/tile-manager.c * app/core/gimpobject.c: accept NULL in all get_memsize() functions. * app/core/gimp-utils.[ch]: ditto. Added gimp_string_get_memsize(). * app/core/gimp.c * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpcontainer.c * app/core/gimpcontext.c * app/core/gimpdata.c * app/core/gimpdrawable.c * app/core/gimpdrawablemodundo.c * app/core/gimpdrawableundo.c * app/core/gimpimage.c * app/core/gimpitempropundo.c * app/core/gimplayer.c * app/core/gimpmaskundo.c * app/core/gimppalette.c * app/core/gimpparasitelist.c * app/core/gimppattern.c * app/core/gimppreviewcache.c * app/core/gimpundo.c * app/core/gimpundostack.c * app/core/gimpviewable.c * app/pdb/gimpprocedure.c * app/plug-in/gimpplugindef.c * app/plug-in/gimppluginmanager.c * app/plug-in/gimppluginprocedure.c * app/text/gimptext.c * app/text/gimptextlayer.c * app/text/gimptextundo.c * app/vectors/gimpvectorsmodundo.c: simplify GimpObject::get_memsize() implementations accordingly. * app/core/gimpimageundo.c: ditto. Always keep around colormaps in chunks of GIMP_IMAGE_COLORMAP_SIZE to be coonsistent with the other colormap handling code. 2007-11-16 Sven Neumann * app/base/lut-funcs.c (equalize_lut_setup): make sure we don't get stuck in a loop if all pixels are transparent (bug #497291). 2007-11-16 Sven Neumann * libgimpconfig/gimpcolorconfig.c: changed default value for using the system monitor profile. Many users seem to have broken monitor profiles and it's hard to figure out how to fix this (bug #496890). 2007-11-15 Sven Neumann * app/tools/gimpselectionoptions.c (gimp_selection_options_gui): plugged a memory leak. * libgimpwidgets/gimpintstore.c (gimp_int_store_add_empty): initialize the iter to avoid using uninitialized memory. 2007-11-15 Sven Neumann * plug-ins/common/screenshot.c: don't call gimp_edit_clear() if the selection mask is empty after selecting the window shape and inverting that selection. Fixes bug #493182. 2007-11-15 Sven Neumann * plug-ins/common/tiff-save.c (save_image): fixed bug in colormap handling (bug #497103). 2007-11-15 Michael Natterer * app/display/gimpdisplayshell-dnd.c * app/widgets/gimpdnd-xds.c * app/widgets/gimpselectiondata.c: use GIMP_LOG(DND) here too. 2007-11-15 Michael Natterer * app/gimp-log.[ch]: add DND log domain. * app/widgets/gimpdnd.c: use GIMP_LOG(). 2007-11-15 Sven Neumann * app/core/gimpcurve-save.c: added sanity checks. 2007-11-15 Michael Natterer * 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. 2007-11-15 Michael Natterer * app/core/gimpviewable.[ch]: add read-only property "frozen" and new API gimp_viewable_preview_is_fozen(). Emit property notifications. * app/widgets/gimphistogramview.[ch]: add API to show a second histogram in the background. Remove member "light_histogram" from the GimpHistogramViewClass struct. * app/widgets/gimpcurveview.c: don't set "light_histogram". * app/tools/gimpcurvestool.c: set the background histogram instead. * app/widgets/gimphistogrameditor.[ch]: connect to "notify::frozen" of the drawable and show its histogram at the freezing point in the background. This way the original histogram is visible while we are doing color corrections. 2007-11-14 Michael Natterer * app/display/gimpcanvas.c * app/widgets/gimpcurveview.c: free the cached PangoLayouts in GtkWidget::style_set(). * app/widgets/gimppaletteview.c: draw the focus rectangle in hardcoded black/white since we also hardcode the grid color to black. * app/display/gimpstatusbar.c * app/widgets/gimpdockable.c: small cleanups while reviewing layout code. 2007-11-14 Michael Natterer * app/widgets/gimpcolorframe.[ch]: replaced the number label with a big Cairo-drawn number below the color value labels. 2007-11-14 Michael Natterer * app/widgets/gimppaletteview.[ch]: port to Cairo drawing. 2007-11-13 Martin Nordholts * app/tools/gimprectangletool.c: Avoid GimpRectangleTool internals to make use of its own public interface by making gimp_rectangle_tool_get_other_side() work on pointers to members instead of GObject property names. (gimp_rectangle_tool_set_other_side_coord) (gimp_rectangle_tool_get_other_side_coord): Use gimp_rectangle_tool_get_other_side() in the new way. 2007-11-13 Martin Nordholts Fixed warnings about negative rectangle widths/heights when toggling 'Fixed center' while rubber banding a rectangle. * app/tools/gimprectangletool.c (gimp_rectangle_tool_set_other_side_coord): Finnishing off with a call to gimp_rectangle_tool_check_function() as changing the coordinates of the opposite side might swap the orientation of the rectangle. 2007-11-13 Sven Neumann * app/core/gimpimage-merge.c (gimp_image_merge_layers): when we encounter an unsupported merge operation (merging an opaque indexed layer onto an indexed layer with alpha channel), then add an alpha channel and try again. Fixes bug #496437. 2007-11-13 Michael Natterer * app/widgets/gimpviewrenderer.c (gimp_view_renderer_draw): use cairo_save()/cairo_restore() around calling the virtual function instead of restoring the clipping area manually. 2007-11-13 Michael Natterer * app/widgets/gimpviewrenderervectors.c (gimp_view_renderer_vectors_draw): naive port to Cairo. Somebody should check if this isn't better done with proper curve_to() drawing using the original vectors data instead of interpolation. * app/widgets/gimpviewrenderer.c (gimp_view_renderer_draw): reset clipping before drawing the border because a subclass' draw() might have done additional clipping. 2007-11-13 Tor Lillqvist * gimptool-win32.c.in: Some cleanups, more coming. 2007-11-13 Sven Neumann Fix for bug #494049 (painting doesn't update the histogram): * app/paint/gimppaintcore.c: freeze the drawable preview while we are painting. Update the drawable instead of the image. * app/widgets/gimphistogrameditor.c: use a short timeout instead of an idle handler to update the histogram. 2007-11-13 Tor Lillqvist * gimp-zip.in: Drop the timestamp from the zip file names. Add the .pc files to the developer package. 2007-11-13 Michael Natterer Enable brush scaling for smudge (but only before, not while painting). Fixes bug #471348. * app/paint/gimpbrushcore.[ch] (struct GimpBrushCoreClass): rename member "use_scale" to "handles_scaling_brush". (gimp_brush_core_calc_brush_scale): apply pressure scale only if both "handles_scaling_brush" and "use_pressure" are TRUE, and apply the scaling from the options unconditionally. (gimp_brush_core_get_paint_area): don't re-fetch core->scale if "handles_scaling_brush" is FALSE to keep the brush from scaling *while* painting. (gimp_brush_core_create_bound_segs): use the brush scale from the options unconditionally since that's always used now. * app/paint/gimpsmudge.c (gimp_smudge_brush_coords): use gimp_brush_scale_size() to figure the accum_buffer's size instead of using the brush mask's size directly. * app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): show the brush scale controls for all brush tools. 2007-11-12 Sven Neumann * app/core/gimp-utils.c (gimp_get_default_unit): return GIMP_UNIT_MM in case that we can't query the locale. * plug-ins/common/postscript.c: use gboolean for boolean variables. 2007-11-12 Sven Neumann * app/core/gimpimage-merge.c (gimp_image_merge_layers): corrected the size of the pixel region passed to color_region() in case of an indexed image. Fixes bug #495990. 2007-11-12 Michael Natterer * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_ruler_button_press): don't let GimpImageMapTools move sample points. They fail badly and leave the display in a paused state. 2007-11-12 Michael Natterer * app/sanity.c: added Pango version sanity check. 2007-11-12 Sven Neumann * plug-ins/common/tiff-load.c (run): properly handle a failure of TIFFFdOpen() instead of crashing on TIFF files we can't handle. 2007-11-12 Michael Natterer * app/display/gimpdisplayshell.c (gimp_display_shell_new): don't crash if gimp_display_shell_filter_new() returns NULL. Fixes bug #495863. 2007-11-11 Kevin Cozens * plug-ins/script-fu/scripts/script-fu-compat.init: Return a list from cons-array when type is 'string. 2007-11-11 Martin Nordholts * app/tools/gimprectangletool.[ch]: Removed gimp_rectangle_tool_get_press_coords() as it doesn't make sense for a rectangle tool interface to provide this functionality. Clients should take care of that themselves. Also adjusted internal code accordingly. * app/tools/gimprectangleselecttool.c: Remember the pressed coordinates on _button_press instead of asking GimpRectangleTool about it. 2007-11-11 Michael Natterer * configure.in: depend on pango 1.18 * app/text/gimpfontlist.c (gimp_font_list_add_font): remove workaround for old pango appending "Non-Rotated" to font names. 2007-11-11 Martin Nordholts * app/tools/gimprectangleselecttool.[ch]: Don't expose private instance members, use g_type_class_add_private() instead. 2007-11-11 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_update_with_coord): Updated comments to reflect current behaviour. 2007-11-11 Martin Nordholts * app/tools/gimprectangletool.c: Lessen code bloat by removing code that manages center-[xy] properies of GimpRectangleOptions. Instead use x1, y1 and x2, y2 when working with the rectangle center. * app/tools/gimprectangleoptions.[ch]: Removed "center-x" and "center-y" properties. 2007-11-10 Sven Neumann * libgimpwidgets/gimppageselector.c: formatting. 2007-11-10 Sven Neumann * app/actions/view-actions.c (view_zoom_explicit_actions): fixed incorrect tooltip (bug #495564). * app/dialogs/preferences-dialog.c (prefs_display_options_frame_add): adapt to the changed return value of gimp_prop_enum_combo_box_new(). 2007-11-10 Michael Natterer * libgimpwidgets/gimppropwidgets.c (gimp_prop_file_chooser_button_*): remove all sorts of workarounds for bugs of GtkFileChooserButton in GTK+ versions prior to 2.12. 2007-11-10 Michael Natterer * libgimpwidgets/gimppropwidgets.c: remove event boxes that were only there for the old tooltips. * modules/cdisplay_lcms.c: ditto. Also remove some code that was only needed because of the event box hack. 2007-11-10 Michael Natterer * app/tools/gimpairbrushtool.c (gimp_airbrush_tool_init) * app/tools/gimppenciltool.c (gimp_pencil_tool_init): don't enable color picking, it already gets enabled by the parent class. 2007-11-10 Sven Neumann * plug-ins/helpbrowser/dialog.c (browser_dialog_make_index_foreach): deal gracefully with NULL titles. 2007-11-09 Sven Neumann * app/widgets/gimpcurveview.c (gimp_curve_view_expose): align the overlay with the pixel grid. 2007-11-09 Sven Neumann * app/widgets/gimpcurveview.c: draw the selected point filled and outlines for the unselected points. 2007-11-09 Sven Neumann * app/widgets/gimpcurveview.c (gimp_curve_view_expose): draw the center grid lines slightly stronger than the other grid lines. 2007-11-09 Sven Neumann * app/widgets/gimpcurveview.c (gimp_curve_view_expose): draw the cursor position using a translucent overlay. 2007-11-09 Sven Neumann * app/widgets/gimpcurveview.[ch]: added construct-only properties to control the number of grid rows and columns. Increased the default values to 8. 2007-11-09 Michael Natterer * libgimpwidgets/gimphelpui.[ch]: use the new tooltip API instead of the old deprecated one. Removed _gimp_help_init(). Remember whether tooltips are enabled or not in a local variable that can only be altered at startup time and not after. The API now expects markup instead of plain text which might cause warnings and perhaps needs to be changed. * libgimpwidgets/gimpwidgets-private.c: don't call _gimp_help_init(). * app/config/gimpguiconfig.c: made show-tooltips a GIMP_CONFIG_PARAM_RESTART property. * app/widgets/gimptoolbox-color-area.c: don't add the tooltip here... * app/widgets/gimptoolbox.c: ...but here (as for all other indicators). Also escape '&' properly because we now use markup. * app/tools/gimpselectionoptions.c * app/widgets/gimpeditor.c * app/widgets/gimpwidgets-utils.c: print modifiers and shortcuts in bold instead of in (). * app/widgets/gimpcontainertreeview.c: show tooltips on rows if gimp_viewable_get_description() returns a tip. * app/dialogs/preferences-dialog.c * plug-ins/jpeg/jpeg-save.c * plug-ins/MapObject/mapobject_ui.c * plug-ins/Lighting/lighting_ui.c * plug-ins/common/animationplay.c * plug-ins/common/warp.c: no need to add event boxes just to have tooltips, the new ones work on all widgets. 2007-11-08 Sven Neumann * app/display/gimpstatusbar.c (gimp_statusbar_vprintf): also cut the message at a '\r' character. Fixes the remaining aspect of bug #492718. 2007-11-08 Michael Natterer * libgimp/gimpenums.c.tail: replaced by generated version. 2007-11-08 Sven Neumann * app/display/gimpdisplayshell.c (gimp_display_shell_show_tooltip): don't directly pass a message to gimp_statusbar_push(), it expects a format string and printf-like varargs. Fixes the crash reported in bug #492718. 2007-11-08 Michael Natterer * app/core/gimpimage.c (gimp_image_clean_all): pass GIMP_DIRTY_ALL to the "clean" signal instead of uninitialized memory. 2007-11-06 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_update_handle_sizes): don't use any dead areas in narrow-mode, and enter narrow-mode earlier. * app/tools/gimpdrawtool.c (gimp_draw_tool_draw_corner): adjusted to always draw side handles in narrow mode without dead areas. 2007-11-06 Michael Natterer * configure.in: remove check for putenv(). * app/composite/gimp-composite-3dnow-test.c * app/composite/gimp-composite-altivec-test.c * app/composite/gimp-composite-mmx-test.c * app/composite/gimp-composite-sse-test.c * app/composite/gimp-composite-sse2-test.c * app/composite/gimp-composite-vis-test.c * libgimp/gimpui.c * plug-ins/uri/uri-backend-wget.c * tools/gimp-remote-x11.c: use g_setenv() instead of putenv(). 2007-11-06 Sven Neumann * tools/pdbgen/pdb/plug_in.pdb: improved documentation for gimp-plugin-menu-register. * app/pdb/plug_in_cmds.c * libgimp/gimpplugin_pdb.c: regenerated. 2007-11-06 Sven Neumann * app/widgets/gimpblobeditor.c: ported to Cairo drawing. 2007-11-05 Michael Natterer * app/widgets/gimpcurveview.c (gimp_curve_view_expose): translate by 0.5,0.5 instead of adding 0.5 to all coordinates (we always want to draw on pixel centers here). Some cleanup. 2007-11-05 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_motion): Bail out early if the rectangle function is RECT_DEAD. This prevents flickering. 2007-11-05 Martin Nordholts * app/tools/gimprectangletool.c: also don't show the shell highlight when a rectangle is being moved. Achieved through slightly modifying code logic and renaming variables and functions a bit. 2007-11-05 Sven Neumann * app/widgets/gimpgradienteditor.[ch]: use Cairo to draw the controls. 2007-11-05 Sven Neumann * configure.in: don't bail out if the XFixes extension is not available. 2007-11-05 Sven Neumann * tools/pdbgen/pdb/image.pdb: create a libgimp C wrapper for gimp-image-get-vectors-by-tattoo; this function was accidentally forgotten in the 2.4 libgimp API. * app/pdb/image_cmds.c * libgimp/gimpimage_pdb.[ch]: regenerated. 2007-11-05 Sven Neumann * app/widgets/gimpcairo-utils.h: introduced macros to set a single pixel in a Cairo surface without having to worry about endianness. * app/widgets/gimpcairo-utils.c * app/widgets/gimpviewrenderer.c * app/widgets/gimpviewrenderergradient.c * app/widgets/gimpviewrendererpalette.c: use the new macros. 2007-11-05 Michael Natterer * app/widgets/gimpcurveview.c (gimp_curve_view_expose): port to Cairo. 2007-11-05 Michael Natterer * app/core/gimpcurve.[ch]: don't recalculate the curve if the data object is frozen. Recalculate on thaw instead. Made gimp_curve_calculate() private and emit some GimpData::dirty signals where appropriate. * app/tools/gimpcurvestool.c * app/widgets/gimpcurveview.c * tools/pdbgen/pdb/color.pdb: changed accodingly (connect to "dirty" instead of "notify" and added some freeze/thaw where approproate). * app/pdb/color_cmds.c: regenerated. 2007-11-05 Sven Neumann * app/core/gimpimagemap.c (gimp_image_map_clear): update the drawable, not the image. This change was missing in the fix for bug #490182. Fixes bug #493639. 2007-11-05 Michael Natterer * app/widgets/gimpcurveview.[ch]: added event handling and completely edit the curve here. * app/tools/gimpcurvestool.[ch]: remove all event handling and curve editing code and only listen to curve signals. 2007-11-04 Martin Nordholts Do not do shell darkening while GimpRectangleTool rectangles are being rubber-banded. * app/tools/gimprectangletool.c (gimp_rectangle_tool_button_press) (gimp_rectangle_tool_button_release): Maintain a variable keeping track of if the rectangle is being rubber banded or not. (gimp_rectangle_tool_update_highlight): Do not set a shell highligt if the rectangle is being rubber-banded. (gimp_rectangle_tool_rubber_banding_func): New helper function. 2007-11-04 Sven Neumann * app/widgets/gimpviewrendererbrush.c: implement GimpViewRenderer::draw and draw the overlays with Cairo. * app/widgets/gimpviewrenderer.[ch] * app/widgets/gimpviewrenderervectors.c: minor cleanups. 2007-11-04 Sven Neumann * app/widgets/gimpviewrenderer.[ch]: replaced the RGB buffer with a Cairo surface. * app/widgets/gimpviewrendererbuffer.c * app/widgets/gimpviewrendererbrush.c * app/widgets/gimpviewrendererdrawable.c * app/widgets/gimpviewrenderergradient.c * app/widgets/gimpviewrendererimage.c * app/widgets/gimpviewrendererpalette.c * app/widgets/gimpviewrenderervectors.c: changed accordingly. There are some loose ends here that will be fixed over the next days. * app/widgets/gimprender.c: removed gimp_render_temp_buf; it is not any longer needed. * app/core/gimpgradient.c (gimp_gradient_get_preview_size) * app/core/gimppalette.c (gimp_palette_get_preview_size): return an odd preview height to make the border align with the pixel grid. 2007-11-04 Sven Neumann * app/tools/gimplevelstool.c (levels_input_area_event): minor cleanup. 2007-11-04 Martin Nordholts * app/tools/gimprectangletool.c: Consistently use the name `rect_tool' instead of `rectangle' or `rectangle_tool' for pointers to GimpRectangleTool. 2007-11-04 Martin Nordholts Put GimpRectangleTool handles on the outside of the rectangle when it has a small width or height. Some polishing left to do but the base functionality works nicely. * app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_corner): Add a put_outside boolean parameter that if true draws the handles on the outside of the rectangle. * app/tools/gimprectangletool.c (gimp_rectangle_tool_update_handle_sizes) (gimp_rectangle_tool_coord_on_handle) (gimp_rectangle_tool_draw): Take into account if the rectangle is in narrow-mode or not. 2007-11-04 Sven Neumann * app/widgets/gimpgradienteditor.c * app/widgets/gimpnavigationview.c: use gdk_event_request_motions() to handle motion hint events. 2007-11-04 Michael Natterer * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcurveview.[ch]: new GimpHistogramView subclass which does all the curve stuff. * app/widgets/gimphistorgramview.[ch]: removed all curve code again. * app/tools/gimpcurvestool.c: changed accordingly. 2007-11-04 Sven Neumann * libgimpwidgets/gimpcolorselect.c * libgimpwidgets/gimpscrolledpreview.c: use gdk_event_request_motions() to handle motion hint events. 2007-11-04 Sven Neumann * INSTALL * configure.in: bumped required version of GTK+ to 2.12.0. * app/sanity.c (sanity_check_glib) * app/gui/gui.c (gui_sanity_check): updated sanity checks. 2007-11-02 Michael Natterer * app/widgets/gimphistogramview.[ch]: added API to set the selected point. * app/tools/gimpcurvestool.c: use it. 2007-11-02 Michael Natterer * app/core/gimpcurve.[ch]: added API to modify free-form curves and properties to listen to curve changes. * app/widgets/gimphistogramview.[ch]: added everything that's needed for rendering a curve with all its color and cursor indicators on top of a histogram. This code will move to a subclass soon. * app/tools/gimpcurvestool.[ch]: removed all curve rendering here. Also removed all explicit updating by connecting to curve signals and updating in the callback. 2007-11-02 Sven Neumann * app/widgets/gimpcairo-utils.[ch]: added utility function to create a Cairo surface from a GdkPixbuf. * app/widgets/gimpviewrenderer.c (gimp_view_renderer_create_pattern): use it from here. 2007-11-02 Sven Neumann * core/gimplist.h: formatting. 2007-11-02 Michael Natterer * app/core/Makefile.am * app/core/core-types.h * app/core/gimpcurve-save.[ch] * app/core/gimpcurve-load.[ch] * app/core/gimpcurve.[ch]: new GimpData subclass which keeps a curve as known from the curves tool. Pretty much unfinished, but can do everything that used to be done by base/curves.c and more. * app/base/curves.[ch]: stripped down to plain arrays of uchar (the actual curve) and the LUT setup function. All the rest is done by GimpCurve now. * app/tools/gimpcurvestool.[ch]: use an array of GimpCurves instead of the old Curves cruft. Use Curves only for the last step of creating the LUT. Pretty much unfinished migration here too. * tools/pdbgen/pdb/color.pdb: use a GimpCurve here too. * app/pdb/color_cmds.c: regenerated. 2007-11-02 Sven Neumann * app/widgets/gimpcairo-utils.c (gimp_cairo_set_source_color): also use the color's alpha channel. Added gtk-doc documentation. 2007-11-02 Sven Neumann * app/widgets/Makefile.am * app/widgets/gimpcairo-utils.[ch]: new files holding Cairo utility functions. * app/widgets/gimpviewrenderer.[ch]: ported partly to Cairo drawing. * app/widgets/gimpcomponenteditor.c * app/widgets/gimpcontainercombobox.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimplayertreeview.c * app/widgets/gimpview.c: removed calls to gimp_view_renderer_unrealize() which are not needed anymore because we don't allocate a GC in the renderer any longer. * app/widgets/gimpcellrendererdashes.c: removed a redundant cast. 2007-11-01 Sven Neumann * app/widgets/gimpviewrenderer.c (gimp_view_renderer_draw): removed code that draws a diagonal line across a renderer without context. Emit a warning instead; this shouldn't happen any longer. 2007-11-01 Sven Neumann * app/widgets/gimpdasheditor.c (gimp_dash_editor_expose): draw using Cairo. 2007-11-01 Sven Neumann * app/widgets/gimpcellrendererdashes.c (gimp_cell_renderer_dashes_render): draw using Cairo. 2007-11-01 Sven Neumann * plug-ins/script-fu/scripts/Makefile.am (scripts): * plug-ins/script-fu/scripts/hsv-graph.scm: removed this script. Fixes bug #491311. 2007-11-01 Sven Neumann * libgimpwidgets/gimpscrolledpreview.c: changed move cursor to GDK_HAND1 and switch to GDK_FLEUR while the mouse button is down. 2007-11-01 Tor Lillqvist * app/base/base-utils.c * app/base/base-utils.h: New files, with just one function so far, get_number_of_processors(). Include implementation also for Win32. * app/base/Makefile.am (libappbase_a_SOURCES): Add new files. * app/config/gimpbaseconfig.c (gimp_base_config_class_init): Use get_number_of_processors(). 2007-11-01 Manish Singh * app/core/gimpcontainer-filter.c * app/pdb/gimppdb-query.c * app/plug-in/gimppluginmanager-query.c: replace usage of POSIX regex API with GRegex. * configure.in: remove check for regex support in glibc. * app/Makefile.am * plug-ins/script-fu/Makefile.am: remove REGEXREPL references. * tools/pdbgen/app.pl: remove code that references HAVE_GLIBC_REGEX. * regexrepl/* * makefile.msc * Makefile.am: remove regexrepl directory. 2007-10-31 Sven Neumann * app/core/gimp-user-install.c: improved detection of old gimp user directories and handle migration from 2.4. 2007-10-31 Michael Natterer * app/core/gimpparamspecs.[ch] (GimpParamSpecString): remove member "null_ok" and use GParamSpecString's "ensure_non_null" instead. 2007-10-31 Tor Lillqvist * README.win32: Remove. This kind of information belongs in the wiki. * Makefile.am (EXTRA_DIST): Drop from here, too. 2007-10-31 Michael Natterer * libgimpbase/Makefile.am * libgimpbase/xdg-user-dir.[ch]: removed. * libgimpbase/gimpbaseenums.[ch]: deprecate enum GimpUserDirectory. * libgimpbase/gimpenv.[ch]: deprecate gimp_user_directory() and make the implementation call g_get_user_special_dir(). * libgimp/Makefile.am: #undef GIMP_DISABLE_DEPRECATED in gimpenums.c * app/widgets/gimpfiledialog.c: use g_get_user_special_dir() instead. * plug-ins/pygimp/gimpmodule.c: #undef GIMP_DISABLE_DEPRECATED. 2007-10-31 Michael Natterer * configure.in * app/Makefile.am * tools/Makefile.am: bump some more hardcoded 2.4 to 2.5 2007-10-31 Sven Neumann * app/display/gimpdisplayshell-close.c (gimp_display_shell_close_dialog): use g_timeout_source_new_seconds(). 2007-10-31 Sven Neumann * INSTALL * README * NEWS: updated for 2.5. 2007-10-31 Michael Natterer * configure.in: depend on glib 2.14.1 * app/tools/gimpdrawtool.c * app/vectors/gimpvectors-import.c: use g_slice_dup() instead of g_slice_new() and memcpy(). 2007-10-31 Sven Neumann * plug-ins/common/retinex.c: use a combo-box instead of radio buttons (bug #484838). 2007-10-31 Michael Natterer * app/tools/gimprectangletool.c: some general indentation, spacing and coding style convention paranoia cleanups. (gimp_rectangle_tool_get_constraints): set all return values also when bailing out early to avoid valgrind warnings about uninitialized memory. 2007-10-31 Sven Neumann * configure.in: check for the XFIXES extension. * plug-ins/common/plugin-defs.pl * plug-ins/common/Makefile.am: use XFIXES_CFLAGS for compiling the screenshot plug-in. * plug-ins/common/screenshot.c: optionally add the mouse cursor image on an extra layer. Work in progress... (bug #490779). 2007-10-31 Sven Neumann * configure.in: bumped version to 2.5.0. Created branch gimp-2-4 for bug-fixes in the stable 2.4 series. 2007-10-31 Sven Neumann * Made 2.4.1 release. 2007-10-30 Sven Neumann * app/display/gimpdisplayshell-render.c (box_filter): shift only by 4 bits instead of 8. Should still keep us from overflowing 32 bit integers but reduces the rounding error and seems to really fix bug #491503. 2007-10-30 Martin Nordholts * app/tools/gimprectangleselecttool.c (gimp_rect_select_tool_round_corners_notify): Update the selection when Rounded corners is toggled or the radius is changed as discussed in bug #418284. 2007-10-30 Michael Natterer * modules/cdisplay_lcms.c: applied patch from Sven Neumann and Marianne Gagnon which adds support for getting the system monitor profile on OS/X. Fixes bug #488170. 2007-10-30 Sven Neumann * app/display/gimpdisplayshell-handlers.c: reverted change that was made for bug #490785. 2007-10-30 Sven Neumann Fix drawing of straight lines using the Shift key and a tablet (bug #164240): * app/tools/gimppainttool.c (gimp_paint_tool_button_press): set use_pressure to FALSE when drawing a straight line. * app/paint/gimppaintbrush.c (_gimp_paintbrush_motion): respect the use_pressure flag. 2007-10-30 Sven Neumann * app/display/gimpdisplayshell-render.c (box_filter): reduce rounding errors. Fixes bug #491503. * app/base/tile-pyramid.c (tile_pyramid_write_quarter): reduce rounding errors. 2007-10-29 Sven Neumann * libgimpcolor/gimpadaptivesupersample.c (gimp_adaptive_supersample_area): return with a warning if called with NULL render_func or put_pixel_func. 2007-10-29 Sven Neumann Fix bug #491272 (no cursor drawn for small brush sizes): * app/tools/gimpbrushtool.[ch] (gimp_brush_tool_draw_brush): don't draw the brush outline if it becomes too small. Instead draw a small cross, but only if "draw_fallback" was passed as TRUE. (gimp_brush_tool_draw_brush): pass TRUE for "draw_fallback" if cursor drawing is disabled for the paint tools. * app/tools/gimpsourcetool.c (gimp_source_tool_draw): pass FALSE for "draw_fallback". * app/tools/gimpdrawtool.c (gimp_draw_tool_draw_cross_by_anchor): draw a symmetric cross for odd handle sizes. 2007-10-29 Sven Neumann * app/tools/gimprectangletool.c (gimp_rectangle_tool_coord_on_handle): initialize variables to suppress a compiler warning. 2007-10-28 Sven Neumann * app/pdb/gimppdb.c (gimp_pdb_execute_procedure_by_name): also call va_end() in the error cases. 2007-10-28 Sven Neumann * libgimpwidgets/gimpcolorscales.c (gimp_color_scales_set_channel): fixed range check. 2007-10-28 Sven Neumann * libgimpwidgets/gimpscrolledpreview.c (gimp_scrolled_preview_nav_button_press): use small-checks for the navigation popup and inherit the check-type from the preview. 2007-10-27 Sven Neumann * app/widgets/gimpwidgets-utils.c (gimp_text_buffer_load): close the file handle. 2007-10-27 Sven Neumann * libgimpbase/gimpmemsize.c (string_to_memsize): don't just crash right away if the impossible happens. 2007-10-27 Sven Neumann * app/dialogs/preferences-dialog.c (prefs_resolution_source_callback): g_object_get_data() should always return a size-entry here. Return with a warning if it doesn't. 2007-10-27 Sven Neumann * libgimpconfig/gimpscanner.c (gimp_scanner_parse_color): initialize GimpRGB, just to be sure. 2007-10-27 Sven Neumann * app/display/gimpdisplayshell-handlers.c: removed code that syncs the padding color with the default values set in the preferences. Fixes bug #490785. 2007-10-27 Sven Neumann * plug-ins/common/pnm.c (pnm_load_ascii): fixed handling of truncated ascii files. Fixes bug #490827. 2007-10-27 Sven Neumann * plug-ins/common/pnm.c: formatting. (pnm_load_ascii): 2007-10-27 Sven Neumann * plug-ins/common/mkgen.pl: set the svn:ignore property instead of writing a .cvsignore file. 2007-10-27 Sven Neumann * libgimpconfig/gimpcolorconfig.h (struct _GimpColorConfig): declared the fields as public so that they show up in the API documentation. 2007-10-27 Hans Breuer * app/base/makefile.msc app/file/makefile.msc app/gimpcore.def app/gui/makefile.msc app/plug-in/makefile.msc libgimpwidgets/makefile.msc : updated msvc build * config.h.win32 : add ENABLE_TOOLBOX_MENU, it should only vanish on Mac OSX (Quartz build) 2007-10-27 Tor Lillqvist * libgimpbase/gimpenv.c (gimp_toplevel_directory): Drop the Win9x code path here, too. * libgimpbase/gimpenv.c (gimp_locale_directory): On Windows return the pathname in system codepage and not UTF-8. 2007-10-26 Sven Neumann * app/text/gimptext.c: increased default font size to 24. 2007-10-26 Martin Nordholts * app/tools/gimprectangletool.c (struct GimpRectangleToolPrivate): Renamed handle_[wh] to corner_handle_[wh] since that are the appropriate names. 2007-10-26 Martin Nordholts * app/tools/gimprectangletool.c (gimp_rectangle_tool_oper_update): Use new helper functions to decide if the cursor is on a handle (or outside of the rectangle + handle bounds) to ease the introduction of having handles on the outside of the pending rectangle. (gimp_rectangle_tool_coord_outside) (gimp_rectangle_tool_coord_on_handle): New helper functions. 2007-10-26 Sven Neumann * app/pdb/gimpprocedure.c (gimp_procedure_validate_args): don't pass NULL strings to gimp_message(). Fixes bug #490617. 2007-10-26 Sven Neumann Reenabled update of the histogram while doing color corrections (bug #490182): * app/core/gimpviewable.[ch]: added new methods preview_freeze() and preview_thaw(). * app/core/gimpimagemap.c (gimp_image_map_new): freeze the drawable preview. (gimp_image_map_dispose): thaw the drawable preview. (gimp_image_map_do): update the drawable, not the image. * app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): no need to invalidate the drawable preview any longer. 2007-10-26 Michael Natterer * app/xcf/xcf-load.c (xcf_load_image_props): never allocate image->cmap smaller than GIMP_IMAGE_COLORMAP_SIZE. Fixes bug #490048. 2007-10-26 Sven Neumann * app/widgets/gimphistogrameditor.c (gimp_histogram_editor_layer_changed): connect to GimpDrawable::update instead of GimpViewable::invalidate-preview. 2007-10-25 Kevin Cozens * plug-ins/script-fu/tinyscheme/scheme-private.h * plug-ins/script-fu/tinyscheme/scheme.c: Allow a maximum of two calls to backchar() needed by the "case '.'" part of the switch statement in token(). Fixes bug #490198. 2007-10-25 Martin Nordholts * app/tools/gimprectangletool.c: Aligned static function prototypes. 2007-10-25 Martin Nordholts * app/tools/gimprectangletool.c: Tiny cosmetic change on the ClampedSide enum definition. 2007-10-25 Sven Neumann * tools/Makefile.am * tools/gimp-remote.[ch] * tools/gimp-remote-x11.c: split gimp-remote into common and X11 specific code. 2007-10-25 Michael Natterer * configure.in: made all tests consistently use 'test "x$foo" = xbar' instead of 5 variants of which some were broken. Spotted by Peter Breitenlohner, fixes bug #490068. 2007-10-25 Sven Neumann * configure.in: bumped version to 2.4.1 (interface age 1). 2007-10-25 Sven Neumann * app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_proc_install): set the procedure name before parsing the image types. Fixes bug #490055. 2007-10-25 Sven Neumann * app/display/gimpcanvas.c (gimp_canvas_gc_new): use INVERT instead of XOR if the xor-color is configured as white. 2007-10-24 Manish Singh * plug-ins/common/compose.c * plug-ins/common/decompose.c: generate PDB docs from the same source as the UI. 2007-10-24 Kevin Cozens * Makefile.am: Applied patch from Stanislav Brabec which adds NEWS.pre-2-4, ChangeLog.pre-2-2 and ChangeLog.pre-2-4 to EXTRA_DIST. Fixes bug #489813. 2007-10-24 Simon Budig * app/display/gimpdisplayshell.h: change the PROJ_ROUND macro to do proper rounding. Seems to work well. 2007-10-24 Sven Neumann Michael Natterer * Made 2.4.0 release.