app: s/sprintf/g_snprintf/ in xcf_save_image()
[gimp.git] / ChangeLog.pre-git
blob69c6aba91838a5a8346a369969677891a748b7f1
2 2009-04-16  Michael Natterer  <mitch@gimp.org>
4         * app/paint/gimppaintcore.[ch]: made GimpCoords* parameter of
5         GimpPaintCore::start() const.
7         * app/paint/gimpbrushcore.c
8         * app/paint/gimpclone.c
9         * app/paint/gimpheal.c
10         * app/paint/gimpperspectiveclone.c
11         * app/paint/gimpsourcecore.c: changed accordingly.
13 2009-04-13  Tobias Mueller  <tobiasmue@gnome.org>
15         Bug 574972 – Grayscale profile should be removed in RGB/Indexed mode
17         * app/core/gimpimage-convert.c (gimp_image_convert): Remove the ICC 
18         profile when image will be converted from/to grayscale mode.
19         Patch by Yohinori Yamakawa <yam@yellowmagic.info>
21 2009-04-12  Martin Nordholts  <martinn@svn.gnome.org>
23         * app/actions/debug-commands.c: Use the new gegl:introspect
24         feature of showing the graph of nodes a given node depends
25         on. This gives much better depicted graphs.
27 2009-04-11  Michael Natterer  <mitch@gimp.org>
29         * plug-ins/common/*.c: various plug-in parameter cleanups that
30         have piled up on my disk: some whitespace fixes and other
31         formatting, but mostly changes to make plug-in boolean/enum
32         parameter desciptions look more like the ones that are generated
33         for core procedures.
35 2009-04-03  Michael Natterer  <mitch@gimp.org>
37         Bug 577575 – transform tool fills underlying extracted area wrongly
39         * app/tools/gimpfliptool.c
40         * app/tools/gimpperspectivetool.c
41         * app/tools/gimprotatetool.c
42         * app/tools/gimpscaletool.c (gimp_*_tool_register): pass
43         GIMP_CONTEXT_BACKGROUND_MASK to the register callback to the tools
44         use the global background color.
46 2009-03-31  Sven Neumann  <sven@gimp.org>
48         Bug 568479 – add PDB procedures to manipulate size of text box
50         * tools/pdbgen/pdb/text_layer.pdb: add gimp-text-layer-resize,
51         based on a patch from Barak Itkin.
53         * app/pdb/internal-procs.c
54         * app/pdb/text-layer-cmds.c
55         * libgimp/gimptextlayer_pdb.[ch]: regenerated.
57 2009-03-31  Sven Neumann  <sven@gimp.org>
59         * plug-ins/file-uri/uri-backend-gvfs.c (copy_uri): simplified the
60         code.
62 2009-03-28  Michael Natterer  <mitch@gimp.org>
64         Bug 555738 – Image display is wrong after undoing canvas size
65         enlargement
67         * app/display/gimpdisplayshell-handlers.c
68         (gimp_display_shell_size_changed_detailed_handler): call
69         gimp_display_shell_expose_full() because resizing the canvas can
70         leave all sorts of display areas unupdated otherwise.
72 2009-03-28  Michael Natterer  <mitch@gimp.org>
74         * app/display/gimpdisplayshell-handlers.c
75         (gimp_display_shell_size_changed_detailed_handler): swallow the
76         code of gimp_display_shell_image_size_starts_to_fit() because it
77         didn't make things clearer. Add local variables instead to make
78         things more readable.
80 2009-03-28  Sven Neumann  <sven@gimp.org>
82         Bug 577024 – help-browser plugin crashes when used with webkit 1.1.3
84         * plug-ins/help-browser/help-browser.c (run): call g_thread_init().
85         Seems to be needed with newer versions of webkit.
87 2009-03-28  Michael Natterer  <mitch@gimp.org>
89         Bug 566575 – Warning when creating sample point and releasing Ctrl
90         key too late
92         * app/display/gimpdisplayshell-callbacks.c
93         (gimp_display_shell_ruler_button_press): call
94         gimp_display_shell_update_focus() after changing the tool so the
95         new tool has the right state.
97 2009-03-28  Michael Natterer  <mitch@gimp.org>
99         Bug 555025 – Action GEGL box widgets weirdness
101         Must not set GDK_HINT_MIN_SIZE if we don't actually set a minimum
102         size, or the window will be shrinkable to zero and it won't
103         expand automatically when its contents' requisition grows.
105         * app/widgets/gimpdialogfactory.[ch]: add hackish API
106         gimp_dialog_factory_set,get_has_min_size() because GTK+ itself
107         has no API for querying a window's GdkWindowHints.
109         (gimp_dialog_factory_set_user_pos): set GDK_HINT_MIN_SIZE only if
110         the window was being marked as having a minimum size using above
111         new API.
113         * app/widgets/gimptoolbox.c (gimp_toolbox_set_geometry)
114         * app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
115         call gimp_dialog_factory_set_has_min_size (window, TRUE).
117 2009-03-27  Sven Neumann  <sven@gimp.org>
119         Bug 576909 – "_Paste" and "_Paste as" have the same mnemonic
121         * app/actions/edit-actions.c: resolved colliding mnemonics.
123 2009-03-23  Michael Natterer  <mitch@gimp.org>
125         * app/widgets/gimpscalebutton.c: use GtkScaleButton's accessors.
127 2009-03-23  Sven Neumann  <sven@gimp.org>
129         Dropped support for the GnomeVFS file-uri backend. Recent GNOME
130         releases use GIO/GVfs and libgnomeui will also go away soon.
132         * INSTALL 
133         * configure.in: removed checks for libgnomeui and libgnome-keyring.
135         * plug-ins/file-uri/Makefile.am
136         * plug-ins/file-uri/uri-backend-gnomevfs.c: removed.
138 2009-03-23  Michael Natterer  <mitch@gimp.org>
140         * app/widgets/gimpgradienteditor.c: use GtkAdjustment's accessors.
142 2009-03-23  Michael Natterer  <mitch@gimp.org>
144         * app/widgets/gimpdnd.c (gimp_dnd_data_drop_handle): use
145         GtkSelectionData's accessors.
147 2009-03-23  Michael Natterer  <mitch@gimp.org>
149         * app/widgets/gimpcontainertreeview-dnd.c: use GtkAdjustment's
150         accessors.
152 2009-03-23  Michael Natterer  <mitch@gimp.org>
154         * app/widgets/gimpcontainergridview.c: use GtkAdjustment's accessors.
156 2009-03-23  Michael Natterer  <mitch@gimp.org>
158         * app/widgets/gimpcontainerbox.c: use accessors instead of
159         scrolled_window->vscrollbar.
161 2009-03-23  Michael Natterer  <mitch@gimp.org>
163         * app/widgets/gimpcombotagentry.c: use accessors instead of
164         widget->window and widget->style.
166 2009-03-22  Michael Natterer  <mitch@gimp.org>
168         * libgimp/gimpzoompreview.c: use GtkAdjustment's accessors.
170         * libgimp/gimpprocbrowserdialog.c: use accessors instead of
171         dialog->vbox and widget->parent.
173 2009-03-22  Sven Neumann  <sven@gimp.org>
175         * app/batch.c (batch_run_cmd): added a newline to the output in
176         the error case.
178         * plug-ins/script-fu/script-fu-eval.c (script_fu_eval_run):
179         instead of disabling all output in batch mode, use the usual
180         routine for error handling and pass the error string along with
181         the return values.
183 2009-03-22  Michael Natterer  <mitch@gimp.org>
185         * libgimpwidgets/gimpscrolledpreview.c: use GtkAdjustment's
186         accessors.
188 2009-03-22  Michael Natterer  <mitch@gimp.org>
190         * libgimpwidgets/gimpscaleentry.c: use GtkAdjustment's accessors.
192 2009-03-22  Michael Natterer  <mitch@gimp.org>
194         * libgimpwidgets/gimpquerybox.c (create_query_box): use
195         gtk_dialog_get_content_area() instead of dialog->vbox.
197 2009-03-22  Michael Natterer  <mitch@gimp.org>
199         * app/widgets/gimptagentry.c: use "list" as variable name for
200         iterators to be consistent with the rest of GIMP; various code
201         cleanups.
203 2009-03-22  Michael Natterer  <mitch@gimp.org>
205         * modules/color-selector-wheel.c: remove GTK+ version check and
206         related evilness because we depend on a proper GTK+ version now.
208 2009-03-22  Michael Natterer  <mitch@gimp.org>
210         * app/widgets/Makefile.am
211         * app/widgets/gtkscalebutton.[ch]: remove this evil hack.
213         * app/widgets/gimpscalebutton.[ch]
214         * app/widgets/gimppropwidgets.c: minor adjustments so the widget
215         from GTK+ gets used.
217 2009-03-22  Michael Natterer  <mitch@gimp.org>
219         * app/widgets/gimpblobeditor.c
220         * app/widgets/gimpbrushselect.c
221         * app/widgets/gimpcolorbar.c
222         * app/widgets/gimpcolordialog.c
223         * app/widgets/gimpcolorframe.c
224         * app/widgets/gimpcontainergridview.c
225         * app/widgets/gimpcontainerpopup.c
226         * app/widgets/gimpcontainertreeview.c
227         * app/widgets/gimpcontrollereditor.c
228         * app/widgets/gimpcontrollerlist.c
229         * app/widgets/gimpcursor.c
230         * app/widgets/gimpcurveview.c
231         * app/widgets/gimpdasheditor.c
232         * app/widgets/gimpdialogfactory.c
233         * app/widgets/gimpdnd-xds.c
234         * app/widgets/gimpdockable.c
235         * app/widgets/gimperrordialog.c
236         * app/widgets/gimpfgbgeditor.c
237         * app/widgets/gimpfgbgview.c
238         * app/widgets/gimpfiledialog.c
239         * app/widgets/gimpfontselect.c
240         * app/widgets/gimpgradienteditor.c
241         * app/widgets/gimpgradientselect.c
242         * app/widgets/gimphandlebar.c
243         * app/widgets/gimphistogrambox.c
244         * app/widgets/gimphistogramview.c
245         * app/widgets/gimpmessagedialog.c
246         * app/widgets/gimpnavigationview.c
247         * app/widgets/gimppaletteselect.c
248         * app/widgets/gimppaletteview.c
249         * app/widgets/gimppatternselect.c
250         * app/widgets/gimpprogressbox.c
251         * app/widgets/gimpprogressdialog.c
252         * app/widgets/gimpscalebutton.c
253         * app/widgets/gimpselectiondata.c
254         * app/widgets/gimpsessioninfo.c
255         * app/widgets/gimpsettingsbox.c
256         * app/widgets/gimpstrokeeditor.c
257         * app/widgets/gimptexteditor.c
258         * app/widgets/gimptoolbox.c
259         * app/widgets/gimpuimanager.c
260         * app/widgets/gimpview-popup.c
261         * app/widgets/gimpview.c
262         * app/widgets/gimpviewabledialog.c
263         * app/widgets/gimpwidgets-utils.c: use accessors for various
264         members of GTK+ structures that don't exist any longer when
265         GSEAL_ENABLE is defined.
267 2009-03-22  Michael Natterer  <mitch@gimp.org>
269         * app/display/gimpcanvas.c
270         * app/display/gimpdisplayshell.c: use accessors for various
271         members of GTK+ structures that don't exist any longer when
272         GSEAL_ENABLE is defined.
274 2009-03-22  Michael Natterer  <mitch@gimp.org>
276         * libgimp/gimpbrushselectbutton.c
277         * libgimp/gimpexport.c
278         * libgimp/gimpfontselectbutton.c
279         * libgimp/gimpgradientselectbutton.c
280         * libgimp/gimpimagecombobox.c
281         * libgimp/gimpitemcombobox.c
282         * libgimp/gimppaletteselectbutton.c
283         * libgimp/gimppatternselectbutton.c
284         * libgimp/gimpprogressbar.c
285         * libgimp/gimpui.c
286         * libgimp/gimpzoompreview.c
287         * tools/test-clipboard.c: use accessors for various members of
288         GTK+ structures that don't exist any longer when GSEAL_ENABLE is
289         defined.
291 2009-03-22  Michael Natterer  <mitch@gimp.org>
293         * libgimpwidgets/gimpchainbutton.c
294         * libgimpwidgets/gimpcolorarea.c
295         * libgimpwidgets/gimpcolorbutton.c
296         * libgimpwidgets/gimpcolorscale.c
297         * libgimpwidgets/gimpcolorselect.c
298         * libgimpwidgets/gimpdialog.c
299         * libgimpwidgets/gimphelpui.c
300         * libgimpwidgets/gimpmemsizeentry.c
301         * libgimpwidgets/gimpoffsetarea.c
302         * libgimpwidgets/gimppickbutton.c
303         * libgimpwidgets/gimppixmap.c
304         * libgimpwidgets/gimppreview.c
305         * libgimpwidgets/gimppreviewarea.c
306         * libgimpwidgets/gimpruler.c
307         * libgimpwidgets/gimpscrolledpreview.c
308         * libgimpwidgets/gimpwidgets.c: use accessors for various members
309         of GTK+ structures that don't exist any longer when GSEAL_ENABLE
310         is defined.
312 2009-03-19  Sven Neumann  <sven@gimp.org>
314         * app/actions/context-actions.c (context_actions): 
315         * app/paint/gimpinkoptions.c: changed "Aspect" to "Aspect Ratio".
317 2009-03-19  Sven Neumann  <sven@gimp.org>
319         Bug 471681 – Keyboard shortcuts for brush size/params need feedback
321         * app/core/gimpbrushgenerated.c
322         * app/core/gimpcontext.c
323         * app/paint/gimppaintoptions.c: applied patch from Stephen G. that
324         marks some strings for translation.
326 2009-03-17  Sven Neumann  <sven@gimp.org>
328         * libgimpthumb/gimpthumbnail.c (gimp_thumbnail_save): Drop Windows
329         code to remove target file before renaming. g_rename() nowadays
330         takes care of allowing replacing existing files on Windows.
332 2009-03-17  Sven Neumann  <sven@gimp.org>
334         * configure.in: check for fsync().
336         * libgimpconfig/gimpconfigwriter.c (gimp_config_writer_close_file):
337         fsync temporary file if destination file exists.
339 2009-03-17  Tor Lillqvist  <tml@iki.fi>
341         * libgimpconfig/gimpconfigwriter.c
342         (gimp_config_writer_close_file): Drop Windows code to remove
343         target file before renaming. g_rename() nowadays takes care of
344         allowing replacing existing files on Windows.
346 2009-03-16  Sven Neumann  <sven@gimp.org>
348         * configure.in: bumped GLib version for deprecated symbols.
350 2009-03-16  Sven Neumann  <sven@gimp.org>
352         * app/core/gimpbrush-transform.c (gimp_brush_real_transform_mask):
353         gimp_brush_real_transform_pixmap): don't mix variable declarations
354         and code. Added missing const qualifiers.
356         * plug-ins/common/ripple.c (ripple_horizontal): removed stray
357         semicolon.
359 2009-03-16  Sven Neumann  <sven@gimp.org>
361         * app/display/gimpdisplayshell-close.c
362         (gimp_display_shell_close_dialog): adapt button labels to the
363         latest GNOME HIG.
365 2009-03-16  Tor Lillqvist  <tml@iki.fi>
367         * app/version.c (gimp_show_library_version): The build-time and
368         run-time versions were swapped in the output.
370 2009-03-14  Sven Neumann  <sven@gimp.org>
372         Bug 566443 – diagonal method guidelines for crop tool
374         * app/tools/tools-enums.[ch]
375         * app/tools/gimprectangletool.c (gimp_rectangle_tool_draw_guides):
376         applied a slightly modified patch from Lukasz Hladowski, based on
377         a patch from Tim Jedlicka. This adds diagonal guidelines as
378         described by Edwin Westhoff to the rectangle tools.
380 2009-03-13  Sven Neumann  <sven@gimp.org>
382         Bug 574427 – Stroke path with paint tool error
384         * app/dialogs/stroke-dialog.c: construct the combo-box that
385         selects the paint-info object with the GimpStrokeOptions as
386         context. Makes the code much easier and fixes bug #574427.
388 2009-03-13  Sven Neumann  <sven@gimp.org>
390         Bug 571117 – lcms plug-in crashes on broken profile
392         * plug-ins/common/lcms.c: don't abort on lcms errors.
394 2009-03-13  Sven Neumann  <sven@gimp.org>
396         Bug 575006 – Add preferences for snapping
398         * app/config/gimpdisplayconfig.[ch]
399         * app/config/gimprc-blurbs.h
400         * app/display/gimpdisplayshell.c: applied part of a patch from
401         Akkana Peck. This adds gimprc properties for the default values
402         used for snapping in new image windows. It also changes the
403         default value for "Snap to Canvas Edges" to TRUE. Let's test this
404         for a while...
406 2009-03-12  Sven Neumann  <sven@gimp.org>
408         Bug 573695 – 1-bit white background saved as PBM becomes all black
410         * plug-ins/common/file-pnm.c: look at the colormap and test which
411         of the two colors is black and which is white.
413 2009-03-12  Sven Neumann  <sven@gimp.org>
415         Bug 573070 – crash when working with 1x3200 pixel image
417         * app/display/gimpdisplayshell.c (gimp_display_shell_scale_changed):
418         make sure that x_src_dec and y_src_dec never become zero.
420 2009-03-11  Sven Neumann  <sven@gimp.org>
422         * app/core/gimpscanconvert.c (gimp_scan_convert_render_full):
423         formatting.
425 2009-03-11  Sven Neumann  <sven@gimp.org>
427         * plug-ins/file-jpeg/jpeg.h (PLUG_IN_BINARY): fixed typo.
429 2009-03-09  Alexia Death  <alexiadeath@gmail.com>
431         * app/paint/gimpsmudge.c
432         (gimp_smudge_class_init): enable scaling for smudge tool
433         (gimp_smudge_motion): correct comment.
435 2009-03-08  Sven Neumann  <sven@gimp.org>
437         * tools/pdbgen/pdb/image.pdb (image_add_channel): corrected
438         documentation of the position parameter.
440         * app/pdb/image-cmds.c
441         * libgimp/gimpimage_pdb.c: regenerated.
443 2009-03-08  Sven Neumann  <sven@gimp.org>
445         * app/widgets/gimpcontainerview.c
446         (gimp_container_view_item_selected): formatting.
448 2009-03-07  Sven Neumann  <sven@gimp.org>
450         * app/dialogs/stroke-dialog.c (stroke_dialog_response): disconnect
451         from the "paint-info" combo-box before destroying the dialog. The
452         GimpContainerView emits "select-item" from its dispose handler.
454 2009-03-07  Sven Neumann  <sven@gimp.org>
456         * app/widgets/gimpcontainercombobox.c
457         (gimp_container_combo_box_changed): do not attempt to chain up in
458         a signal callback.
460 2009-03-07  Sven Neumann  <sven@gimp.org>
462         * plug-ins/file-jpeg/jpeg-load.c (load_image)
463         * plug-ins/file-jpeg/jpeg-save.c (save_image): need to finish the
464         progress update.
466 2009-03-05  Sven Neumann  <sven@gimp.org>
468         * app/widgets/gimpuimanager.c: formatting.
470 2009-03-05  Michael Natterer  <mitch@gimp.org>
472         * plug-ins/common/blinds.c: use enum GimpOrientationType instead
473         of local #defines for HORIZONTAL and VERTICAL with identical
474         values. Some indentation and formatting fixups.
476 2009-03-05  Sven Neumann  <sven@gimp.org>
478         * app/widgets/gimpviewrendererimagefile.c
479         (gimp_view_renderer_imagefile_get_icon)
480         * plug-ins/print/print.c (query): removed GTK+ version checks that
481         have become obsolete.
483 2009-03-05  Sven Neumann  <sven@gimp.org>
485         * plug-ins/file-uri/Makefile.am
486         * plug-ins/file-uri/gimpmountoperation.[ch]: removed these files.
488         * plug-ins/file-uri/uri-backend-gvfs.c: use GtkMountOperation
489         instead of our copy of this widget.
491 2009-03-05  Sven Neumann  <sven@gimp.org>
493         * configure.in: depend on GTK+ >= 2.14.4.
495         * INSTALL: changed accordingly.
497 2009-03-05  Sven Neumann  <sven@gimp.org>
499         Bug 573695 – 1-bit white background saved as PBM becomes all black
501         * plug-ins/common/file-pnm.c: need to handle the special case that
502         the image colormap has only one entry.
504 2009-03-04  Sven Neumann  <sven@gimp.org>
506         Bug 574149 – Can't get name/filename of files loaded from URI
508         * tools/pdbgen/pdb/image.pdb: added new procedure gimp-image-get-uri.
510         * app/pdb/image-cmds.c
511         * libgimp/gimpimage_pdb.c: regenerated.
513         * plug-ins/pygimp/pygimp-image.c: wrap the new procedure into an
514         Image attribute.
516 2009-03-04  Sven Neumann  <sven@gimp.org>
518         * tools/pdbgen/pdb/image.pdb (image_get_filename): improved docs
519         for gimp-image-get-filename.
521         * app/pdb/image-cmds.c
522         * libgimp/gimpimage_pdb.c: regenerated.
524 2009-03-04  Sven Neumann  <sven@gimp.org>
526         Bug 574149 – Can't get name/filename of files loaded from URI
528         * tools/pdbgen/pdb/image.pdb (image_get_name_invoker): use
529         gimp_image_get_display_name().
531         * app/pdb/image-cmds.c
532         * libgimp/gimpimage_pdb.c: regenerated.
534 2009-03-03  Sven Neumann  <sven@gimp.org>
536         Bug 520078 – Rotate brushes
538         * app/core/gimpbrush-transform.c: applied patch from Tal that
539         improves bilinear interpolation for the brush transformations and
540         fixes a bug in the calculation of the transformation matrix.
542 2009-03-03  Michael Natterer  <mitch@gimp.org>
544         * app/core/gimpfilteredcontainer.[ch]
545         * app/core/gimptag.c
546         * app/core/gimptagcache.[ch]: codingstylize. Call iterator GList*
547         variables simply "list" just as we call integers simply "i".
549 2009-03-02  Michael Natterer  <mitch@gimp.org>
551         * app/widgets/gimptagentry.c (gimp_tag_entry_expose): use
552         gtk_paint_layout() instead of fiddling with a PangoRenderer
553         manually.
555 2009-03-02  Michael Natterer  <mitch@gimp.org>
557         * app/widgets/gimptagentry.c (gimp_tag_entry_key_press): allow to
558         leave the widget with Ctrl+Tab. Handle GDK_KP_Tab and
559         GDK_ISO_Left_Tab.
560         (gimp_tag_entry_expose): 
562 2009-03-02  Michael Natterer  <mitch@gimp.org>
564         * app/core/gimptagged.[ch]: add gimp_tagged_set_tags() which
565         takes a GList of tags.
567         * app/widgets/gimptagentry.c (gimp_tag_entry_assign_tags): use it.
569         (gimp_tag_entry_item_set_tags): remove.
571 2009-03-02  Michael Natterer  <mitch@gimp.org>
573         * app/widgets/gimpcombotagentry.c
574         * app/widgets/gimptagentry.c: indentation, spacing, some general
575         formatting cleanup.
577         (gimp_tag_entry_expose): don't leak the PangoAttrList.
579 2009-03-01  Michael Natterer  <mitch@gimp.org>
581         * plug-ins/common/ripple.c: use enum GimpOrientationType instead
582         of local #defines for HORIZONTAL and VERTICAL with identical
583         values. Some indentation and formatting fixups.
585 2009-02-28  Sven Neumann  <sven@gimp.org>
587         * libgimp/gimpregioniterator.c: update the progress less often.
589         * plug-ins/common/ripple.c: formatting.
591 2009-02-28  Sven Neumann  <sven@gimp.org>
593         * plug-ins/common/file-svg.c: reverted accidental commit.
595 2009-02-28  Sven Neumann  <sven@gimp.org>
597         Bug 573488 – Small bug in Filter>Distorts>Ripple
599         * plug-ins/common/ripple.c (ripple_vertical): fixed bug spotted in
600         SMEAR mode, pointed out by Andreas Groth.
602 2009-02-28  Sven Neumann  <sven@gimp.org>
604         Bug 520078 – Rotate brushes
606         * app/core/gimpbrush-transform.c: applied patch from Tal that
607         implements bilinear interpolation for the brush transformations.
609 2009-02-28  Martin Nordholts  <martinn@svn.gnome.org>
611         * app/actions/debug-commands.c: Properly show name of image graph
612         source image
614 2009-02-26  Sven Neumann  <sven@gimp.org>
616         * app/gui/gui.c (gui_restore_callback): connect to changes of the
617         "user-manual-online" gimprc property and kill the gimp-help
618         plug-in as it caches the location of the help pages.
620         * app/widgets/gimphelp.[ch]: added gimp_help_user_manual_changed()
621         for this purpose.
623 2009-02-25  Sven Neumann  <sven@gimp.org>
625         * plug-ins/common/file-pcx.c: sprinkled with const qualifiers.
627 2009-02-23  Martin Nordholts  <martinn@svn.gnome.org>
629         Add a Show Image Graph item to the Debug menu that creates a new image
630         showing the GEGL graph for the image. Would benefit from an enhanced
631         gegl:introspect op with a clearer graph, but still quite interesting
632         in its current shape.
634         * app/actions/debug-actions.c
635         * app/actions/debug-commands.[ch]
636         * menus/image-menu.xml.in
638 2009-02-23  Martin Nordholts  <martinn@svn.gnome.org>
640         * app/gegl/gimp-gegl-utils.[ch]: Add a GEGL utility function
641         gimp_buffer_to_tiles()
643 2009-02-23  Sven Neumann  <sven@gimp.org>
645         * plug-ins/pygimp/gimpfu.py (register): warn if a script uses the
646         decprecated way of registering its menu location.
648 2009-02-22  Marco Ciampa  <ciampix@libero.it>
650         * app/actions/image-actions.c: fixed duplicated keyboard shortcut
652 2009-02-21  Martin Nordholts  <martinn@svn.gnome.org>
654         Rename gegl-types.h to gimp-gegl-types.h as gegl-types.h invades
655         on the GEGL namespace
657         * app/core/core-types.h
658         * app/gegl/Makefile.am
659         * app/gegl/gimp-gegl-types.h   (renamed from app/gegl/gegl-types.h)
660         * app/gegl/gimp-gegl-utils.c
661         * app/gegl/gimp-gegl.c
662         * app/gegl/gimpbrightnesscontrastconfig.c
663         * app/gegl/gimpcolorbalanceconfig.c
664         * app/gegl/gimpcolorizeconfig.c
665         * app/gegl/gimpcurvesconfig.c
666         * app/gegl/gimpdesaturateconfig.c
667         * app/gegl/gimphuesaturationconfig.c
668         * app/gegl/gimplevelsconfig.c
669         * app/gegl/gimpoperationcolorbalance.c
670         * app/gegl/gimpoperationcolorize.c
671         * app/gegl/gimpoperationcurves.c
672         * app/gegl/gimpoperationdesaturate.c
673         * app/gegl/gimpoperationhuesaturation.c
674         * app/gegl/gimpoperationlevels.c
675         * app/gegl/gimpoperationpointfilter.c
676         * app/gegl/gimpoperationpointlayermode.c
677         * app/gegl/gimpoperationposterize.c
678         * app/gegl/gimpoperationthreshold.c
679         * app/gegl/gimpoperationtilesink.c
680         * app/gegl/gimpoperationtilesource.c
681         * app/gegl/gimpposterizeconfig.c
682         * app/gegl/gimpthresholdconfig.c
684 2009-02-20  Michael Natterer  <mitch@gimp.org>
686         Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1
688         * app/display/gimpstatusbar.c
689         (gimp_statusbar_push_coords)
690         (gimp_statusbar_update_cursor): fix braino for
691         GIMP_CURSOR_PRECISION_PIXEL_CENTER: going to the pixel's
692         center doesn't need any rounding, it simply needs clipping
693         the coordinates' fractional parts, gah...
695         Review all tools' cursor precision:
697         * app/tools/gimpblendtool.c (gimp_blend_tool_init): set cursor
698         precision to SUBPIXEL.
700         * app/tools/gimptexttool.c (gimp_text_tool_init)
701         * app/tools/gimpmeasuretool.c (gimp_measure_tool_init)
702         * app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
703         set cursor precision to PIXEL_BORDER.
705 2009-02-19  Michael Natterer  <mitch@gimp.org>
707         * libgimpthumb/gimpthumbnail.c (gimp_thumbnail_save): no need to
708         g_strdup_printf() a simple string, use g_strdup() instead.
710 2009-02-18  Sven Neumann  <sven@gimp.org>
712         Bug 99457 – Support for dynamics on tilt
714         * app/tools/gimppaintoptions-gui.c
715         * app/paint/gimppaintoptions.[ch]: applied patch from Alexia Death
716         that allows to map tilt to the dynamic brush parameters.
718 2009-02-17  Aurimas Juška  <aurisj@svn.gnome.org>
720         * data/tags/gimp-tags-default.xml.in: default to empty tag set.
721         * data/tags/gimp-tags.dtd: changed to allow resources without tags
722         assigned.
724 2009-02-17  Aurimas Juška  <aurisj@svn.gnome.org>
726         * po-tags/*: got rid of extra message domain.
728         * configure.in:
729         * data/tags/Makefile.am: changed accordingly.
731 2009-02-16  Aurimas Juška  <aurisj@svn.gnome.org>
733         * app/core/Makefile.am:
734         * app/core/gimp-tags.c:
735         * app/core/gimp-tags.h:
736         * app/core/gimp-user-install.c (user_install_create_files),
737         (user_install_migrate_files):
738         * configure.in:
739         * data/Makefile.am:
740         * data/tags/Makefile.am:
741         * data/tags/gimp-tags.dtd: added default tag set, support for
742           translating tags into various languages, user installation
743           and migration procedures.
745         * data/tags/gimp-tags-default.xml.in: initial tag set for testing
746         purposes. This has to be replaced with something else before
747         translators can start their work.
749 2009-02-16  Aurimas Juška  <aurisj@svn.gnome.org>
751         * app/widgets/gimptagentry.c (gimp_tag_entry_set_tag_string):
752         fixed popup list (tag cloud) toggling by querying tags immediately
753         instead of adding idle handler.
755 2009-02-16  Aurimas Juška  <aurisj@svn.gnome.org>
757         * app/widgets/gimptagentry.c (gimp_tag_entry_commit_tags),
758         (gimp_tag_entry_strip_extra_whitespace): don't cause tag query
759         after focus-out. Fixes annoying bug.
761 2009-02-14  Sven Neumann  <sven@gimp.org>
763         Bug 99457 – Support for dynamics on tilt
765         * app/core/gimpbrush.[ch]
766         * app/core/gimpbrushgenerated.c
767         * app/core/gimpbrush-transform.[ch]
768         * app/paint/gimpbrushcore.c
769         * app/paint/gimpsmudge.c: applied patch from Alexia Death,
770         separates brush scaling for x and y.
772 2009-02-14  Martin Nordholts  <martinn@svn.gnome.org>
774         * app/core/gimpdrawable.c: Remove
775         gimp_drawable_update_tile_source_node(), it was not useful.
777 2009-02-14  Sven Neumann  <sven@gimp.org>
779         * app/core/gimpcoords-interpolate.c
780         * app/display/gimpdisplayshell-coords.c: applied patch from Alexia
781         Death that fixes issues with the new stroke direction code
782         (bug #520078).
784 2009-02-14  Sven Neumann  <sven@gimp.org>
786         Bug 472644 – Rotate with clipping crops the whole layer
788         * app/core/gimp-transform-resize.c: applied patch as attached to
789         bug #472644. Supposedly fixes the problem of the disappearing
790         image.
792 2009-02-13  Sven Neumann  <sven@gimp.org>
794         Bug 571628 – Scaling image to 25% turn background from white to grey
796         * app/paint-funcs/scale-region.c (pixel_average2): fixed right-shift
797         for GRAYA pixels.
799 2009-02-13  Michael Natterer  <mitch@gimp.org>
801         * app/core/gimpdrawable.c (gimp_drawable_sync_source_node): need
802         to rip the floating selection's source node out of its layer's
803         graph before using it in the floating selection sub-graph, and
804         need to plug it back there when it's not a floating selection any
805         longer.
807         Unrelated:
809         Also introduce a "fs_crop_node" that makes sure the floating
810         selection stops at the drawable's boundaries.
812         (gimp_drawable_visibility_changed): use item->node instead of
813         gimp_item_get_node() because the latter creates the node on
814         demand.
816         * app/core/gimpdrawable-private.h: add fs_crop_node member.
818 2009-02-12  Michael Natterer  <mitch@gimp.org>
820         * plug-ins/file-faxg3/Makefile.am
821         * plug-ins/help/Makefile.am
822         * plug-ins/metadata/Makefile.am: add $(libgimpconfig) to LDADD
823         where it was missing. Libgimp pulls in libgimpconfig and these
824         plug-ins were linking against the installed libgimpconfig under
825         some #$&%*#%&%$& .la file circumstances.
827 2009-02-12  Michael Natterer  <mitch@gimp.org>
829         Bug 567840 – GIMP's GtkScaleButton conflicts with GTK's
831         * app/widgets/gtkscalebutton.c: rename the type to
832         "GimpGtkScaleButton" so we don't crash if the real
833         GtkScaleButton type is registered too.
835 2009-02-11  Sven Neumann  <sven@gimp.org>
837         * app/core/gimpcoords-interpolate.c
838         (gimp_coords_interpolate_catmull): applied patch from Alexia Death
839         that fixes a bug that was introduced by the last commit.
841 2009-02-10  Sven Neumann  <sven@gimp.org>
843         * app/core/gimpcoords-interpolate.c
844         * app/core/gimpbrush-transform.c
845         * app/paint/gimppaintoptions.c
846         * app/display/gimpdisplayshell-coords.c: applied patch from Alexia
847         Death that fixes the direction of brush rotation (bug #520078).
849 2009-02-10  Sven Neumann  <sven@gimp.org>
851         * app/display/gimpdisplayshell-coords.c
852         (gimp_display_shell_eval_event): applied patch from Alexia Death
853         that introduces smoothing for the stroke direction (bug #520078).
855 2009-02-09  Sven Neumann  <sven@gimp.org>
857         * app/actions/tools-commands.c (tools_paint_brush_angle_cmd_callback):
858         applied patch from Alexia Death that changes the steppings of the
859         newly introduced brush rotation actions as suggested in bug #520078.
861 2009-02-09  Sven Neumann  <sven@gimp.org>
863         * app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): seems
864         pointless to include the GIMP-specific GEGL operations as they
865         can't be reasonably controlled by the generic GEGL tool user
866         interface.
868 2009-02-09  Michael Natterer  <mitch@gimp.org>
870         Bug 569470 – pls, introduce an option 'how many latest presets for
871         color curves should be saved'
873         * app/config/gimprc-blurbs.h
874         * app/config/gimpguiconfig.[ch]: add integer property
875         "image-map-tool-max-recent" which defaults to ten. Adding a GUI
876         for this IMO needs discussion, the value of ten seems appropriate.
878         * app/widgets/gimpsettingsbox.[ch]
879         (gimp_settings_box_add_current): add "gint max_recent" parameter
880         and limit the number of recent settings to this number.
882         * app/tools/gimpimagemaptool.c (gimp_image_map_tool_response):
883         pass the new settings property to above function.
885 2009-02-08  Michael Natterer  <mitch@gimp.org>
887         * app/tools/gimpcurvestool.c (gimp_curves_tool_key_press): if the
888         curve view didn't handle the key press, chain up so the normal
889         GimpImageMapTool keys for reset/cancel/ok works.
891 2009-02-08  Martin Nordholts  <martinn@svn.gnome.org>
893         * app/tools/gimppaintoptions-gui.c: Fix stack overwrites in
894         gimp_paint_options_gui()
896 2009-02-08  Michael Natterer  <mitch@gimp.org>
898         Bug 520078 – Rotate brushes
900         Applied a slightly modified patch from Alexia Death:
902         * app/core/core-types.h (struct GimpCoords): add "direction" member.
904         * app/core/gimpcoords.c: take direction into account in mix(),
905         scalarprod(), length_squared(), manhattan_dist() and equal().
907         * app/core/gimpcoords-interpolate.c
908         (gimp_coords_interpolate_catmull): same here.
909         * app/display/gimpdisplayshell-coords.c
911         (gimp_display_shell_eval_event): same here.
913         * app/paint/gimppaintoptions.[ch]: add properties for direction
914         dynamics and adapt dynamics mixing accordingly.
916         * app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
917         "interpolate" direction too (in fact, just copy it from
918         last_coords since it doesn't change along a straight line).
920         * app/paint/gimppaintcore-stroke.c
921         (gimp_paint_core_stroke_emulate_dynamics): emulate direction too.
923         * app/tools/gimppaintoptions-gui.c: add GUI for direction dynamics.
925 2009-02-07  Michael Natterer  <mitch@gimp.org>
927         Simplify floating selection handling a bit more:
929         * app/core/gimpdrawable.c
930         (gimp_drawable_attach_floating_sel)
931         (gimp_drawable_detach_floating_sel): call
932         gimp_image_set_floating_selection() from these functions.
934         * app/core/gimpfloatingselundo.c (gimp_floating_sel_undo_pop)
935         * app/core/gimpimage.c (gimp_image_add,remove_layer)
936         * app/core/gimplayer-floating-sel.c (floating_sel_to_layer): don't
937         call it here because we already call above functions.
939 2009-02-07  Michael Natterer  <mitch@gimp.org>
941         * app/core/gimpdrawable.c
942         (gimp_drawable_attach_floating_sel)
943         (gimp_drawable_detach_floating_sel): call
944         gimp_drawable_invalidate_boundary(floating_sel). Fixes missing
945         selection update after turning a floating selection into a
946         layer. It's called redundantly now when adding or deleting a
947         floating selection, but that doesn't hurt much.
949         * app/core/gimpfloatingselundo.c (gimp_floating_sel_undo_pop):
950         don't call it here because we already call above functions.
952 2009-02-07  Martin Nordholts  <martinn@svn.gnome.org>
954         * app/core/gimpimagemap.c: Move undo tiles updating into a helper
955         function gimp_image_map_update_undo_tiles() so the logic of
956         gimp_image_map_apply() becomes clearer.
958 2009-02-07  Martin Nordholts  <martinn@svn.gnome.org>
960         * app/core/gimpimagemap.c: Introduce and use a local helper
961         function gimp_image_map_kill_any_idle_processors() to get a rid of
962         some code duplication.
964 2009-02-07  Martin Nordholts  <martinn@svn.gnome.org>
966         * app/core/gimpimagemap.c: Introduce and use a local helper
967         function gimp_image_map_cancel_any_idle_jobs() to get a rid of
968         some code duplication.
970 2009-02-07  Martin Nordholts  <martinn@svn.gnome.org>
972         * app/core/gimpimagemap.c: Fix misindented return statement.
974 2009-02-06  Sven Neumann  <sven@gimp.org>
976         * app/actions/tools-commands.c
977         (tools_paint_brush_angle_cmd_callback): let the brush angle wrap.
979 2009-02-06  Sven Neumann  <sven@gimp.org>
981         * app/actions/tools-commands.c:
983 2009-02-06  Sven Neumann  <sven@gimp.org>
985         * app/actions/actions.c (action_select_property): mark strings for
986         translation and add translator comments for them.
988 2009-02-06  Sven Neumann  <sven@gimp.org>
990         * app/actions/actions.c: prototype action_message() with format
991         function attribute and move it to the bottom of the file.
993 2009-02-06  Sven Neumann  <sven@gimp.org>
995         * app/actions/tools-commands.c
996         (tools_paint_brush_angle_cmd_callback): fixed parameters passed to
997         action_select_property().
999 2009-02-06  Michael Natterer  <mitch@gimp.org>
1001         Bug 471681 – Keyboard shortcuts for brush size/params need
1002         feedback
1004         Applied patch from Stephen G. and Sven Neumann which addresses
1005         above bug:
1007         * app/actions/actions.[ch]: add new function action_message()
1008         which pushes a temp message to a display's statusbar.h
1010         (action_select_property): add GimpDisplay* parameter and call
1011         action_message() for int and double property changes.
1013         * app/actions/tools-commands.c: pass the display to
1014         action_select_property().
1016         * app/paint/gimpinkoptions.c: add some blurbs to make it work
1017         for the ink blob properties.
1019 2009-02-05  Sven Neumann  <sven@gimp.org>
1021         Bug 520078 – Rotate brushes
1023         Applied patch from Alexia Death:
1025         * app/core/gimpbrush.[ch]
1026         * app/core/gimpbrushgenerated.c
1027         * app/core/gimpbrush-transform.[ch]: affine transformations for
1028         brushes. So far only scaling and rotation is supported. The
1029         transformation is done using nearest-neighbour. This is a
1030         regression and we need to add back interpolation before the next
1031         release.
1033         * app/paint/gimpsmudge.c
1034         * app/paint/gimppaintoptions.[ch]
1035         * app/paint/gimpbrushcore.[ch]: allow to control the brush
1036         rotation angle.
1038         * app/tools/gimppaintoptions-gui.c
1039         * app/tools/gimpbrushtool.c: added UI for controlling the
1040         brush rotation angle.
1042         * app/actions/tools-actions.c
1043         * app/actions/tools-commands.[ch]: add actions for controlling the
1044         brush rotation angle.
1046 2009-02-05  Michael Natterer  <mitch@gimp.org>
1048         * app/core/gimpdrawable.h
1049         * app/core/gimpdrawable-preview.c: move the preview related
1050         members to the private struct.
1052         * app/core/gimpdrawable.c
1053         * app/core/gimpdrawable-private.h
1054         * app/core/gimpselection.c: changed accordingly.
1056 2009-02-05  Michael Natterer  <mitch@gimp.org>
1058         * app/core/core-types.h: sort the types by inheritence again, but
1059         keep the alphabetic ordering within one level.
1061 2009-02-04  Michael Natterer  <mitch@gimp.org>
1063         * app/core/Makefile.am
1064         * app/core/gimpdrawable-private.h: new file which contains struct
1065         GimpDrawablePrivate. Move some stuff from GimpDrawable here.
1067         * app/core/gimpdrawable.[ch]
1068         * app/core/gimpdrawable-shadow.c: changed accordingly.
1070         * app/text/gimptextlayer-xcf.c
1071         * app/xcf/xcf-load.c: include the private struct for these ugly
1072         corner cases.
1074 2009-02-02  Sven Neumann  <sven@gimp.org>
1076         * app/display/gimpdisplayshell-title.c: reverted last change. It's
1077         not helpful to use different strings for the same information and
1078         space is not crucial in the window title.
1080 2009-02-01  Martin Nordholts  <martinn@svn.gnome.org>
1082         * app/display/gimpdisplayshell-title.c: Use the dedicated image
1083         type strings for the image window title, the enum value strings
1084         are too verbose.
1086 2009-02-01  Martin Nordholts  <martinn@svn.gnome.org>
1088         * app/core/gimpdrawable.c: Collect logic to update the
1089         tile_source_node in a new helper function
1090         gimp_drawable_update_tile_source_node().
1092 2009-02-01  Martin Nordholts  <martinn@svn.gnome.org>
1094         Applied patch from Alexia Death that prepares brushes for
1095         arbitrary transforms by renaming stuff with 'scale' to
1096         'transform'. Takes us one step closer to fixing bug #520078.
1098         * app/core/gimpbrush.[ch]
1099         * app/core/gimpbrushgenerated.c
1100         * app/paint/gimpbrushcore.[ch]
1101         * app/paint/gimpsmudge.c
1103         * app/core/gimpbrush-transform.[ch]: New names of
1104         * app/core/gimpbrush-scale.[ch]
1106         * app/core/Makefile.am: Update.
1108 2009-02-01  Martin Nordholts  <martinn@svn.gnome.org>
1110         * app/core/gimplayer.[ch]: Add const qualifier to
1111         gimp_layer_get_floating_sel_drawable().
1113 2009-01-29  Sven Neumann  <sven@gimp.org>
1115         * app/core/gimpimage.[ch]: removed gimp_image_get_type_string()
1116         again.
1118         * app/display/gimpdisplayshell-title.c
1119         (gimp_display_shell_format_title): use the GimpImageBaseType enum
1120         instead.
1122         * app/tools/gimptool.c (gimp_tool_oper_update): if the image is
1123         empty and the tool can't handle that, display a message in the
1124         statusbar telling the user about this.
1126 2009-01-29  Sven Neumann  <sven@gimp.org>
1128         * app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse_rect):
1129         fixed incorrect optimization that caused glitches in the rounded
1130         corners on the left side of rectangular selections.
1132 2009-01-28  Sven Neumann  <sven@gimp.org>
1134         * app/pdb/gimpprocedure.c (gimp_procedure_execute): don't set an
1135         error if the procedure was cancelled.
1137 2009-01-26  Michael Natterer  <mitch@gimp.org>
1139         * app/core/gimplayer.[ch]: add new accessor
1140         gimp_layer_get_floating_sel_drawable() which returns the drawable
1141         the floating layer is attached to.
1143         * app/core/gimpdrawable.c
1144         * app/core/gimpfloatingselundo.c
1145         * app/core/gimpimage-duplicate.c
1146         * app/core/gimpimage-quick-mask.c
1147         * app/core/gimpimage.c
1148         * app/core/gimplayer.c
1149         * app/core/gimplayer-floating-sel.c
1150         * app/xcf/xcf-save.c
1151         * tools/pdbgen/pdb/image.pdb: use it instead of accessing
1152         layer->fs.drawable directly.
1154         * app/pdb/image-cmds.c: regenerated.
1156 2009-01-26  Michael Natterer  <mitch@gimp.org>
1158         The GEGL projection does floating selections now:
1160         * app/core/gimpdrawable.[ch] (struct GimpDrawable): add a couple
1161         of GeglNodes which are used to create a sub-graph for this
1162         drawable's floating selection.
1164         (gimp_drawable_detach_floating_sel)
1165         (gimp_drawable_attach_floating_sel): new functions to call
1166         whenever a floating selection gets attached or detached.
1168         Change the role of the drawable's "source_node": it's no longer a
1169         direct tile source but an arbitrary graph. Add new internal
1170         function gimp_drawable_sync_source_node() which creates a
1171         sub-graph for the floating selection within the source node, and
1172         uses the new "tile_source_node" directly otherwise. Connect to
1173         "notify" of the floating selection and reconfigure its sub-graph
1174         when its properties change. This is also one more refactoring in
1175         the direction of layer trees.
1177         * app/core/gimpfloatingselundo.c
1178         * app/core/gimpimage.c
1179         * app/core/gimplayer-floating-sel.c: call the new attach/detach
1180         API whenever a floating selection is attached or detached from a
1181         drawable. This will need more refactoring i guess...
1183 2009-01-26  Michael Natterer  <mitch@gimp.org>
1185         * app/core/gimpdrawable.c (gimp_drawable_visibility_changed):
1186         don't show the floating selection layer in the image graph, it
1187         will be shown by the drawable it is attached to. This is a temp
1188         special case hack, but better fits here than into the newly
1189         created and clean GimpDrawableStack. The floating selection will
1190         see the end of its days as layer soon enough anyway.
1192 2009-01-26  Michael Natterer  <mitch@gimp.org>
1194         * libgimpwidgets/gimpbutton.c (gimp_button_clicked): chain up if a
1195         parent impl exists to be safe against future gtk versions doing
1196         something in GtkButton::clicked() (as happened in GTK+ trunk).
1198 2009-01-26  Sven Neumann  <sven@gimp.org>
1200         * plug-ins/common/curve-bend.c (p_load_pointfile): check the
1201         return value of fgets().
1203 2009-01-26  Michael Natterer  <mitch@gimp.org>
1205         * app/tools/gimpregionselecttool.c
1206         (gimp_region_select_tool_button_release): move variables to local
1207         scope.
1209 2009-01-25  Martin Nordholts  <martinn@svn.gnome.org>
1211         * app/pdb/gimpprocedure.[ch] (gimp_procedure_create_override): New
1212         helper function that creates a new GimpProcedure that can be used
1213         to override an existing procedure.
1215 2009-01-25  Martin Nordholts  <martinn@svn.gnome.org>
1217         * app/core/gimpimage.[ch] (gimp_image_get_type_string): New method
1218         to get a string representation of the image type.
1220         * app/display/gimpdisplayshell-title.c
1221         (gimp_display_shell_format_title): Ask the GimpImage for an image
1222         type string instead of making assumptions about its
1223         implementation.
1225 2009-01-25  Martin Nordholts  <martinn@svn.gnome.org>
1227         * app/base/temp-buf.c (temp_buf_copy): Bail out if we fail to
1228         create a dest buffer.
1230 2009-01-25  Michael Natterer  <mitch@gimp.org>
1232         * app/core/Makefile.am
1233         * app/core/gimpparamspecs-duplicate.[ch]: new files implementing
1234         gimp_param_spec_duplicate() which is supposed to duplicate any
1235         gimp or gegl GParamSpec (but doesn't do this yet).
1237         * app/tools/gimpgegltool.c: remove the code form here.
1239 2009-01-25  Michael Natterer  <mitch@gimp.org>
1241         * app/tools/gimpgegltool.c (gimp_param_spec_duplicate):
1242         gegl_color_get_rgba() takes pointers to doubles now, not floats.
1244 2009-01-24  Michael Natterer  <mitch@gimp.org>
1246         Bug 568890 – don't rely on GtkAction implementation details
1248         * app/widgets/gimpuimanager.c (gimp_ui_manager_menu_item_select):
1249         use gtk_widget_get_action() instead of g_object_get_data(),
1250         which relies on the name of the data key.
1252 2009-01-23  Kevin Cozens  <kcozens@cvs.gnome.org>
1254         * libgimpcolor/gimprgb-parse.c: Applied patch from Andreas Turtschan
1255         to fix more RGB colour values. Fixes bug #568909.
1257 2009-01-23  Kevin Cozens  <kcozens@cvs.gnome.org>
1259         * libgimpcolor/gimprgb-parse.c: Applied patch from Andreas Turtschan
1260         to fix colour values for slategray and slategrey. Fixes bug #568839.
1262 2009-01-22  Tor Lillqvist  <tml@iki.fi>
1264         Bug 559408 - Brushes dragged to the image window look strange
1266         * app/widgets/gimppixbuf.c (gimp_pixbuf_format_compare): Drop
1267         Windows-specific code to prefer BMP. The BMP format written by
1268         gdk-pixbuf doesn't support alpha. PNG is better. Note that the
1269         same bug report also takes up a different problem.
1271 2009-01-21  Sven Neumann  <sven@gimp.org>
1273         Bug 568617 – "Plase" misspelled
1275         * app/widgets/gimpuimanager.c: fixed typo.
1277 2009-01-20  Martin Nordholts  <martinn@svn.gnome.org>
1279         Adjust to babl API adjustment by doing
1280         s/babl_format_from_name/babl_format/
1282         * app/gegl/gimp-gegl-utils.c
1283         * app/gegl/gimpoperationpointlayermode.c
1284         * app/gegl/gimpoperationtilesource.c
1286 2009-01-19  Michael Natterer  <mitch@gimp.org>
1288         * plug-ins/common/*.c
1289         * plug-ins/color-rotate/color-rotate.c
1290         * plug-ins/file-bmp/bmp.c
1291         * plug-ins/file-faxg3/faxg3.c
1292         * plug-ins/file-fits/fits.c
1293         * plug-ins/file-fli/fli-gimp.c
1294         * plug-ins/file-ico/ico.c
1295         * plug-ins/file-jpeg/jpeg.c
1296         * plug-ins/file-psd/psd-save.c
1297         * plug-ins/file-psd/psd.c
1298         * plug-ins/file-sgi/sgi.c
1299         * plug-ins/file-uri/uri.c
1300         * plug-ins/file-xjt/xjt.c
1301         * plug-ins/flame/flame.c
1302         * plug-ins/fractal-explorer/fractal-explorer.c
1303         * plug-ins/gfig/gfig.c
1304         * plug-ins/gimpressionist/gimp.c
1305         * plug-ins/gradient-flare/gradient-flare.c
1306         * plug-ins/help-browser/help-browser.c
1307         * plug-ins/ifs-compose/ifs-compose.c
1308         * plug-ins/imagemap/imap_main.c
1309         * plug-ins/lighting/lighting-main.c
1310         * plug-ins/map-object/map-object-main.c
1311         * plug-ins/maze/maze.c
1312         * plug-ins/metadata/metadata.c
1313         * plug-ins/pagecurl/pagecurl.c
1314         * plug-ins/print/print.c
1315         * plug-ins/pygimp/gimpfu.py
1316         * plug-ins/script-fu/script-fu-script.c
1317         * plug-ins/script-fu/script-fu.c
1318         * plug-ins/selection-to-path/selection-to-path.c
1319         * plug-ins/twain/twain.c
1320         * plug-ins/win-snap/winsnap.c: document the "run-mode" parameter
1321         as we document enums for core procedures.
1323 2009-01-18  Sven Neumann  <sven@gimp.org>
1325         Bug 568095 – Patch to improve unsharp mask performance
1327         * plug-ins/common/unsharp-mask.c (box_blur_line): applied another
1328         patch from Winston Chang with further performance improvements.
1330 2009-01-18  Sven Neumann  <sven@gimp.org>
1332         * configure.in: depend on babl >= 0.0.23 and GEGL >= 0.0.22.
1334 2009-01-18  Sven Neumann  <sven@gimp.org>
1336         * configure.in (CPPFLAGS): added -DBABL_DISABLE_DEPRECATED.
1338         * plug-ins/common/unsharp-mask.c: formatting.
1340 2009-01-18  Martin Nordholts  <martinn@svn.gnome.org>
1342         Bug 563337 – Rectangle Select Tool does not allow 1:1 fixed ratio
1344         * libgimpwidgets/gimpnumberpairentry.c: When testing if the value
1345         changed on focus-out we shall test against the current values, not
1346         the default values.
1348 2009-01-17  Michael Natterer  <mitch@gimp.org>
1350         * all files with a GPL header and all COPYING files:
1352         Change licence to GPLv3 (and to LGPLv3 for libgimp).
1354         Cleaned up some copyright headers and regenerated the parsers in
1355         the ImageMap plugin.
1357 2009-01-17  Sven Neumann  <sven@gimp.org>
1359         Bug 568095 – Patch to improve unsharp mask performance
1361         * plug-ins/common/unsharp-mask.c (unsharp_region): applied patch
1362         from Winston Chang that improves performance for larger radii by
1363         approximating the gaussian blur with a three-pass box blur.
1365 2009-01-17  Martin Nordholts  <martinn@svn.gnome.org>
1367         Adapt to new babl API, s/babl_format/babl_format_from_name/
1369         * app/gegl/gimp-gegl-utils.c
1370         * app/gegl/gimpoperationpointlayermode.c
1371         * app/gegl/gimpoperationtilesource.c
1373 2009-01-17  Sven Neumann  <sven@gimp.org>
1375         Bug 568021 – Unused code in unsharp-mask.c
1377         * plug-ins/common/unsharp-mask.c: applied patch from Winston Chang
1378         that removes unused code.
1380 2009-01-17  Sven Neumann  <sven@gimp.org>
1382         Bug 568016 – Black pullout parameter of plug-in-newsprint has
1383         no effect
1385         * plug-ins/common/newsprint.c: fixed the documentation of the
1386         colorspace parameter.
1388 2009-01-13  Sven Neumann  <sven@gimp.org>
1390         * INSTALL
1391         * autogen.sh
1392         * configure.in: require intltool >= 0.40.1. Looks like that was
1393         the first version with support for the NC_ keyword.
1395 2009-01-13  Kevin Cozens  <kcozens@cvs.gnome.org>
1397         * app/tools/gimpforegroundselecttool.c: Corrected spelling error
1398         spotted by David Gowers.
1400 2009-01-10  Martin Nordholts  <martinn@svn.gnome.org>
1402         * app/config/gimpdisplayconfig.c: Allow marching ant speeds as
1403         slow as one step per 10 seconds since for some remote sessions the
1404         minimum of 1 step per second is too fast.
1406 2009-01-10  Sven Neumann  <sven@gimp.org>
1408         Bug 471344 – Circular brush strokes are not smooth and have corners
1410         Bug 127785 – stroking with size linked to pressure sensitivity
1411         should scale the spacing
1413         * app/core/gimpcoords-interpolate.[ch]
1414         * app/display/gimpdisplayshell.[ch]
1415         * app/display/gimpdisplayshell-callbacks.[ch]
1416         * app/display/gimpdisplayshell-coords.[ch]: applied patch from
1417         Alexia Death that introduces a Catmul-Rom splines based event
1418         interpolation and also adapts the brush spacing to brush size.
1420 2009-01-06  Sven Neumann  <sven@gimp.org>
1422         Bug 565046 – Point snapping to guides does not work outside the
1423         canvas
1425         * app/core/gimpimage-snap.c: applied patch from Daniel Hornung
1426         that introduces the utility function gimp_image_snap_grid() to
1427         clean up and fix guide snapping.
1429 2009-01-06  Sven Neumann  <sven@gimp.org>
1431         Bug 566498 – Noise distribution error in RGB Noise and HSV Noise
1433         * plug-ins/common/noise-hsv.c
1434         * plug-ins/common/noise-rgb.c: applied patch from Marco Rossini.
1436 2009-01-04  Michael Natterer  <mitch@gimp.org>
1438         * app/widgets/gimpcombotagentry.c
1439         (gimp_combo_tag_entry_constructor): connect to entry->container's
1440         signals with g_signal_connect_object() so the entry can be
1441         destroyed without warning/crashing.
1443 2009-01-04  Martin Nordholts  <martinn@svn.gnome.org>
1445         Bug 562818 – First image opened in GIMP offset
1447         * app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
1448         Only rely on disp_width/height for border calculation if they are
1449         larger than 1. If not, special-case the calculation so we don't
1450         get a severly mispositioned image.
1452 2009-01-04  Martin Nordholts  <martinn@svn.gnome.org>
1454         * app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
1455         Rename border_x to border_width and border_y to border_height.
1457 2009-01-04  Martin Nordholts  <martinn@svn.gnome.org>
1459         Bug 562213 – Align Tool doesn't work properly if it is the active
1460         tool at startup
1462         * app/tools/gimpaligntool.c: Perform NULL-pointer dodging to avoid
1463         crashing.
1465 2009-01-04  Martin Nordholts  <martinn@svn.gnome.org>
1467         * app/widgets/gimpdock.[ch]: Make instance members private.
1469         (gimp_dock_get_context)
1470         (gimp_dock_get_dialog_factory)
1471         (gimp_dock_get_dockbooks)
1472         (gimp_dock_get_main_vbox)
1473         (gimp_dock_get_vbox)
1474         (gimp_dock_get_id): New getters.
1476         * app/actions/actions.c
1477         * app/actions/dockable-actions.c
1478         * app/actions/dockable-commands.c
1479         * app/actions/windows-actions.c
1480         * app/menus/windows-menu.c
1481         * app/widgets/gimpdialogfactory.c
1482         * app/widgets/gimpdock.c
1483         * app/widgets/gimpdock.h
1484         * app/widgets/gimpdockable.c
1485         * app/widgets/gimpdockbook.c
1486         * app/widgets/gimpdockseparator.c
1487         * app/widgets/gimpimagedock.c
1488         * app/widgets/gimpmenudock.c
1489         * app/widgets/gimpsessioninfo-book.c
1490         * app/widgets/gimpsessioninfo-dock.c
1491         * app/widgets/gimpsessioninfo-dockable.c
1492         * app/widgets/gimptoolbox-color-area.c
1493         * app/widgets/gimptoolbox-dnd.c
1494         * app/widgets/gimptoolbox-image-area.c
1495         * app/widgets/gimptoolbox-indicator-area.c
1496         * app/widgets/gimptoolbox.c: Use new getters.
1498 2009-01-03  Martin Nordholts  <martinn@svn.gnome.org>
1500         * app/widgets/gimpcontainertreeview.c: Format static function
1501         prototypes.
1503 2009-01-01  Sven Neumann  <sven@gimp.org>
1505         * app/tools/gimptexttool.c: removed unused include.
1507 2009-01-01  Sven Neumann  <sven@gimp.org>
1509         Bug 565112 – code duplication in app/core/gimpimage-snap.c
1511         * app/core/gimpimage-snap.c: based on a patch from Daniel Hornung,
1512         add the utility function gimp_image_snap_distance().
1514 2009-01-01  Sven Neumann  <sven@gimp.org>
1516         * app/about.h (GIMP_COPYRIGHT): Happy New Year!
1518 2009-01-01  Sven Neumann  <sven@gimp.org>
1520         Bug 565223 – Perspective transformation jagged edges / comb effect
1522         * app/core/gimp-transform-region.c: reverted the code change, but
1523         not the cleanups, from commit r26786.
1525 2008-12-31  Sven Neumann  <sven@gimp.org>
1527         * app/widgets/widgets-enums.[ch]: added GimpTagEntryMode.
1529         * app/widgets/gimptagentry.[ch]: removed it here. Also did some
1530         code cleanup, mostly formatting.
1532         * app/widgets/gimpcombotagentry.[ch]
1533         * app/widgets/gimptagpopup.[ch]: some code cleanup, mostly
1534         formatting.
1536 2008-12-30  Sven Neumann  <sven@gimp.org>
1538         * app/widgets/gimpitemtreeview.h: deleted trailing whitespace.
1540 2008-12-30  Sven Neumann  <sven@gimp.org>
1542         * plug-ins/print/print.[ch]
1543         * plug-ins/print/print-draw-page.c
1544         * plug-ins/print/print-page-layout.c
1545         * plug-ins/print/print-settings.c: optionally draw crop-marks.
1547 2008-12-30  Marco Ciampa  <ciampix@libero.it>
1549         * app/actions/error-console-actions.c: small typo fix.
1551 2008-12-28  Martin Nordholts  <martinn@svn.gnome.org>
1553         * app/core/gimpitem.c
1554         (gimp_item_get_offset_x)
1555         (gimp_item_get_offset_y): New offset getters for inline use.
1557         * app/core/gimpchannel.c
1558         * app/core/gimpdrawable.c
1559         * app/core/gimpimage-merge.c
1560         * app/core/gimpimage-resize.c
1561         * app/tools/gimptexttool.c: Don't access GimpItem offset members
1562         directly, use gimp_item_set_offset() and
1563         gimp_item_get_offset_[xy]() instead.
1565 2008-12-28  Sven Neumann  <sven@gimp.org>
1567         Bug 563985 – jpg save dialog: "cancel" is treated like "commit"
1568         for settings
1570         * plug-ins/file-jpeg/jpeg.c (run): only attach the comment and
1571         settings to the image if the save was successful.
1573 2008-12-28  Sven Neumann  <sven@gimp.org>
1575         Bug 565362 – the previously opened file is not suggested if gimp
1576         was started from command line
1578         * app/file/file-open.c (file_open_from_command_line): remember the
1579         opened image just as if it was opened using the file-open dialog.
1581 2008-12-28  Martin Nordholts  <martinn@svn.gnome.org>
1583         Use gimp_item_set/get_image() instead of accessing the instance
1584         member directly.
1586         * app/core/gimpchannel.c
1587         * app/core/gimpdrawable-brightness-contrast.c
1588         * app/core/gimpdrawable-color-balance.c
1589         * app/core/gimpdrawable-colorize.c
1590         * app/core/gimpdrawable-curves.c
1591         * app/core/gimpdrawable-desaturate.c
1592         * app/core/gimpdrawable-hue-saturation.c
1593         * app/core/gimpdrawable-invert.c
1594         * app/core/gimpdrawable-levels.c
1595         * app/core/gimpdrawable-posterize.c
1596         * app/core/gimpdrawable-threshold.c
1597         * app/core/gimplayer.c
1598         * app/core/gimplayermask.c
1599         * app/core/gimpselection.c
1600         * app/dialogs/layer-add-mask-dialog.c
1601         * app/text/gimptextlayer-xcf.c
1602         * app/tools/gimprectangletool.c
1603         * app/tools/gimptexttool.c
1604         * app/tools/gimpvectortool.c
1605         * app/vectors/gimpvectors-preview.c
1606         * app/vectors/gimpvectors.c
1607         * tools/pdbgen/pdb/layer.pdb
1609         * app/pdb/layer-cmds.c: Regenerated.
1611 2008-12-28  Sven Neumann  <sven@gimp.org>
1613         * libgimpwidgets/gimpintcombobox.c (gimp_int_combo_box_init): use
1614         the canonical spelling for the 'stock-id' property.
1616 2008-12-27  Sven Neumann  <sven@gimp.org>
1618         * app/paint/gimppaintcore.c
1619         (gimp_paint_core_validate_saved_proj_tiles): copy-on-write from
1620         the projection is not any longer broken, so use it here.
1622 2008-12-27  Sven Neumann  <sven@gimp.org>
1624         Bug 564087 – Using clone tool on a layer with a part out of canvas
1625         causes crashes
1627         * app/paint/gimppaintcore.c (gimp_paint_core_paste): intersect the
1628         rectangle with the extents of the saved projection.
1630 2008-12-27  Sven Neumann  <sven@gimp.org>
1632         * app/base/pixel-surround.c (struct _PixelSurround): formatting.
1634 2008-12-27  Sven Neumann  <sven@gimp.org>
1636         Bug 564593 – crash when the drawable is changed while a color
1637         tools is active
1639         * app/core/gimpdrawable-shadow.c (gimp_drawable_merge_shadow_tiles):
1640         keep a reference to the shadow tiles because it might otherwise be
1641         free'd under our feet.
1643 2008-12-26  Sven Neumann  <sven@gimp.org>
1645         * plug-ins/common/file-gbr.c: let the save procedure accept a
1646         grayscale layer with alpha channel, as we do in the GIH save
1647         procedure.
1649         * plug-ins/common/file-gih.c: when loading a brush mask pipe,
1650         create grayscale layers without an alpha channel. Changed the save
1651         procedure to also accept layers without alpha channel.
1653 2008-12-25  Martin Nordholts  <martinn@svn.gnome.org>
1655         * app/widgets/gimplayertreeview.[ch]: Make instance members
1656         private (they were not accessed from the outside).
1658 2008-12-25  Martin Nordholts  <martinn@svn.gnome.org>
1660         * app/widgets/gimpchanneltreeview.[ch]: Make instance members
1661         private (they were not accessed from the outside).
1663 2008-12-25  Martin Nordholts  <martinn@svn.gnome.org>
1665         * app/widgets/gimpitemtreeview.[ch]: Make instance members private
1666         and add getters that didn't already exist.
1668         (gimp_item_tree_view_get_new_button)
1669         (gimp_item_tree_view_get_edit_button): New getters.
1671         * app/actions/actions.c
1672         * app/widgets/gimpvectorstreeview.c
1673         * app/widgets/gimplayertreeview.c
1674         * app/widgets/gimpdrawabletreeview.c
1675         * app/widgets/gimpchanneltreeview.c: Use new getters.
1677 2008-12-23  Sven Neumann  <sven@gimp.org>
1679         * configure.in: if supported, add -Wformat-security and
1680         -Wformat-non-literal to the compiler flags.
1682 2008-12-23  Sven Neumann  <sven@gimp.org>
1684         * app/batch.c
1685         * tools/gimptool.c: declared functions calling exit() as
1686         G_GNUC_NORETURN.
1688 2008-12-21  Aurimas Juška  <aurisj@svn.gnome.org>
1690         * app/widgets/gimptagentry.c: fixed handling of tags which contain
1691         non-ASCII characters.
1693 2008-12-21  Sven Neumann  <sven@gimp.org>
1695         Bug 564869 – GIMP crashes on selecting Tools->GEGL operation
1697         * app/tools/gimptool.c (gimp_tool_initialize): check if the tool
1698         has set an error.
1700 2008-12-21  Sven Neumann  <sven@gimp.org>
1702         Bug 565138 – python-fu-foggify does not check if image is in rgb mode
1704         * plug-ins/pygimp/plug-ins/foggify.py (foggify): fixed handling of
1705         grayscale images.
1707 2008-12-20  Martin Nordholts  <martinn@svn.gnome.org>
1709         Bug 555954 – Merge Tagging of Gimp Resources GSoC Project
1711         Merge the rest of the tagging code developed on the tagging branch
1712         by Aurimas Juška. Development will now continue in trunk.
1714         * app/core/gimptag.[ch]: New files (not strictly true but almost)
1715         implementing the represention of a tag.
1717         * app/core/gimptagcache.[ch]: New files implementing functionality
1718         for loading and saving tags to tags.xml, and assigning loaded tags
1719         to tagged objects.
1721         * app/core/gimpfilteredcontainer.[ch]: New files implementing a
1722         tag filtered GimpContainer.
1724         * app/widgets/gimptagentry.[ch]: New files implementing a
1725         GtkEntry-like widget for entering tags.
1727         * app/widgets/gimpcombotagentry.[ch]: New files implementing a
1728         combobox-like widget for selecting tags.
1730         * app/widgets/gimptagpopup.[ch]: New files implementing a popup of
1731         all available tags that can be selected and combined in a
1732         checkbox-like way.
1734         * app/core/gimp.[ch]: Add a GimpTagCache member and manage tag
1735         assignment and saving and loading to/from tags.xml.
1737         * app/widgets/gimpdatafactoryview.c: Add the tag query and tag
1738         assignment widgets to the UI and show the tag filtered items
1739         instead of all items.
1741         * app/core/core-types.h
1742         * app/widgets/widgets-types.h: Add new types.
1744         * app/core/Makefile.am
1745         * app/widgets/Makefile.am: Add new files.
1747 2008-12-20  Martin Nordholts  <martinn@svn.gnome.org>
1749         Bug 555954 – Merge Tagging of Gimp Resources GSoC Project
1751         Partial merge of code from Aurimas Juška.
1753         * app/widgets/gimpbrushfactoryview.c: Use the same method for
1754         getting the GimpContainer both when adding and when removing the
1755         spacing-changed handler. It was just a coincidence that the
1756         previously different methods retured the same GimpContainer.
1758 2008-12-20  Martin Nordholts  <martinn@svn.gnome.org>
1760         * app/widgets/gimpdatafactoryview.[ch]
1761         (gimp_data_factory_view_have)
1762         (gimp_data_factory_view_get_children_type)
1763         (gimp_data_factory_view_has_data_new_func): New helper functions
1764         to lessen level of indirection in client code.
1766         * app/actions/data-commands.c: Use them.
1768 2008-12-20  Martin Nordholts  <martinn@svn.gnome.org>
1770         * app/widgets/gimpdatafactoryview.[ch]: Make instance members
1771         private and add getters for accessed members.
1773         (gimp_data_factory_view_get_edit_button)
1774         (gimp_data_factory_view_get_duplicate_button)
1775         (gimp_data_factory_view_get_data_factory): New getters.
1777         * app/actions/data-commands.c
1778         * app/widgets/gimppatternfactoryview.c: Use new getters.
1780 2008-12-19  Martin Nordholts  <martinn@svn.gnome.org>
1782         * app/core/gimpdatafactory.[ch]: Make instance members private and
1783         add getters for required members.
1785         (gimp_data_factory_get_container)
1786         (gimp_data_factory_get_gimp)
1787         (gimp_data_factory_has_data_new_func): The new getters.
1789         * app/actions/context-commands.c
1790         * app/actions/data-commands.c
1791         * app/core/gimp-gradients.c
1792         * app/core/gimp.c
1793         * app/core/gimpcontext.c
1794         * app/core/gimpdatafactory.c
1795         * app/core/gimpdatafactory.h
1796         * app/dialogs/convert-dialog.c
1797         * app/dialogs/palette-import-dialog.c
1798         * app/pdb/gimppdb-utils.c
1799         * app/widgets/gimpbrushfactoryview.c
1800         * app/widgets/gimpdataeditor.c
1801         * app/widgets/gimpdatafactoryview.c
1802         * app/widgets/gimpselectiondata.c
1803         * app/widgets/gimpviewablebox.c
1804         * tools/pdbgen/pdb/brush_select.pdb
1805         * tools/pdbgen/pdb/brushes.pdb
1806         * tools/pdbgen/pdb/gradient_select.pdb
1807         * tools/pdbgen/pdb/gradients.pdb
1808         * tools/pdbgen/pdb/palette_select.pdb
1809         * tools/pdbgen/pdb/palettes.pdb
1810         * tools/pdbgen/pdb/pattern_select.pdb
1811         * tools/pdbgen/pdb/patterns.pdb: Use the getters.
1814         * app/pdb/brush-select-cmds.c
1815         * app/pdb/brushes-cmds.c
1816         * app/pdb/gradient-select-cmds.c
1817         * app/pdb/gradients-cmds.c
1818         * app/pdb/palette-select-cmds.c
1819         * app/pdb/palettes-cmds.c
1820         * app/pdb/pattern-select-cmds.c
1821         * app/pdb/patterns-cmds.c: Regenerated.
1823 2008-12-17  Sven Neumann  <sven@gimp.org>
1825         * plug-ins/common/file-png.c: reverted last change, it was bogus.
1827 2008-12-17  Sven Neumann  <sven@gimp.org>
1829         * plug-ins/common/file-png.c (load_image) (save_image): use a tile
1830         cache to optimize pixel access.
1832 2008-12-16  Sven Neumann  <sven@gimp.org>
1834         * tools/pdbgen/pdb/plug_in.pdb: improved docs for
1835         gimp-plugin-help-register.
1837         * app/pdb/plug-in-cmds.c
1838         * libgimp/gimpplugin_pdb.c: regenerated.
1840 2008-12-16  Sven Neumann  <sven@gimp.org>
1842         * app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
1843         removed 'gegl:stress' from the blacklist. It was put here on wrong
1844         assumptions.
1846 2008-12-15  Sven Neumann  <sven@gimp.org>
1848         * tools/pdbgen/pdb/pattern.pdb
1849         * tools/pdbgen/pdb/brushes.pdb
1850         * tools/pdbgen/pdb/drawable.pdb
1851         * tools/pdbgen/pdb/image.pdb
1852         * tools/pdbgen/pdb/brush.pdb
1853         * tools/pdbgen/pdb/patterns.pdb: need to do the change to
1854         temp_buf_get_data() here for the generated PDB code.
1856 2008-12-14  Sven Neumann  <sven@gimp.org>
1858         * app/core/gimp.c: reverted last change as it is totally bogus and
1859         the old code was correct.
1861 2008-12-13  Martin Nordholts  <martinn@svn.gnome.org>
1863         * app/core/gimp.c: We shall unref in dispose() and free in
1864         finalize(), not vice versa.
1866 2008-12-13  Martin Nordholts  <martinn@svn.gnome.org>
1868         Bug 555954 – Merge Tagging of Gimp Resources GSoC Project
1870         Partial merge of code from Aurimas Juška.
1872         * app/core/gimpdata.c: Implement GimpTagged::get_identifier() and
1873         GimpTagged::get_checksum().
1875         * app/core/gimpbrush.c:
1876         * app/core/gimpgradient.c
1877         * app/core/gimppalette.c
1878         * app/core/gimppattern.c: Implement GimpTagged::get_checksum().
1879         They all use the GimpData implementation of
1880         GimpTagged::get_identifier().
1882 2008-12-13  Martin Nordholts  <martinn@svn.gnome.org>
1884         Introduce temp_buf_get_data_size() and use it.
1886         * app/base/temp-buf.[ch]
1887         * app/widgets/gimpbrushselect.c
1888         * app/widgets/gimppatternselect.c
1890 2008-12-13  Martin Nordholts  <martinn@svn.gnome.org>
1892         s/temp_buf_data/temp_buf_get_data/
1894         * app/base/pixel-region.c
1895         * app/base/temp-buf.c
1896         * app/base/temp-buf.h
1897         * app/core/gimpbrush-load.c
1898         * app/core/gimpbrush-scale.c
1899         * app/core/gimpbrush.c
1900         * app/core/gimpbrushgenerated.c
1901         * app/core/gimpgradient.c
1902         * app/core/gimpimage.c
1903         * app/core/gimppalette.c
1904         * app/core/gimppattern-load.c
1905         * app/core/gimppattern.c
1906         * app/core/gimppreviewcache.c
1907         * app/core/gimpviewable.c
1908         * app/paint-funcs/paint-funcs-generic.h
1909         * app/paint/gimpbrushcore.c
1910         * app/paint/gimpclone.c
1911         * app/paint/gimperaser.c
1912         * app/paint/gimpheal.c
1913         * app/paint/gimpink.c
1914         * app/paint/gimppaintbrush.c
1915         * app/pdb/brush-cmds.c
1916         * app/pdb/brushes-cmds.c
1917         * app/pdb/drawable-cmds.c
1918         * app/pdb/image-cmds.c
1919         * app/pdb/pattern-cmds.c
1920         * app/pdb/patterns-cmds.c
1921         * app/text/gimpfont.c
1922         * app/tools/gimpiscissorstool.c
1923         * app/vectors/gimpvectors-preview.c
1924         * app/widgets/gimpbrushselect.c
1925         * app/widgets/gimppatternselect.c
1926         * app/widgets/gimpviewrenderer.c
1928 2008-12-12  Martin Nordholts  <martinn@svn.gnome.org>
1930         Bug 555954 – Merge Tagging of Gimp Resources GSoC Project
1932         Partial merge of code from Aurimas Juška.
1934         * app/core/gimpdata.[ch] (gimp_data_make_internal): Add an
1935         'identifier' parameter/instance struct member that can be used to
1936         identify the internal GimpData object across sessions. It is the
1937         internal-object counterpart to a file path.
1939         * app/core/gimp.c
1940         * app/core/gimpcurve.c
1941         * app/core/gimpbrush.c
1942         * app/core/gimppattern.c
1943         * app/core/gimppalette.c
1944         * app/core/gimpgradient.c
1945         * app/core/gimp-gradients.c: Assign an identifier to the the
1946         internal GimpData objects.
1948 2008-12-12  Martin Nordholts  <martinn@svn.gnome.org>
1950         * app/core/gimptagged.c (gimp_tagged_get_identifier): Clarify
1951         documentation.
1953 2008-12-11  Martin Nordholts  <martinn@svn.gnome.org>
1955         Bug 555954 – Merge Tagging of Gimp Resources GSoC Project
1957         Partial merge of code from Aurimas Juška.
1959         * app/core/gimptag.c: A new minimal GimpTag type with only a
1960         gimp_tag_equals() class function so that we can
1962         * app/core/gimptagged.c
1963         * app/core/gimpdata.c (gimp_data_add_tag, gimp_data_remove_tag):
1964         Adapt these to GimpTag being an object instead of a GQuark.
1966         * app/core/core-types.h: Update GimpTag typedef.
1968         * app/core/Makefile.am: Add gimptag.[ch].
1970 2008-12-11  Martin Nordholts  <martinn@svn.gnome.org>
1972         * app/core/core-types.h: Sort typedefs.
1974 2008-12-11  Martin Nordholts  <martinn@svn.gnome.org>
1976         * app/core/core-types.h: Remove references to typedefs in
1977         config-types.h that are more annoying than helpful.
1979 2008-12-11  Martin Nordholts  <martinn@svn.gnome.org>
1981         * app/core/gimptagged.c (gimp_tagged_add_tag): Remove weird const
1982         qualifier.
1984 2008-12-11  Martin Nordholts  <martinn@svn.gnome.org>
1986         Bug 555954 – Merge Tagging of Gimp Resources GSoC Project
1988         Partial merge of code from Aurimas Juška.
1990         * app/core/gimptagged.[ch]: Added GimpTagged::get_identifier() and
1991         GimpTagged::get_checksum().
1993 2008-12-11  Martin Nordholts  <martinn@svn.gnome.org>
1995         s/gimp_tagged_get_get_tags/gimp_tagged_get_tags/
1997         * app/core/gimptagged.[ch]
1999 2008-12-10  Sven Neumann  <sven@gimp.org>
2001         * libgimpcolor/gimprgb-parse.c: updated link to the color keywords
2002         in the SVG spec.
2004 2008-12-08  Sven Neumann  <sven@gimp.org>
2006         * app/core/gimpchannel.c
2007         * app/core/gimpdrawable-operation.c
2008         * app/core/gimpdrawablestack.c
2009         * app/core/gimpimage.c
2010         * app/core/gimpimagemap.c
2011         * app/core/gimplayer.c
2012         * app/core/gimpprojection.c: gegl_node_add_child() and
2013         gegl_node_remove_child() are public API in GEGL now.
2015 2008-12-04  Martin Nordholts  <martinn@svn.gnome.org>
2017         * app/core/gimp.c
2018         * app/widgets/gimpdatafactoryview.c: Sort #includes.
2020 2008-12-04  Sven Neumann  <sven@gimp.org>
2022         Bug 563130 – Hue selection mode does not cross the 0-360 degrees line
2024         * app/core/gimpimage-contiguous-region.c (pixel_difference):
2025         applied patch from Daniel Hornung.
2027 2008-12-04  Martin Nordholts  <martinn@svn.gnome.org>
2029         Bug 563179 – Scrollbars not resized when we extend the canvas size
2031         * app/display/gimpdisplayshell-handlers.c
2032         (gimp_display_shell_size_changed_detailed_handler): Add explicit
2033         call to gimp_display_shell_scroll_clamp_and_update() at the end to
2034         make sure it is called.
2036 2008-12-04  Martin Nordholts  <martinn@svn.gnome.org>
2038         * app/actions/images-actions.c (images_actions_setup): Pass
2039         arguments to gimp_action_group_add_actions() in the right order.
2041 2008-12-04  Sven Neumann  <sven@gimp.org>
2043         * tools/pdbgen/pdb/convert.pdb: fixed an error in the documentation
2044         of the gimp-image-convert-rgb procedure.
2046         * app/pdb/convert-cmds.c
2047         * libgimp/gimpconvert_pdb.c: regenerated.
2049 2008-12-04  Sven Neumann  <sven@gimp.org>
2051         * app/widgets/gimpactiongroup.[ch]: also use the translation
2052         context for the tooltips.
2054         * app/actions/*.c: added translation context to all tooltips. Also
2055         improved some tooltips while I was on it.
2057 2008-12-03  Sven Neumann  <sven@gimp.org>
2059         * plug-ins/common/file-tiff-save.c (save_image)
2060         (image_is_monochrome): allow to save images that are plain white or
2061         plain black using the CCITT Fax compression methods.
2063 2008-12-03  Sven Neumann  <sven@gimp.org>
2065         * plug-ins/common/file-ps.c: minor cleanup.
2067 2008-12-03  Sven Neumann  <sven@gimp.org>
2069         * app/widgets/gimpactiongroup.[ch]: added an extra parameter for
2070         the translation context to all gimp_action_group_add methods.
2072         * app/actions/*.c: added a translation context to all action
2073         labels. Also unified and improved the labels and tooltips in a few
2074         places.
2076 2008-12-03  Sven Neumann  <sven@gimp.org>
2078         * app/widgets/gimpactiongroup.c: check that the action name is
2079         unique before adding it to a GimpActionGroup.
2081 2008-12-03  Sven Neumann  <sven@gimp.org>
2083         * app/core/gimpitem.c (gimp_item_get_offset_node): use
2084         "gegl:translate" instead of "gegl:shift".
2086 2008-12-03  Sven Neumann  <sven@gimp.org>
2088         * app/core/gimpimagemap.c: renamed GeglNode shift to translate.
2089         Use "gegl:translate" instead of "gegl:shift".
2091 2008-12-02  Sven Neumann  <sven@gimp.org>
2093         * plug-ins/common/file-desktop-link.c: use the G_KEY_FILE_DESKTOP
2094         defines from GLib.
2096 2008-12-01  Sven Neumann  <sven@gimp.org>
2098         * libgimpwidgets/gimpwidgets.def: added gimp_widgets_error_quark.
2100 2008-12-01  Martin Nordholts  <martinn@svn.gnome.org>
2102         * libgimpwidgets/gimpwidgets-error.h: Added 'Since: GIMP 2.8' to
2103         GIMP_WIDGETS_ERROR.
2105         * libgimpwidgets/gimpwidgets.h: Added gimpwidgets-error.h.
2107 2008-11-30  Martin Nordholts  <martinn@svn.gnome.org>
2109         * libgimpwidgets/gimpwidgets-error.[ch]: New files defining
2110         GIMP_WIDGETS_ERROR domain with currently only a
2111         GIMP_WIDGETS_PARSE_ERROR error code.
2113         * libgimpwidgets/Makefile.am: Add the new files here.
2115 2008-11-27  Sven Neumann  <sven@gimp.org>
2117         Bug 562459 – PF_PALETTE: 'TypeError' when used in a plugin that is
2118         registered in <Image>
2120         * plug-ins/pygimp/gimpui.defs (gimp_palette_select_button_new):
2121         the 'title' parameter is optional.
2123 2008-11-27  Michael Natterer  <mitch@gimp.org>
2125         Bug 562427 – Compilation with --as-needed
2127         * app/Makefile.am (gimp_console_2_7_LDADD): add $(GLIB_LIBS) so
2128         libgthread gets pulled in explicitely.
2130 2008-11-27  Sven Neumann  <sven@gimp.org>
2132         Bug 562386 – PF_SLIDER and PF_SPINNER 'Step' values do not change
2133         consistently...
2135         * plug-ins/pygimp/gimpfu.py (SliderEntry): set the precision on
2136         the slider just as we do it for the spin-button.
2138 2008-11-27  Sven Neumann  <sven@gimp.org>
2140         Bug 562386 – PF_SLIDER and PF_SPINNER 'Step' values do not change
2141         consistently...
2143         * plug-ins/pygimp/gimpfu.py (SpinnerEntry): initialize the
2144         spin-button the way that gtk_spin_button_new_with_range() is
2145         implemented.
2147 2008-11-26  Martin Nordholts  <martinn@svn.gnome.org>
2149         Bug 562366 – Default image dimensions are not correctly
2150         transferred in the file/new dialog box
2152         * app/dialogs/preferences-dialog.c
2153         (prefs_template_select_callback): We need to copy the template in
2154         the same way as in the New Image dialog.
2156         * app/dialogs/image-new-dialog.c (image_new_dialog_set): ... and
2157         when we copy the template to the New Image dialog.
2159 2008-11-26  Sven Neumann  <sven@gimp.org>
2161         * app/core/gimpimage-duplicate.c: split spaghetti code into lots
2162         of helper functions.
2164 2008-11-25  Sven Neumann  <sven@gimp.org>
2166         * libgimp/gimpprocbrowserdialog.c (browser_search): show the
2167         "invalid search term" message in the label below the list instead
2168         of in the pane on the right side.
2170 2008-11-25  Sven Neumann  <sven@gimp.org>
2172         * libgimp/gimpexport.c: minor code cleanup.
2174 2008-11-24  Martin Nordholts  <martinn@svn.gnome.org>
2176         * libgimpwidgets/Makefile.am: Sort entries.
2178 2008-11-22  Sven Neumann  <sven@gimp.org>
2180         * app/config/gimpconfig-dump.c: removed reference to gimp-remote
2181         manual page in the generated gimprc manual page.
2183 2008-11-22  Michael Natterer  <mitch@gimp.org>
2185         * app/core/gimpselection.[ch]: make the entire selection
2186         API take GimpSelection arguments, not GimpChannel.
2187         Clean up gimp_selection_load() a bit.
2189         * app/actions/select-commands.c
2190         * app/core/gimp-edit.c
2191         * app/core/gimpdrawable-transform.c
2192         * app/core/gimpimage-quick-mask.c
2193         * app/tools/gimpeditselectiontool.c
2194         * tools/pdbgen/pdb/selection.pdb: add the needed casts.
2196         * app/pdb/selection-cmds.c: regenerated.
2198 2008-11-22  Sven Neumann  <sven@gimp.org>
2200         Bug 561899 – GIMP can't save to mounted filesystem if file exists
2202         * plug-ins/file-uri/uri-backend-gvfs.c (copy_uri): pass the
2203         G_FILE_COPY_OVERWRITE flag to g_file_copy().
2205 2008-11-21  Sven Neumann  <sven@gimp.org>
2207         * app/tools/gimpdrawtool.[ch]: removed unused methods
2208         gimp_draw_tool_set_vectors() and gimp_draw_tool_set_transform()
2209         and related infrastructure.
2211 2008-11-21  Sven Neumann  <sven@gimp.org>
2213         * app/widgets/gimpviewrenderervectors.c
2214         (gimp_view_renderer_vectors_draw): inlined local variables that
2215         are only used once.
2217 2008-11-21  Sven Neumann  <sven@gimp.org>
2219         * app/tools/gimpdrawtool.c (gimp_draw_tool_real_draw): moved
2220         vectors drawing to its own function.
2222 2008-11-21  Sven Neumann  <sven@gimp.org>
2224         * app/tools/gimpdrawtool.[ch]: reordered functions to keep those
2225         that actually draw together.
2227 2008-11-21  Sven Neumann  <sven@gimp.org>
2229         * app/core/gimpprojection.c (gimp_projection_get_tiles_at_level)
2230         cosmetics.
2232         * app/display/gimpdisplayshell-render.[ch]: added const qualifier.
2234 2008-11-21  Martin Nordholts  <martinn@svn.gnome.org>
2236         * app/widgets/gimpcolormapeditor.c
2237         * app/widgets/gimpselectioneditor.c: For consistency, prefix the
2238         #warning:s with FIXME.
2240 2008-11-21  Martin Nordholts  <martinn@svn.gnome.org>
2242         * app/core/gimpcontainer.[ch]: Move the rest of the class instance
2243         members to GimpContainerPriv and rename the member num_children to
2244         n_children.
2246 2008-11-21  Martin Nordholts  <martinn@svn.gnome.org>
2248         Use GimpContainer getters instead of poking into the class
2249         instance struct.
2251         * app/actions/context-commands.c
2252         * app/actions/data-commands.c
2253         * app/actions/plug-in-commands.c
2254         * app/actions/templates-commands.c
2255         * app/core/gimp-utils.c
2256         * app/core/gimpdrawablestack.c
2257         * app/core/gimpitemstack.c
2258         * app/core/gimplist.c
2259         * app/gui/gui-vtable.c
2260         * app/widgets/gimpcontainerbox.c
2261         * app/widgets/gimpcontainercombobox.c
2262         * app/widgets/gimpcontainereditor.c
2263         * app/widgets/gimpcontainerentry.c
2264         * app/widgets/gimpcontainergridview.c
2265         * app/widgets/gimpcontainerpopup.c
2266         * app/widgets/gimpcontainertreeview-dnd.c
2267         * app/widgets/gimpcontainertreeview.c
2268         * app/widgets/gimpcontainerview-utils.c
2269         * app/widgets/gimpcontainerview.c
2270         * app/widgets/gimpdataeditor.c
2271         * app/widgets/gimpdatafactoryview.c
2272         * app/widgets/gimpsettingsbox.c
2273         * app/widgets/gimpviewablebutton.c
2275 2008-11-20  Martin Nordholts  <martinn@svn.gnome.org>
2277         s/gimp_container_children_type/gimp_container_get_children_type/
2278         s/gimp_container_policy/gimp_container_get_policy/
2279         s/gimp_container_num_children/gimp_container_get_n_children/
2281         * app/actions/actions.c
2282         * app/actions/file-actions.c
2283         * app/actions/file-commands.c
2284         * app/actions/tool-options-actions.c
2285         * app/actions/tools-actions.c
2286         * app/actions/tools-commands.c
2287         * app/actions/vectors-actions.c
2288         * app/core/gimpcontainer-filter.c
2289         * app/core/gimpcontainer.c
2290         * app/core/gimpcontainer.h
2291         * app/core/gimpimage-convert.c
2292         * app/core/gimpimage-flip.c
2293         * app/core/gimpimage-merge.c
2294         * app/core/gimpimage-resize.c
2295         * app/core/gimpimage-rotate.c
2296         * app/core/gimpimage-scale.c
2297         * app/core/gimpimage-undo.c
2298         * app/core/gimpimage.c
2299         * app/core/gimpimagefile.c
2300         * app/core/gimplist.c
2301         * app/core/gimpundostack.c
2302         * app/dialogs/palette-import-dialog.c
2303         * app/dialogs/quit-dialog.c
2304         * app/display/gimpdisplay.c
2305         * app/display/gimpdisplayshell-layer-select.c
2306         * app/display/gimpdisplayshell-title.c
2307         * app/gui/gui-vtable.c
2308         * app/menus/tool-options-menu.c
2309         * app/tools/gimp-tools.c
2310         * app/widgets/gimpcontrollerlist.c
2311         * app/widgets/gimpimagepropview.c
2312         * app/widgets/gimpsettingsbox.c
2313         * app/widgets/gimpviewablebutton.c
2314         * app/xcf/xcf-load.c
2315         * app/xcf/xcf-save.c
2317 2008-11-20  Martin Nordholts  <martinn@svn.gnome.org>
2319         * app/core/gimpcontainer.[ch]: Don't expose class instance members
2320         marked as private.
2322 2008-11-20  Michael Natterer  <mitch@gimp.org>
2324         * app/core/gimpundo.h (struct GimpUndoAccumulator): remove members
2325         "quick_mask_changed" and "alpha_changed" (the former was unused
2326         and the latter is entirely handled by the image's flush
2327         accumulator now.
2329         * app/core/gimpimage-undo.c
2330         * app/core/gimplayerundo.c: changed accordingly.
2332 2008-11-20  Michael Natterer  <mitch@gimp.org>
2334         * app/core/gimplayer.c: add read-only "mask" property.
2336 2008-11-20  Michael Natterer  <mitch@gimp.org>
2338         * app/core/gimpimage-quick-mask.c (gimp_image_get_quick_mask_state):
2339         image->quick_mask_state is a boolean, return it directly instead
2340         of "state != NULL".
2342 2008-11-19  Sven Neumann  <sven@gimp.org>
2344         Bug 558454 – Plugin Map Color Range disappears from GIMP
2346         * plug-ins/script-fu/scripts/Makefile.am
2348         * plug-ins/script-fu/scripts/plug-in-compat.init: new file
2349         providing compatibility with plug-ins from older GIMP
2350         versions. Contains a reimplementation of plug-in-color-map based
2351         on ideas and code from Eric Lamarque.
2353         * plug-ins/script-fu/scheme-wrapper.c (tinyscheme_init): load the
2354         plug-in-compat.init file.
2356 2008-11-19  Martin Nordholts  <martinn@svn.gnome.org>
2358         * README: Remove reference to the inactive gimpwin-users mailing
2359         list.
2361 2008-11-18  Martin Nordholts  <martinn@svn.gnome.org>
2363         Bug 559239 – Error while loading psd-data
2365         * plug-ins/file-psd/psd-layer-res-load.c (load_layer_resource):
2366         Layer resource data should not be padded.
2368 2008-11-18  Sven Neumann  <sven@gimp.org>
2370         * plug-ins/common/unit-editor.c (columns): corrected column
2371         tooltip (pointed out by Cristian Secară).
2373 2008-11-17  Michael Natterer  <mitch@gimp.org>
2375         * app/core/gimpdrawable.c (gimp_drawable_visibility_changed):
2376         chain up unconditionally.
2378 2008-11-17  Michael Natterer  <mitch@gimp.org>
2380         * app/core/gimplayer.[ch]: add boolean property
2381         "floating-selection" which indicates if the layer is a floating
2382         selection. Add new API gimp_layer_set_floating_sel_drawable()
2383         which sets layer->fs.drawable and emits notify on the property.
2384         Did some minor cleanup in the existing property code.
2386         * app/core/gimpfloatingselundo.c: use the new function instead of
2387         setting layer->fs.drawable manually.
2389         * app/core/gimplayer-floating-sel.c: same here. Remove some
2390         includes and local variables that are obsolete.
2392 2008-11-16  Martin Nordholts  <martinn@svn.gnome.org>
2394         * app/widgets/gimpcontainertreeview.[ch]
2395         * app/widgets/gimpcontainertreeview-private.h: Make the
2396         renderer_cells and toggle_cells members private.
2398         (gimp_container_tree_view_set_main_column_title)
2399         (gimp_container_tree_view_prepend_toggle_cell_renderer)
2400         (gimp_container_tree_view_prepend_cell_renderer): New interface.
2402         * app/widgets/gimptoolview.c
2403         * app/widgets/gimpitemtreeview.c
2404         * app/widgets/gimplayertreeview.c
2405         * app/widgets/gimpcontrollerlist.c: Use new interface.
2407 2008-11-16  Michael Natterer  <mitch@gimp.org>
2409         * app/dialogs/module-dialog.c
2410         * app/display/gimpscalecombobox.c
2411         * app/tools/gimpgegltool.c
2412         * app/tools/gimprectangleoptions.c
2413         * app/widgets/gimpactionview.[ch]
2414         * app/widgets/gimpcomponenteditor.c
2415         * app/widgets/gimpcontainerentry.[ch]
2416         * app/widgets/gimpcontrollereditor.c
2417         * app/widgets/gimpcontrollerlist.c
2418         * app/widgets/gimpfileprocview.c: s/NUM_COLUMNS/N_COLUMNS/
2420 2008-11-16  Martin Nordholts  <martinn@svn.gnome.org>
2422         * app/widgets/gimpcontainertreeview.[ch]: Move container tree view
2423         model column enums here and call the last enum _N_COLUMNS.
2425         * app/widgets/widgets-enums.h: Remove the enum. It was meant only
2426         for the container tree view class hierarchy anyway.
2428 2008-11-16  Martin Nordholts  <martinn@svn.gnome.org>
2430         * app/widgets/gimpcontainertreeview.[ch]
2431         (gimp_container_tree_view_set_dnd_drop_to_empty): New setter
2432         function so that we can make the "gboolean dnd_drop_to_empty"
2433         class instance member private.
2435         * app/widgets/gimpcontainertreeview-private.h: Move member here.
2437         * app/widgets/gimpcontainertreeview-dnd.c: Go through priv pointer.
2439         * app/widgets/gimpitemtreeview.c (gimp_item_tree_view_init): Use
2440         the new function.
2442 2008-11-16  Sven Neumann  <sven@gimp.org>
2444         * app/app.c
2445         * app/gegl/gimp-gegl.[ch] (gimp_gegl_init): set the GEGL cache size
2446         as large as the GIMP tile-cache.
2448 2008-11-16  Sven Neumann  <sven@gimp.org>
2450         * app/display/gimpdisplayshell.h: optimize access to
2451         GimpDisplayShell struct members by placing related and frequently
2452         accessed members like like scale and offset into the same
2453         cacheline.
2455         * app/display/gimpdisplayshell.c (gimp_display_shell_init): resort
2456         initialization accordingly.
2458 2008-11-15  Martin Nordholts  <martinn@svn.gnome.org>
2460         * app/widgets/widgets-enums.h: Put the GimpContainerTreeView enums
2461         here instead of exposing them through silly class instance
2462         members.
2464         * app/widgets/gimpcontainertreeview.[ch]:
2465         * app/widgets/gimpcontainertreeview-dnd.c
2466         * app/widgets/gimpdatafactoryview.c
2467         * app/widgets/gimpitemtreeview.c
2468         * app/widgets/gimplayertreeview.c
2469         * app/widgets/gimpsettingseditor.c
2470         * app/widgets/gimptemplateview.c
2471         * app/widgets/gimptoolview.c: Clean up and use new enum names.
2473 2008-11-15  Martin Nordholts  <martinn@svn.gnome.org>
2475         * app/widgets/gimpcontainertreeview.[ch]: Don't expose class
2476         instance struct members that is currently only used within the
2477         GimpContainerTreeView implementation.
2479         * app/widgets/gimpcontainertreeview-private.h: New file containing
2480         the definition of the private struct.
2482         * app/widgets/gimpcontainertreeview-dnd.c: Change accordingly.
2484         * app/widgets/Makefile.am: Add new file.
2486 2008-11-15  Martin Nordholts  <martinn@svn.gnome.org>
2488         * app/widgets/gimpcontainertreeview.h: Remove unused instance
2489         struct member "GQuark invalidate_preview_handler_id".
2491 2008-11-15  Michael Natterer  <mitch@gimp.org>
2493         Bug 560897 – Floating Selection, objects appearing in background
2495         * app/core/gimpdrawable.c (gimp_drawable_init_src_region): use the
2496         right offsets (not off_y for both x and y) when applying the
2497         floating selection.
2499 2008-11-15  Sven Neumann  <sven@gimp.org>
2501         * app/actions/debug-commands.c
2502         (debug_benchmark_projection_cmd_callback): run the benchmark in an
2503         idle callback.
2505 2008-11-15  Martin Nordholts  <martinn@svn.gnome.org>
2507         * app/actions/debug-actions.c: Fix mnemonics for the Debug sub
2508         menu and the Benchmark Projection item.
2510 2008-11-15  Martin Nordholts  <martinn@svn.gnome.org>
2512         Bug 560903 – Explicit zooming with e.g. '1' should handle
2513         zoom-focus better
2515         * app/display/display-enums.h: Added
2516         GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS.
2518         * app/display/gimpdisplayshell-scale.c
2519         (gimp_display_shell_scale_get_zoom_focus): Take the new enum into
2520         account; if the image is centered, keep it centered, else use the
2521         best-guess method.
2523         * app/actions/view-commands.c (view_zoom_explicit_cmd_callback):
2524         Use the new enum for explicit zooming.
2526         * app/display/display-enums.c: Regenerated.
2528 2008-11-15  Martin Nordholts  <martinn@svn.gnome.org>
2530         Bug 560245 – Zoom selection always centered in the Navigation tab
2532         * app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
2533         Also take the image center and not only the zoom focus point into
2534         account when deciding whether or not to center the image after
2535         zoom.
2537 2008-11-14  Michael Natterer  <mitch@gimp.org>
2539         * app/core/gimpimage.[ch] (struct GimpImageFlushAccumulator):
2540         add member "gboolean floating_selection_changed".
2542         (gimp_image_set_floating_selection): new function which sets
2543         the image's floating_sel pointer and sets the flag in the
2544         accumulator to TRUE for later signal emission on flush.
2546         (gimp_image_projectable_flush): emit "floating-selection-changed"
2547         if the flag in the accumulator is TRUE.
2549         * app/core/gimpimage.c (gimp_image_add,remove_layer)
2550         * app/core/gimpfloatingselundo.c (gimp_floating_sel_undo_pop)
2551         * app/core/gimplayer-floating-sel.c (floating_sel_to_layer): use
2552         gimp_image_set_floating_selection() instead of setting
2553         image->floating_sel manually and remove all calls to
2554         gimp_image_floating_selection_changed().
2556 2008-11-14  Michael Natterer  <mitch@gimp.org>
2558         * app/core/gimpimage.[ch]: rename gimp_image_floating_sel() to
2559         gimp_image_get_floating_selection().
2561         * app/actions/channels-actions.c
2562         * app/actions/image-actions.c
2563         * app/actions/layers-actions.c
2564         * app/actions/layers-commands.c
2565         * app/actions/select-actions.c
2566         * app/core/gimpdrawable.c
2567         * app/core/gimpimage-duplicate.c
2568         * app/core/gimpimage-merge.c
2569         * app/core/gimpimage-quick-mask.c
2570         * app/core/gimplayer-floating-sel.c
2571         * app/core/gimpselection.c
2572         * app/display/gimpdisplayshell-layer-select.c
2573         * app/display/gimpdisplayshell.c
2574         * app/tools/gimpeditselectiontool.c
2575         * app/tools/gimpfreeselecttool.c
2576         * app/tools/gimpmovetool.c
2577         * app/tools/gimprectangleselecttool.c
2578         * app/tools/gimpregionselecttool.c
2579         * app/tools/gimpselectiontool.c
2580         * app/tools/gimptexttool.c
2581         * app/widgets/gimpdrawabletreeview.c
2582         * app/widgets/gimplayertreeview.c
2583         * app/xcf/xcf-save.c
2584         * tools/pdbgen/pdb/image.pdb: changed accordingly, replaced some
2585         instances of direct acces by the accessor.
2587         * app/pdb/image-cmds.c: regenerated.
2589 2008-11-14  Sven Neumann  <sven@gimp.org>
2591         * app/display/gimpdisplayshell-scroll.[ch]: removed function
2592         gimp_display_shell_scroll_get_scaled_viewport_offset() as it was
2593         only returning -shell->offset_x and -shell->offset_y and it
2594         started to show up in profiles.
2596         * app/display/gimpdisplayshell-draw.c
2597         * app/display/gimpdisplayshell-transform.c
2598         * app/display/gimpdisplayshell-scale.c: use the shell offsets
2599         directly.
2601 2008-11-14  Sven Neumann  <sven@gimp.org>
2603         * app/display/gimpdisplayshell-preview.c
2604         (gimp_display_shell_draw_quad): check that the resulting area has
2605         positive width and height.
2607 2008-11-13  Martin Nordholts  <martinn@svn.gnome.org>
2609         * app/display/gimpcursorview.[ch]: Move the instance struct to the
2610         header but add a typed opaque priv pointer to it so we can avoid
2611         exposing implementation details. Also move the class struct to the
2612         header.
2614 2008-11-13  Michael Natterer  <mitch@gimp.org>
2616         * tools/pdbgen/pdb/image.pdb (image_floating_sel_attached_to): get
2617         rid of useless casts.
2619         * app/pdb/image-cmds.c: regenerated.
2621 2008-11-13  Michael Natterer  <mitch@gimp.org>
2623         * app/core/gimpitem.c: add read-only boolean properties "visible"
2624         and "linked".
2626 2008-11-13  Sven Neumann  <sven@gimp.org>
2628         * app/core/gimpimage.[ch]: added gimp_image_get_display_name().
2630         * app/dialogs/palette-import-dialog.c
2631         * app/display/gimpdisplayshell-close.c
2632         * app/display/gimpdisplayshell-title.c
2633         * app/pdb/gimppdb-utils.c
2634         * app/widgets/gimpviewabledialog.c: use the new method instead of
2635         getting the image URI and mangling it with
2636         file_utils_uri_display_basename().
2638 2008-11-13  Sven Neumann  <sven@gimp.org>
2640         Bug 559292 – SOTA Chrome cannot accept different textures
2642         * app/pdb/gimppdb-utils.c (gimp_pdb_image_is_base_type)
2643         (gimp_pdb_image_is_not_base_type): gimp_object_get_name() may
2644         return NULL for images. Use gimp_image_get_uri() instead.
2646 2008-11-12  Øyvind Kolås  <pippin@gimp.org>
2648         * app/gegl/gimpoperationtilesource.c:
2649         (gimp_operation_tile_source_prepare),
2650         (gimp_operation_tile_source_process): cache the data in
2651         babl_format ("RaGaBaA float") instead of in the tile managers
2652         native pixel format to allow direct tile data access at projection
2653         compositing time.
2655 2008-11-12  Sven Neumann  <sven@gimp.org>
2657         * libgimpbase/gimpbase.def: sorted.
2658         * libgimpmodule/gimpmodule.def: updated.
2660 2008-11-12  Sven Neumann  <sven@gimp.org>
2662         * libgimpconfig/gimpconfig-path.c (gimp_config_path_expand_only):
2663         set the error in the GIMP_CONFIG_ERROR domain.
2665 2008-11-12  Sven Neumann  <sven@gimp.org>
2667         * libgimpmodule/gimpmodule.[ch]: added GIMP_MODULE_ERROR domain.
2669         * modules/gimpinputdevicestore-hal.c
2670         * modules/gimpinputdevicestore-dx.c
2671         * modules/controller-dx-dinput.c: use GIMP_MODULE_ERROR as error
2672         domain instead of 0.
2674 2008-11-12  Sven Neumann  <sven@gimp.org>
2676         * app/core/Makefile.am
2677         * app/core/gimperror.[ch]: added GIMP_ERROR as general error domain.
2679         * app/core/gimpchannel.c
2680         * app/core/gimpdrawable-bucket-fill.c
2681         * app/core/gimpimage-convert.c
2682         * app/core/gimpimage-merge.c
2683         * app/core/gimpimage.c
2684         * app/core/gimplayer-floating-sel.c
2685         * app/core/gimplayer.c
2686         * app/core/gimplayermask.c
2687         * app/core/gimpselection.c
2688         * app/core/gimptooloptions.c
2689         * app/paint/gimpbrushcore.c
2690         * app/paint/gimpclone.c
2691         * app/paint/gimpheal.c
2692         * app/paint/gimppaintcore-stroke.c
2693         * app/paint/gimpperspectiveclone.c
2694         * app/paint/gimpsourcecore.c
2695         * app/tools/gimpblendtool.c
2696         * app/tools/gimpbrightnesscontrasttool.c
2697         * app/tools/gimpcolorbalancetool.c
2698         * app/tools/gimpcolorizetool.c
2699         * app/tools/gimpcurvestool.c
2700         * app/tools/gimpdesaturatetool.c
2701         * app/tools/gimpgegltool.c
2702         * app/tools/gimphuesaturationtool.c
2703         * app/tools/gimplevelstool.c
2704         * app/tools/gimpposterizetool.c
2705         * app/tools/gimpthresholdtool.c
2706         * app/vectors/gimpvectors-import.c: use GIMP_ERROR as error domain
2707         instead of 0, which is not accepted by g_set_error_literal().
2709         * app/gui/session.c
2710         * app/menus/menus.c
2711         * app/vectors/gimpvectors-export.c
2712         * app/widgets/gimpdevices.c: use G_FILE_ERROR as error domain for
2713         file errors.
2715 2008-11-12  Sven Neumann  <sven@gimp.org>
2717         * app/plug-in/plug-in-icc-profile.c: use the GIMP_PLUG_IN_ERROR
2718         domain.
2720 2008-11-12  Sven Neumann  <sven@gimp.org>
2722         * app/pdb/gimppdberror.h
2723         * app/plug-in/gimppluginerror.h: added generic error codes.
2725         * app/pdb/gimpprocedure.c
2726         * app/plug-in/gimppluginprocedure.c: use the GIMP_PDB_ERROR and
2727         GIMP_PLUG_IN_ERROR domains.
2729 2008-11-12  Martin Nordholts  <martinn@svn.gnome.org>
2731         * app/tools/gimptransformtool.c: Align static function prototypes.
2733 2008-11-11  Sven Neumann  <sven@gimp.org>
2735         Bug 557830 – PDB browser chokes as you are entering regex
2736         characters
2738         * libgimp/gimpprocbrowserdialog.c: check if the query is a valid
2739         regex before calling gimp_procedural_db_query().
2741 2008-11-11  Michael Natterer  <mitch@gimp.org>
2743         * app/core/gimpitem.c: add read-only "offset-x" and "offset-y"
2744         properties. Call gimp_item_set_offset() from all places that set
2745         offset_x and offset_y in this file. Freeze and thaw GObject
2746         notification around all calls to virtual functions which might
2747         emit notify. Add missing notifications whenever width and height
2748         change.
2750         * app/core/gimpimage-rotate.c: use gimp_item_set_offset() instead
2751         of setting the values manually.
2753 2008-11-11  Sven Neumann  <sven@gimp.org>
2755         Bug 560300 – Document History did not clear when "Keep record of
2756         used files" was unchecked
2758         * app/actions/documents-commands.c (documents_clear_cmd_callback):
2759         don't purge the entire GtkRecentManager, but only clear items
2760         added by GIMP. Do this regardless of the "save-document-history"
2761         gimprc option.
2763 2008-11-11  Sven Neumann  <sven@gimp.org>
2765         Bug 560375 – Clearing an already empty document history crashes GIMP
2767         * app/actions/documents-commands.c (documents_clear_cmd_callback):
2768         gtk_recent_manager_purge_items() may return 0 but not set an
2769         error.
2771 2008-11-11  Michael Natterer  <mitch@gimp.org>
2773         Bug 559580 – Image windows need better default locations
2775         * app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
2776         Only set GDK_HINT_USER_POS on the empty display because it gets a
2777         position set by gimp. All other displays should be placed by the
2778         window manager. Fixes all displays appearing at 0,0.
2780 2008-11-11  Sven Neumann  <sven@gimp.org>
2782         Bug 558797 – "Export Path" doesn't remember last used folder
2784         * app/actions/vectors-commands.c: remember last-used folders in
2785         the Path Import and Export dialogs.
2787 2008-11-11  Sven Neumann  <sven@gimp.org>
2789         Bug 560283 – "Scale image..." causes distortion around edges.
2791         * app/paint-funcs/scale-region.c (scale): corrected fix for
2792         bug #556248.
2794 2008-11-11  Sven Neumann  <sven@gimp.org>
2796         * plug-ins/common/file-pdf.c: also return image type and number of
2797         pages. Followup to bug #559725.
2799 2008-11-11  Sven Neumann  <sven@gimp.org>
2801         * plug-ins/common/file-gif-load.c: return image size from the
2802         "file-gif-load-thumb" procedure.
2804 2008-11-10  Martin Nordholts  <martinn@svn.gnome.org>
2806         * app/display/gimpcursorview.c
2807         (gimp_cursor_view_update_cursor): Show selection info from the
2808         image under the cursor.
2810         (gimp_cursor_view_clear_cursor): Start showing selection info from
2811         the active image again.
2813 2008-11-10  Michael Natterer  <mitch@gimp.org>
2815         * app/core/gimpprojection.[ch]
2816         * app/core/gimpprojection-construct.c: add code that keeps the
2817         gegl processor around across calls, but destroy it anyway until
2818         gegl_processor_set_rectangle() is fixed.
2820 2008-11-10  Martin Nordholts  <martinn@svn.gnome.org>
2822         Bug 559716 – Changing crop size in Crop Tool Options can make UI
2823         unresponsive
2825         * app/tools/gimprectangletool.c: Accept a broader range of x, y,
2826         width and height values from the tool options so we don't end up
2827         in an infinite signal emission loop.
2829 2008-11-10  Sven Neumann  <sven@gimp.org>
2831         * app/display/gimpcursorview.c: added translation context.
2833 2008-11-10  Martin Nordholts  <martinn@svn.gnome.org>
2835         Bug 138101 – Pointer (Information) tab should display selection
2836         bounds
2838         * app/display/gimpcursorview.c: Show the position and size of the
2839         bounding box of the selection in the active image using the unit
2840         of the active image window.
2842         (gimp_cursor_view_format_as_unit): Don't add the unit abbreviation
2843         if the unit is px.
2845 2008-11-10  Michael Natterer  <mitch@gimp.org>
2847         * app/core/gimpdrawable-curves.c (gimp_drawable_curves_explicit):
2848         use GIMP_CURVE_FREE, not _SMOOTH. Fixes the resp. PDB call.
2850 2008-11-10  Sven Neumann  <sven@gimp.org>
2852         * app/core/gimpunit.c: use NC_() to provide translation contexts.
2854 2008-11-10  Sven Neumann  <sven@gimp.org>
2856         * plug-ins/common/unsharp-mask.c (unsharp_region): update the
2857         progress less often.
2859 2008-11-10  Sven Neumann  <sven@gimp.org>
2861         * app/actions/text-tool-actions.c (text_tool_actions): added
2862         missing mnemonic.
2864 2008-11-10  Sven Neumann  <sven@gimp.org>
2866         Bug 559725 – Allow to set image-type and image-num-layers for
2867         thumbnail
2869         * app/file/file-open.[ch] (file_open_thumbnail): added parameters
2870         for image-type and number of layers. Try to get these from the
2871         procedure return values. Changes based on a patch from "tks".
2873         * app/core/gimpimagefile.c (gimp_imagefile_create_thumbnail)
2874         (gimp_thumbnail_set_info): set image-type and number of layers if
2875         specified.
2877 2008-11-10  Michael Natterer  <mitch@gimp.org>
2879         * app/core/gimpdrawable-foreground-extract.c
2880         * app/core/gimpdrawable-preview.c
2881         * app/core/gimplayer-project.c: use gimp_drawable_get_colormap()
2882         instead of gimp_image_get_colormap().
2884 2008-11-09  Martin Nordholts  <martinn@svn.gnome.org>
2886         Bug 558549 – Stroking a single-point path with a paint tool
2887         crashes GIMP
2889         * app/paint/gimppaintcore-stroke.c
2890         (gimp_paint_core_stroke_vectors): Return an error message if there
2891         were not enough points to stroke.
2893         * app/dialogs/stroke-dialog.c (stroke_dialog_response): Guard
2894         against crashes if an implementator forgets to set an error.
2896 2008-11-09  Martin Nordholts  <martinn@svn.gnome.org>
2898         * app/display/gimpnavigationeditor.c: Clean up and simplify
2899         little.
2901 2008-11-09  Martin Nordholts  <martinn@svn.gnome.org>
2903         * app/display/gimpdisplayshell-scale.c
2904         (gimp_display_shell_scale_update_rulers): Avoid critical warnings
2905         when converting an image window with a unit other than pixels into
2906         a the empty image window. Probably fixes some of the crashes
2907         reported by Windows users.
2909 2008-11-09  Michael Natterer  <mitch@gimp.org>
2911         * app/widgets/widgets-types.h: move GimpCursorView typedef from
2912         here...
2914         * app/display/display-types.h: ...to here.
2916 2008-11-09  Michael Natterer  <mitch@gimp.org>
2918         * app/core/gimplayer-floating-sel.[ch]: remove
2919         floating_sel_remove() and reorder one function.
2921         * app/core/gimpimage.c (gimp_image_remove_layer): add the single
2922         line of special code that needs to be done when removing a
2923         floating selection.
2925         * app/core/gimpselection.c
2926         * app/actions/layers-commands.c
2927         * tools/pdbgen/pdb/floating_sel.pdb: changed accordingly.
2929         * app/pdb/floating-sel-cmds.c: regenerated.
2931         * app/core/core-enums.[ch]
2932         * app/core/gimpimage-undo.c: remove enum value
2933         GIMP_UNDO_GROUP_FS_REMOVE.
2935 2008-11-09  Michael Natterer  <mitch@gimp.org>
2937         * app/core/gimpdrawable.c
2938         * app/core/gimpimage-convert.c
2939         * app/core/gimpprojection-construct.c
2940         * app/tools/gimpeditselectiontool.c
2941         * app/widgets/gimplayertreeview.c
2942         * app/xcf/xcf-save.c: remove inclusion of "gimplayer-floating-sel.h"
2944 2008-11-09  Martin Nordholts  <martinn@svn.gnome.org>
2946         Prepare GimpCursorView for a dependency to GimpDisplayShell.
2948         * app/widgets/gimpcursorview.[ch]: Move from here...
2950         * app/display/gimpcursorview.[ch]: ...to here.
2952         * app/widgets/Makefile.am
2953         * app/display/Makefile.am: Change accordingly.
2955         * app/actions/cursor-info-actions.c
2956         * app/dialogs/dialogs-constructors.c
2957         * app/actions/cursor-info-commands.c
2958         * app/display/gimpdisplayshell-cursor.c: Update includes.
2960 2008-11-09  Michael Natterer  <mitch@gimp.org>
2962         * app/core/gimplayer-floating-sel.[ch]: made
2963         floating_sel_composite() private and simplify it a lot by using
2964         gimp_rectangle_intersect().
2966 2008-11-09  Michael Natterer  <mitch@gimp.org>
2968         Bye bye floating_sel_rigor() and floating_sel_relax():
2970         * app/core/gimpdrawable.[ch] (gimp_drawable_init_src_region):
2971         implement compositing the floating selection on the fly. Add
2972         return parameter "TileManager **temp_tiles" which returns the temp
2973         buffer used for compositing; the caller has to unref the tiles.
2975         * app/core/gimpchannel-project.c
2976         * app/core/gimplayer-project.c: unref the temp_tiles.
2978         * app/core/gimplayer.[ch]: remove members fs.backing_store and
2979         fs.initial.
2981         * app/core/gimplayer-floating-sel.[ch]: remove functions rigor(),
2982         relax(), store() and restore(), they are not needed any longer.
2983         Some minor cleanup, more to come.
2985         * app/core/gimpprojection-construct.c: don't composite the
2986         floating selection before projecting because that happens on the
2987         fly now.
2989         * app/core/core-enums.[ch]
2990         * app/core/gimpfloatingselundo.c
2991         * app/core/gimpimage-undo-push.[ch]: remove the rigor and relax
2992         undos.
2994         * app/core/gimpdrawable.c
2995         * app/core/gimpimage-convert.c
2996         * app/core/gimpimage-duplicate.c
2997         * app/core/gimpimage.c
2998         * app/core/gimplayer.c
2999         * app/xcf/xcf-save.c: remove all calls to rigor and relax and all
3000         implementations of virtual functions that were just there to
3001         rigor/releax around chaining up.
3003         * tools/pdbgen/pdb/floating_sel.pdb: remove all code from the
3004         rigor and relax wrappers and deprecate the API.
3006         * app/pdb/floating-sel-cmds.c
3007         * libgimp/gimpfloatingsel_pdb.[ch]: regenerated.
3009         * plug-ins/file-xjt/xjt.c: don't call rigor and relax.
3011 2008-11-09  Martin Nordholts  <martinn@svn.gnome.org>
3013         * app/widgets/gimpcursorview.[ch]: Don't expose implementation
3014         details, introduce internal helper functions, and make coordinates
3015         outside the image be represented with an italic font instead of
3016         enclosed in parenthesis.
3018 2008-11-08  Michael Natterer  <mitch@gimp.org>
3020         * app/core/gimpdrawable.[ch]: add optional parameter "PixelRegion
3021         *destPR" to GimpDrawable::apply_region().
3023         * app/core/gimpdrawable-combine.[ch]: if the passed destPR is !=
3024         NULL, write the result of the combination into that region instead
3025         of the drawable's tiles. The region must have the exact size of
3026         the result.
3028         * app/core/gimp-edit.c
3029         * app/core/gimpchannel.c
3030         * app/core/gimpdrawable-blend.c
3031         * app/core/gimpdrawable-bucket-fill.c
3032         * app/core/gimpdrawable-shadow.c
3033         * app/core/gimpdrawable-stroke.c
3034         * app/core/gimpimagemap.c
3035         * app/core/gimplayer-floating-sel.c
3036         * app/paint/gimppaintcore.c: pass NULL as destPR. Code actually
3037         using this feature follows.
3039 2008-11-08  Michael Natterer  <mitch@gimp.org>
3041         * app/core/gimpdrawable.[ch]: add new function
3042         gimp_drawable_init_src_region() which will initialize a
3043         PixelRegion on this drawable's "projection" (with the floating
3044         selection combined), but for now just uses drawable->tiles.
3046         * app/core/gimpchannel-project.c
3047         * app/core/gimplayer-project.c: use it instead of
3048         pixel_region_init() on the drawable's tiles.
3050 2008-11-08  Michael Natterer  <mitch@gimp.org>
3052         * app/core/gimpdrawable-combine.c: cleanup.
3054 2008-11-08  Michael Natterer  <mitch@gimp.org>
3056         Abstract the legacy projection code away into a virtual function
3057         of GimpDrawable:
3059         * app/core/gimpdrawable.[ch]: add new virtual function
3060         GimpDrawable::project_region() which projects an area of a
3061         drawable onto a passed in PixelRegion.
3063         * app/core/Makefile.am
3064         * app/core/gimpchannel-project.[ch]
3065         * app/core/gimplayer-project.[ch]: new files which implement it.
3067         * app/core/gimpchannel.c
3068         * app/core/gimplayer.c: hook it in.
3070         * app/core/gimpprojection-construct.c: get rid all the projection
3071         code moved to above new files and project all drawables in one
3072         loop.
3074         * app/core/gimpprojectable.[ch]: remove the legacy methods
3075         get_colormap() and get_components(), they are not needed any
3076         longer.
3078         * app/core/gimpimage.c: changed accordingly.
3080 2008-11-07  Sven Neumann  <sven@gimp.org>
3082         * app/core/gimppalette-load.c (gimp_palette_load_aco): improved
3083         error handling. Fixes compiler warnings about ignoring the return
3084         value of read().
3086 2008-11-06  Michael Natterer  <mitch@gimp.org>
3088         * app/core/gimpdrawablestack.[ch]: move the invalidate_previews()
3089         API from here...
3091         * app/core/gimpitemstack.[ch]: ...to here.
3093         * app/core/gimpimage.c: changed accordingly.
3095 2008-11-06  Michael Natterer  <mitch@gimp.org>
3097         * app/core/Makefile.am
3098         * app/core/core-types.h
3099         * app/core/gimpitemstack.[ch]: new GimpList subclass which (for
3100         now) does nothing but taking ownership of its children by the
3101         means of g_object_ref_sink().
3103         * app/core/gimpdrawablestack.[ch]: derive from GimpItemStack.
3105         * app/core/gimpimage.c: use a GimpItemStack instead of a plain
3106         GimpList for the list of vectors. Remove code which takes
3107         ownerships of added items from gimp_image_add_layer(),
3108         add_channel() and add_vectors().
3110 2008-11-06  Nils Philippsen  <nils@redhat.com>
3112         * plug-ins/file-jpeg/jpeg-save.c: fix memory leak
3114 2008-11-06  Sven Neumann  <sven@gimp.org>
3116         * libgimpconfig/gimpconfigwriter.c (gimp_config_writer_linefeed):
3117         use g_set_error_literal() here as well.
3119 2008-11-06  Sven Neumann  <sven@gimp.org>
3121         * tools/gimp-mkenums: use NC_() to mark enum values for translation.
3122         Use a lower-case short form of the type name as translation context.
3124         * libgimp/libgimp-intl.h: define the NC_() macro as noop.
3126         * libgimpbase/gimpbasetypes.[ch]
3127         * libgimpbase/gimpbase.def: added new functions to set and
3128         get a translation context on an enum type.
3130         * app/base/Makefile.am
3131         * app/core/Makefile.am
3132         * app/display/Makefile.am
3133         * app/paint/Makefile.am
3134         * app/plug-in/Makefile.am
3135         * app/text/Makefile.am
3136         * app/tools/Makefile.am
3137         * app/widgets/Makefile.am
3138         * libgimp/Makefile.am
3139         * libgimpbase/Makefile.am:
3140         * libgimpconfig/Makefile.am
3141         * libgimpthumb/Makefile.am
3142         * libgimpwidgets/Makefile.am: register the translation context
3143         with the enum types.
3145         * app/display/display-enums.h
3146         * libgimpbase/gimpbaseenums.h
3147         * libgimpconfig/gimpcolorconfig-enums.h: removed old-style explicit
3148         translation context.
3150         * app/base/base-enums.c
3151         * app/core/core-enums.c
3152         * app/display/display-enums.c
3153         * app/paint/paint-enums.c
3154         * app/plug-in/plug-in-enums.c
3155         * app/text/text-enums.c
3156         * app/tools/tools-enums.c
3157         * app/widgets/widgets-enums.c
3158         * libgimpbase/gimpbaseenums.c
3159         * libgimpconfig/gimpcolorconfig-enums.c
3160         * libgimpwidgets/gimpwidgetsenums.c: regenerated.
3162 2008-11-05  Michael Natterer  <mitch@gimp.org>
3164         * app/core/gimpimage.c: some minor cleanups.
3166 2008-11-05  Michael Natterer  <mitch@gimp.org>
3168         * app/core/gimpdrawablestack.[ch]: add new function
3169         gimp_drawable_stack_invalidate_previews() which does just what it
3170         says.
3172         * app/core/gimpimage.[ch]: merge invalidate_layer_previews() and
3173         invalidate_channels_previews() into a single invalidate_previews()
3174         and replace all calls to the old functions by calls to
3175         gimp_drawable_stack_invalidate_previews().
3177         * app/file/file-open.c: changed accordingly.
3179 2008-11-05  Michael Natterer  <mitch@gimp.org>
3181         * app/core/gimpimage-convert.c (gimp_image_convert): remove call
3182         to gimp_image_invalidate_layer_previews(), they are invalidated by
3183         exchanging their tiles and by setting the image's colormap anyway.
3185 2008-11-05  Michael Natterer  <mitch@gimp.org>
3187         This should remove any image or viewable dependency from the
3188         projection (apart from the projectable's get_image() method, but
3189         that one is not supposed to return the projection's model but
3190         rather the image the projection is part of).
3192         * app/core/gimpprojectable.[ch]: add vfunc get_size() which
3193         completes the API needed for GEGL projection.
3195         Add vfuncs get_layers(), get_channels(), get_components() and
3196         get_colormap() which are needed for the legacy projection code.
3198         * app/core/gimpimage.c: implement the new methods.
3200         * app/core/gimpprojection.c
3201         * app/core/gimpprojection-construct.c: use them and remove all
3202         calls to image and viewable API.
3204 2008-11-05  Sven Neumann  <sven@gimp.org>
3206         * po-libgimp/Makefile.in.in
3207         * po-plug-ins/Makefile.in.in
3208         * po-python/Makefile.in.in
3209         * po-script-fu/Makefile.in.in
3210         * po-tips/Makefile.in.in
3211         * po/Makefile.in.in: prepared for use of the NC_() macro.
3213 2008-11-05  Michael Natterer  <mitch@gimp.org>
3215         * app/core/gimpprojectable.[ch]: add signal "structure-changed"
3216         and API to emit it.
3218         * app/core/gimpimage.c: emit it when the image emits
3219         "mode-changed" and "size-changed".
3221         * app/core/gimpprojection.c: connect to the new signal instead of
3222         "mode-changed" and "size-changed" to get rid of one more image
3223         dependency.
3225 2008-11-04  Sven Neumann  <sven@gimp.org>
3227         * app/display/gimpdisplayshell-dnd.c
3228         (gimp_display_shell_drop_uri_list): when dropping multiple images
3229         to the empty image window, open them as seperate images.
3231 2008-11-04  Michael Natterer  <mitch@gimp.org>
3233         * app/core/gimpprojectable.[ch]: add vitrual function
3234         invalidate_preview().
3236         * app/core/gimpimage.c: implement it and redirect to
3237         gimp_viewable_invalidate_preview().
3239         * app/core/gimpprojection.c: call the new API instead of
3240         gimp_viewable_invalidate_preview(). Some cleanup in the disabled
3241         cow-projection code.
3243 2008-11-04  Michael Natterer  <mitch@gimp.org>
3245         Unfinished first step to make the projection independent of
3246         GimpImage, also one step closer to layer grouping.
3248         * app/core/Makefile.am
3249         * app/core/core-types.h
3250         * app/core/gimpprojectable.[ch]: add new interface which abstracts
3251         something that can have a projection attached to it. Has "update"
3252         and "flush" signals and get_graph() and get_image()
3253         vfuncs. get_image() is temporary until the hack is finishes.
3255         * app/core/gimpimage.[ch]: implement GimpProjectableInterface,
3256         remove "update" and "flush" signals and made get_graph() a private
3257         implementation of the interface method. Moved interface method
3258         implementations after virtual function implementations.
3260         * app/core/gimpprojection.[ch]: change member "image" to
3261         "projectable" and use the projectable API as often as
3262         possible. Still some implicit dependencies on the projectable
3263         being an image left but it's getting close.
3265         * app/core/gimpprojection-construct.c: same here.
3267 2008-11-04  Sven Neumann  <sven@gimp.org>
3269         * app/display/gimpdisplay-foreach.c: added missing include.
3271         * app/actions/debug-commands.c
3272         * plug-ins/common/lcms.c
3273         * plug-ins/common/mail.c
3274         * plug-ins/file-bmp/bmp-write.c
3275         * plug-ins/file-fits/fits.c
3276         * plug-ins/file-jpeg/jpeg.c
3277         * plug-ins/file-uri/uri.c
3278         * plug-ins/help/gimphelpdomain.c
3279         * plug-ins/ifs-compose/ifs-compose.c
3280         * plug-ins/print/print.c: fixed use of g_message() with literal
3281         strings.
3283 2008-11-04  Sven Neumann  <sven@gimp.org>
3285         * configure.in: bumped minimum required version of GLib to 2.18.0.
3287         * INSTALL: document the updated dependency.
3289         * app/core/gimp.[ch]: introduced gimp_message_literal(), a variant
3290         of gimp_message() that takes a literal string.
3292         * app/errors.[ch]: removed format arguments from gimp_fatal_error()
3293         and gimp_terminate() and let them take a literal string instead.
3295         * app/tools/gimptool.[ch]: introduced gimp_tool_message_literal(),
3296         a variant of gimp_tool_message() that takes a literal string.
3298         * app/actions/documents-commands.c
3299         * app/actions/drawable-commands.c
3300         * app/actions/edit-commands.c
3301         * app/actions/error-console-commands.c
3302         * app/actions/file-commands.c
3303         * app/actions/gradients-commands.c
3304         * app/actions/image-commands.c
3305         * app/actions/layers-commands.c
3306         * app/actions/palettes-commands.c
3307         * app/actions/plug-in-commands.c
3308         * app/actions/select-commands.c
3309         * app/actions/vectors-commands.c
3310         * app/config/gimprc.c
3311         * app/core/gimp-modules.c
3312         * app/core/gimp-parasites.c
3313         * app/core/gimp-templates.c
3314         * app/core/gimp-units.c
3315         * app/core/gimpchannel.c
3316         * app/core/gimpcontainer-filter.c
3317         * app/core/gimpdrawable-bucket-fill.c
3318         * app/core/gimpimage-convert.c
3319         * app/core/gimpimage-merge.c
3320         * app/core/gimpimage.c
3321         * app/core/gimpimagefile.c
3322         * app/core/gimplayer-floating-sel.c
3323         * app/core/gimplayer.c
3324         * app/core/gimpselection.c
3325         * app/dialogs/convert-dialog.c
3326         * app/dialogs/dialogs.c
3327         * app/dialogs/palette-import-dialog.c
3328         * app/dialogs/preferences-dialog.c
3329         * app/dialogs/quit-dialog.c
3330         * app/dialogs/stroke-dialog.c
3331         * app/display/gimpdisplayshell-dnd.c
3332         * app/file/file-open.c
3333         * app/file/file-procedure.c
3334         * app/file/file-save.c
3335         * app/file/file-utils.c
3336         * app/gegl/gimpcurvesconfig.c
3337         * app/gegl/gimplevelsconfig.c
3338         * app/gui/gui-message.c
3339         * app/gui/gui.c
3340         * app/gui/session.c
3341         * app/paint/gimpbrushcore.c
3342         * app/paint/gimpclone.c
3343         * app/paint/gimpheal.c
3344         * app/paint/gimpperspectiveclone.c
3345         * app/paint/gimpsourcecore.c
3346         * app/pdb/gimppdb-utils.c
3347         * app/pdb/gimpprocedure.c
3348         * app/plug-in/gimpplugin-message.c
3349         * app/plug-in/gimpplugin.c
3350         * app/plug-in/gimppluginmanager-restore.c
3351         * app/plug-in/gimppluginprocedure.c
3352         * app/text/gimptextlayer.c
3353         * app/tools/gimp-tools.c
3354         * app/tools/gimpaligntool.c
3355         * app/tools/gimpblendtool.c
3356         * app/tools/gimpbrightnesscontrasttool.c
3357         * app/tools/gimpbucketfilltool.c
3358         * app/tools/gimpcolorbalancetool.c
3359         * app/tools/gimpcolorpickertool.c
3360         * app/tools/gimpcurvestool.c
3361         * app/tools/gimpdesaturatetool.c
3362         * app/tools/gimpeditselectiontool.c
3363         * app/tools/gimpforegroundselecttool.c
3364         * app/tools/gimpfreeselecttool.c
3365         * app/tools/gimpgegltool.c
3366         * app/tools/gimphuesaturationtool.c
3367         * app/tools/gimpimagemaptool-settings.c
3368         * app/tools/gimpiscissorstool.c
3369         * app/tools/gimplevelstool.c
3370         * app/tools/gimpmeasuretool.c
3371         * app/tools/gimppainttool.c
3372         * app/tools/gimpposterizetool.c
3373         * app/tools/gimpselectiontool.c
3374         * app/tools/gimpsourcetool.c
3375         * app/tools/gimpthresholdtool.c
3376         * app/tools/gimptransformtool.c
3377         * app/tools/gimpvectortool.c
3378         * app/widgets/gimpactionview.c
3379         * app/widgets/gimpcontrollerlist.c
3380         * app/widgets/gimpcontrollers.c
3381         * app/widgets/gimpdataeditor.c
3382         * app/widgets/gimpdevices.c
3383         * app/widgets/gimpdnd-xds.c
3384         * app/widgets/gimperrordialog.c
3385         * app/widgets/gimphelp.c
3386         * app/widgets/gimpitemtreeview.c
3387         * app/widgets/gimppdbdialog.c
3388         * app/widgets/gimpsettingsbox.c
3389         * app/widgets/gimpvectorstreeview.c
3390         * app/widgets/gimpwidgets-utils.c
3391         * app/xcf/xcf-load.c
3392         * tools/pdbgen/pdb/convert.pdb
3393         * tools/pdbgen/pdb/edit.pdb
3394         * tools/pdbgen/pdb/floating_sel.pdb
3395         * tools/pdbgen/pdb/image.pdb: use the _literal variants for
3396         g_set_error(), gimp_message() and gimp_tool_message().
3398         * app/pdb/convert-cmds.c
3399         * app/pdb/edit-cmds.c
3400         * app/pdb/floating-sel-cmds.c
3401         * app/pdb/image-cmds.c: regenerated.
3403 2008-11-04  Michael Natterer  <mitch@gimp.org>
3405         * app/core/gimpprojection.[ch]: remove public functions
3406         get_tiles(), get_image(), get_image_type() and get_bytes().
3408         * app/actions/debug-commands.c
3409         * app/actions/layers-commands.c
3410         * app/core/gimpprojection-construct.c
3411         * app/display/gimpdisplayshell-render.c
3412         * app/paint/gimppaintcore.c
3413         * tools/pdbgen/pdb/layer.pdb: use the GimpPickable API insatead.
3415         * app/pdb/layer-cmds.c: regenerated.
3417 2008-11-04  Sven Neumann  <sven@gimp.org>
3419         * app/base/tile-pyramid.[ch] (tile_pyramid_new):
3420         * app/core/gimpprojection.c (gimp_projection_get_tiles_at_level):
3421         reverted last change as the code in tile-pyramid does care about
3422         the pixel format and it should continue to reject types that it
3423         cannot handle.
3425 2008-11-04  Michael Natterer  <mitch@gimp.org>
3427         * app/base/tile-pyramid.[ch] (tile_pyramid_new): changed "type"
3428         parameter into "bytes" because tile managers don't care about
3429         the pixel format of their tiles. Reordered parameters to match
3430         tile_manager_new().
3432         * app/core/gimpprojection.c (gimp_projection_get_tiles_at_level):
3433         pass the bytes instead of the image type.
3435 2008-11-04  Sven Neumann  <sven@gimp.org>
3437         * app/text/Makefile.am
3438         * app/text/gimptext-private.h: removed this header file.
3440         * app/text/gimptextlayout.[ch]: added getters to access the
3441         resolution, text and PangoLayout.
3443         * app/text/gimptextlayout-render.c
3444         * app/tools/gimptexttool.c: use the new getters instead of poking
3445         into the GimpTextLayout struct.
3447 2008-11-04  Sven Neumann  <sven@gimp.org>
3449         * app/text/Makefile.am
3450         * app/text/gimptext-bitmap.[ch]: removed.
3452         * app/text/gimptext-private.h
3453         * app/text/gimptext-vectors.c
3454         * app/text/gimptextlayer.c
3455         * app/text/gimptextlayout-render.[ch]
3456         * app/text/gimptextlayout.c: removed text render abstraction as
3457         this is now sufficiently provided by PangoCairo.
3459 2008-11-03  Martin Nordholts  <martinn@svn.gnome.org>
3461         * app/gegl/gimpoperationpointlayermode.c
3462         (gimp_operation_point_layer_mode_process): Reuse the blending
3463         formula from the legacy Soft light. (Actually the formula comes
3464         from legacy Overlay but legacy Overlay and Soft light blends
3465         pixels exactly the same.) I hereby declare the porting of the
3466         layer modes to this GEGL operation complete. Summary:
3468         Completely works the same:
3470           Normal, Dissolve, Behind, Color Erase, Erase, Anti Erase
3472         Works the same for 100% opaque layers:
3474           Lighten only, Screen, Dodge, Addition, Darken only, Multiply,
3475           Dodge, Soft light, Hard light, Difference, Subtract, Grain
3476           extract, Grain merge, Divide, Hue, Saturation, Color, Value
3478         Works different but similar:
3480           Overlay now uses the SVG 1.2 overlay formula which is different
3481           but similar to legacy Overlay
3483           Replace needs to be externally masked to not replace too much,
3484           but that is outside the scope of the layer mode porting.
3486 2008-11-03  Martin Nordholts  <martinn@svn.gnome.org>
3488         * app/widgets/gimpwidgets-constructors.c
3489         (gimp_paint_mode_menu_new): Arrange layer modes into more logical
3490         and useful groups.
3492 2008-11-03  Sven Neumann  <sven@gimp.org>
3494         * app/base/Makefile.am
3495         * app/core/Makefile.am
3496         * app/display/Makefile.am
3497         * app/paint/Makefile.am
3498         * app/plug-in/Makefile.am
3499         * app/text/Makefile.am
3500         * app/tools/Makefile.am
3501         * app/widgets/Makefile.am
3502         * libgimp/Makefile.am
3503         * libgimpbase/Makefile.am:
3504         * libgimpconfig/Makefile.am
3505         * libgimpthumb/Makefile.am
3506         * libgimpwidgets/Makefile.am: micro-optimization in the generated
3507         enum registration code.
3509         * app/base/base-enums.c
3510         * app/core/core-enums.c
3511         * app/display/display-enums.c
3512         * app/paint/paint-enums.c
3513         * app/plug-in/plug-in-enums.c
3514         * app/text/text-enums.c
3515         * app/tools/tools-enums.c
3516         * app/widgets/widgets-enums.c
3517         * libgimpbase/gimpbaseenums.c
3518         * libgimpconfig/gimpcolorconfig-enums.c
3519         * libgimpwidgets/gimpwidgetsenums.c: regenerated.
3521 2008-11-03  Michael Natterer  <mitch@gimp.org>
3523         * app/core/gimp-edit.c
3524         * app/core/gimpchannel.c
3525         * app/core/gimpdrawable-transform.c
3526         * app/core/gimpdrawable.c
3527         * app/core/gimpdrawablemodundo.c
3528         * app/core/gimplayer.c
3529         * app/core/gimplayermask.c
3530         * app/core/gimpselection.c
3531         * app/text/gimptext-compat.c
3532         * app/text/gimptextlayer-xcf.c
3533         * app/vectors/gimpvectorsmodundo.c
3534         * app/widgets/gimpviewrendererdrawable.c
3535         * app/xcf/xcf-load.c
3536         * app/xcf/xcf-save.c
3537         * tools/pdbgen/pdb/layer.pdb: use accessors for item->offset_x,y.
3538         Some minor unrelated cleanups.
3540         * app/pdb/layer-cmds.c: regenerated.
3542 2008-11-03  Michael Natterer  <mitch@gimp.org>
3544         * app/actions/vectors-actions.c: include "gimpcontainer.h".
3546 2008-11-03  Michael Natterer  <mitch@gimp.org>
3548         * app/core/gimpdrawable.[ch] (gimp_drawable_set_tiles): add
3549         "GimpImageType type" parameter because there are only a few calls
3550         to this function which (can easily pass the current type); however
3551         most calls to gimp_drawable_set_tiles_full() were just using the
3552         function because of the type argument and passed in the item's
3553         current offsets (which means peeking into the item struct or using
3554         temp variables).
3556         * app/core/gimpdrawable-offset.c (gimp_drawable_offset)
3557         * app/text/gimptextlayer.c (gimp_text_layer_render)
3558         * app/tools/gimptransformtool.c (gimp_transform_tool_doit): pass
3559         the type to set_tiles().
3561         * app/core/gimpchannel.c (gimp_channel_convert)
3562         * app/core/gimpimage-convert.c (gimp_image_convert)
3563         * app/core/gimplayer.c (gimp_layer_convert,add_alpha,flatten):
3564         change calls to set_tiles_full() into set_tiles() because the
3565         offset doesn't change.
3567 2008-11-03  Michael Natterer  <mitch@gimp.org>
3569         Bug 559015 – Move tool gives bad information about px moved
3571         * app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
3572         set cursor precision to PIXEL_BORDER because that's what the move
3573         tool snaps to.
3575         Unrelated: set CENTER_CROSS_SIZE to an odd number so it's drawn
3576         symmetrically.
3578 2008-11-03  Sven Neumann  <sven@gimp.org>
3580         Bug 559081 – JPEG Save dialog preview should adjust size units
3582         * plug-ins/file-jpeg/jpeg-save.c: use g_format_size_for_display()
3583         to display the JPEG file size.
3585 2008-11-03  Michael Natterer  <mitch@gimp.org>
3587         * app/core/gimpitem.[ch]: renamed
3588         gimp_item_width() to gimp_item_get_width() and
3589         gimp_item_height() to gimp_item_get_height().
3591         * app/actions/channels-commands.c
3592         * app/actions/drawable-commands.c
3593         * app/actions/layers-commands.c
3594         * app/core/<many>.c
3595         * app/dialogs/offset-dialog.c
3596         * app/dialogs/resize-dialog.c
3597         * app/dialogs/scale-dialog.c
3598         * app/display/gimpdisplayshell-dnd.c
3599         * app/display/gimpdisplayshell.c
3600         * app/paint/gimpbrushcore.c
3601         * app/paint/gimpdodgeburn.c
3602         * app/paint/gimpink.c
3603         * app/paint/gimppaintcore.c
3604         * app/paint/gimpsmudge.c
3605         * app/text/gimptextlayer-xcf.c
3606         * app/text/gimptextlayer.c
3607         * app/tools/gimpaligntool.c
3608         * app/tools/gimpeditselectiontool.c
3609         * app/tools/gimpforegroundselecttool.c
3610         * app/tools/gimpimagemaptool.c
3611         * app/tools/gimprectangletool.c
3612         * app/tools/gimpregionselecttool.c
3613         * app/tools/gimptexttool.c
3614         * app/vectors/gimpvectors.c
3615         * app/vectors/gimpvectorsmodundo.c
3616         * app/widgets/gimptoolbox-dnd.c
3617         * app/widgets/gimpviewrendererdrawable.c
3618         * app/widgets/gimpviewrenderervectors.c
3619         * app/xcf/xcf-load.c
3620         * app/xcf/xcf-save.c
3621         * tools/pdbgen/pdb/drawable.pdb: changed accordingly.
3623         * app/pdb/drawable-cmds.c: regenerated.
3625 2008-11-03  Martin Nordholts  <martinn@svn.gnome.org>
3627         * app/core/gimpitem.c: Instantiate offset_node on-demand.
3629         * app/core/gimpdrawable.c: Use gimp_item_set_offset().
3631 2008-11-03  Michael Natterer  <mitch@gimp.org>
3633         * app/core/gimpitem.[ch]: renamed
3634         gimp_item_offsets() to gimp_item_get_offset() and
3635         gimp_item_set_offsets() to gimp_item_set_offset().
3637         * app/actions/drawable-commands.c
3638         * app/actions/layers-commands.c
3639         * app/core/<many>.c
3640         * app/display/gimpdisplayshell-dnd.c
3641         * app/display/gimpdisplayshell-preview.c
3642         * app/display/gimpdisplayshell-transform.c
3643         * app/display/gimpdisplayshell.c
3644         * app/paint/gimppaintcore-stroke.c
3645         * app/paint/gimppaintcore.c
3646         * app/paint/gimpsourcecore.c
3647         * app/text/gimptextlayer-xcf.c
3648         * app/tools/<many>.c
3649         * app/widgets/gimptoolbox-dnd.c
3650         * tools/pdbgen/pdb/drawable.pdb
3651         * tools/pdbgen/pdb/drawable_transform.pdb
3652         * tools/pdbgen/pdb/selection.pdb
3653         * tools/pdbgen/pdb/transform_tools.pdb
3654         * tools/pdbgen/pdb/vectors.pdb: changed accordingly.
3656         * app/pdb/drawable-cmds.c
3657         * app/pdb/drawable-transform-cmds.c
3658         * app/pdb/selection-cmds.c
3659         * app/pdb/vectors-cmds.c
3660         * app/pdb/transform-tools-cmds.c: regenerated.
3662 2008-11-02  Martin Nordholts  <martinn@svn.gnome.org>
3664         * app/core/gimpitem.[ch] (gimp_item_set_offsets): New function
3665         that sets the offset of the item and also keeps the offset_node in
3666         sync.
3668         * app/core/gimpdrawable.c (gimp_drawable_real_set_tiles): Use the
3669         function instead of setting the offsets directly. Fixes corrupted
3670         display when cropping images with GEGL enabled for the projection.
3672 2008-11-02  Martin Nordholts  <martinn@svn.gnome.org>
3674         * app/core/gimpitem.[ch]: Moved the shift_node from GimpLayer to
3675         GimpItem, and call it offset_node. Also added
3676         gimp_item_get_offset_node() meant to be used in the same way as
3677         gimp_item_offsets().
3679         (gimp_item_real_translate): Keep the offset_node up to date.
3681         * app/core/gimplayer.[ch]: Don't manage the offset_node, get it
3682         from GimpItem instead.
3684 2008-11-02  Michael Natterer  <mitch@gimp.org>
3686         * app/core/gimp.[ch]: add new functions gimp_get_image_iter(),
3687         display_iter() and tool_info_iter().
3689         * app/tools/gimp-tools.c
3690         * app/tools/gimptexttool.c
3691         * app/tools/gimpvectortool.c
3692         * app/dialogs/quit-dialog.c
3693         * app/gui/gui.c
3694         * app/menus/windows-menu.c
3695         * app/actions/images-commands.c
3696         * app/actions/tools-actions.c
3697         * app/actions/windows-actions.c
3698         * app/actions/tool-options-commands.c
3699         * app/display/gimpdisplay.c
3700         * app/display/gimpdisplay-foreach.c
3701         * app/widgets/gimptoolbox.c
3702         * tools/pdbgen/pdb/image.pdb: use them here.
3704         * app/pdb/image-cmds.c: regenerated.
3706 2008-11-02  Michael Natterer  <mitch@gimp.org>
3708         * app/core/gimpimage.[ch]: add new functions
3709         gimp_image_get_layer_iter(), channel_iter() and vectors_iter()
3710         which return the GList inside the resp. GimpList.
3712         * app/actions/channels-actions.c
3713         * app/actions/layers-actions.c
3714         * app/actions/vectors-actions.c
3715         * app/core/gimpimage-convert.c
3716         * app/core/gimpimage-crop.c
3717         * app/core/gimpimage-duplicate.c
3718         * app/core/gimpimage-flip.c
3719         * app/core/gimpimage-item-list.c
3720         * app/core/gimpimage-merge.c
3721         * app/core/gimpimage-resize.c
3722         * app/core/gimpimage-rotate.c
3723         * app/core/gimpimage-scale.c
3724         * app/core/gimpimage.c
3725         * app/core/gimpprojection-construct.c
3726         * app/display/gimpdisplayshell-draw.c
3727         * app/file/file-open.c
3728         * app/tools/gimpaligntool.c
3729         * app/tools/gimpdrawtool.c
3730         * app/vectors/gimpvectors-compat.c
3731         * app/vectors/gimpvectors-export.c
3732         * app/widgets/gimplayertreeview.c
3733         * app/xcf/xcf-save.c
3734         * tools/pdbgen/pdb/image.pdb: use the new functions instead of
3735         peeking both into the image and the list. Remove inclusions of
3736         "gimplist.h" or change them into "gimpcontainer.h" if needed.
3738         * app/pdb/image-cmds.c: regenerated.
3740 2008-11-02  Michael Natterer  <mitch@gimp.org>
3742         * app/core/gimpdrawablestack.[ch]: add "update" signal with the
3743         same signature as GimpImage::update(). Install handlers for the
3744         drawables' "update" and "visibility-changed" signals and emit
3745         "update" accordingly, item offsets taken into account. Also emit
3746         "update" when drawables are added, removed and reordered.
3748         * app/core/gimpimage.[ch]: remove handlers and tons of code that
3749         makes sure the image emits "update" on any of the above handled
3750         events and simply connect the layer and channel stacks' "update"
3751         signal to gimp_image_update().
3753 2008-11-02  Michael Natterer  <mitch@gimp.org>
3755         * app/core/gimplayer.[ch]: remove the mask_node and simply set
3756         both opacity and the layer mask's source node on the opacity_node.
3757         Needs latest SVN GEGL.
3759 2008-11-02  Martin Nordholts  <martinn@svn.gnome.org>
3761         * app/core/gimpitem.[ch]: Move the base GeglNode here in
3762         preparation for moving the GimpLayer gegl:shift op to here as
3763         well. After all, the offsets are properties of GimpItem and not
3764         GimpLayer.
3766         * app/core/gimpdrawable.[ch]: Delegate appropriate stuff to the
3767         GimpItem base class, like part of the visibility toggling and the
3768         creation and destruction of the GimpItem node.
3770         * app/core/gimplayer.c
3771         * app/core/gimpchannel.c
3772         * app/core/gimpdrawablestack.c: Changed accordingly, use the new
3773         function names.
3775         * app/core/gimpitempropundo.c
3776         * app/vectors/gimpvectors-warp.c
3777         * app/vectors/gimpvectorsmodundo.c: Include gegl.h instead of
3778         glib-object.h
3780 2008-11-01  Michael Natterer  <mitch@gimp.org>
3782         * app/tools/gimprectangletool.c
3783         (gimp_rectangle_tool_cursor_update): set the MOVE cursor modifier
3784         when we are in MOVING mode.
3786         * app/tools/gimptexttool.[ch]: remove members x1,y1,x2,y2 and use
3787         the rectangle tool's bounding box for creating the text layer (x2
3788         and y2) were unused anyway. Add boolean member "moving". Implement
3789         oper_update() and set the tool to moving mode when ALT is pressed.
3790         Changed button_press(), button_release() and motion() accordingly.
3791         Some more cleanup and removal of comented out code.
3793 2008-11-01  Sven Neumann  <sven@gimp.org>
3795         * configure.in: include pangoft2 in PANGOCAIRO_CFLAGS and
3796         PANGOCAIRO_LIBS. We are still using API that is in PangoFT2.
3798 2008-11-01  Michael Natterer  <mitch@gimp.org>
3800         * app/tools/gimptool.[ch]
3801         * app/tools/tool_manager.[ch]: made all GimpCoords* in the tool
3802         API const.
3804         * app/tools/gimpaligntool.c
3805         * app/tools/gimpblendtool.c
3806         * app/tools/gimpbrightnesscontrasttool.c
3807         * app/tools/gimpbrushtool.c
3808         * app/tools/gimpbucketfilltool.c
3809         * app/tools/gimpcolorpickertool.c
3810         * app/tools/gimpcolortool.c
3811         * app/tools/gimpconvolvetool.c
3812         * app/tools/gimpcroptool.c
3813         * app/tools/gimpcurvestool.c
3814         * app/tools/gimpdodgeburntool.c
3815         * app/tools/gimpeditselectiontool.[ch]
3816         * app/tools/gimperasertool.c
3817         * app/tools/gimpfliptool.c
3818         * app/tools/gimpforegroundselecttool.c
3819         * app/tools/gimpfreeselecttool.c
3820         * app/tools/gimpiscissorstool.c
3821         * app/tools/gimpmagnifytool.c
3822         * app/tools/gimpmeasuretool.c
3823         * app/tools/gimpmovetool.c
3824         * app/tools/gimppainttool.c
3825         * app/tools/gimpperspectiveclonetool.c
3826         * app/tools/gimprectangleselecttool.c
3827         * app/tools/gimprectangletool.[ch]
3828         * app/tools/gimpregionselecttool.c
3829         * app/tools/gimpselectiontool.[ch]
3830         * app/tools/gimpsourcetool.c
3831         * app/tools/gimptexttool.c
3832         * app/tools/gimptransformtool.c
3833         * app/tools/gimpvectortool.c: changed accordingly and added const
3834         to all GimpCoords* in utility functions too.
3836         * app/tools/gimptexttool.c: don't modify the passed coords. In
3837         fact, simply removed the code that did because it had no effect.
3839 2008-11-01  Martin Nordholts  <martinn@svn.gnome.org>
3841         * app/gegl/gimpoperationpointlayermode.c
3842         (gimp_operation_point_layer_mode_process): Replaced the XXX for
3843         Soft light with a FIXME.
3845 2008-11-01  Martin Nordholts  <martinn@svn.gnome.org>
3847         * libgimpcolor/gimphsl.c (gimp_hsl_set): Added 'Since: GIMP 2.8'.
3849 2008-11-01  Martin Nordholts  <martinn@svn.gnome.org>
3851         * app/gegl/gimpoperation*.c: Prefix the GIMP GEGL operations with
3852         "gimp:" instead of "gimp-" so we follow the GEGL prefix style and
3853         better serialize to XML.
3855         * app/tools/gimp*tool.c
3857         * app/core/gimpdrawable-*.c
3858         * app/core/gimpdrawable.c
3859         * app/core/gimpimagemap.c
3860         * app/core/gimpprojection.c: Changed accordingly.
3862 2008-11-01  Martin Nordholts  <martinn@svn.gnome.org>
3864         * app/gegl/gimpoperationpointlayermode.c: Introduced helper macros
3865         fooC to properly un-multiply pre-multiplied data without causing
3866         NaNs. This fixes some compositing issues involving complete
3867         transparency.
3869 2008-11-01  Martin Nordholts  <martinn@svn.gnome.org>
3871         * app/gegl/gimpoperationpointlayermode.c: Renamed fooC aliases to
3872         fooCa since they represent pre-multiplied color data.
3874 2008-11-01  Martin Nordholts  <martinn@svn.gnome.org>
3876         * app/gegl/gimpoperationpointlayermode.c: Get rid of GRand in
3877         process() and use a lut instead. A little benchmark showed a
3878         performance improvement of 78%. Also added defines for the the
3879         size of the area of which Dissolve repeats it dissolve pattern.
3881 2008-10-31  Martin Nordholts  <martinn@svn.gnome.org>
3883         * app/gegl/gimpoperationpointlayermode.c
3884         (gimp_operation_point_layer_mode_process): Implemented Erase, Anti
3885         Erase, Color Erase and Replace. These are not normal layer modes
3886         and handle alpha in their own way. In addition to this, the
3887         behavior of Replace doesn't map very well to GEGL which uses
3888         infinite sized "layers".
3890         Completely works the same:
3891          o Erase
3892          o Anti Erase
3893          o Color Erase
3895         Works different but similar:
3896          o Replace
3898         * app/paint-funcs/paint-funcs.[ch]: Expose
3899         paint_funcs_color_erase_helper() so it can be used in the
3900         GimpOperationPointLayerMode implementation. Once the migration is
3901         complete this function can be moved entirely to the op and be
3902         tailored to work on premultiplied data.
3904 2008-10-31  Sven Neumann  <sven@gimp.org>
3906         Bug 558660 – help behavior for locales without manual translation
3908         * app/widgets/gimphelp.c (gimp_help_user_manual_is_installed):
3909         as a fallback check for the english user manual.
3911 2008-10-31  Sven Neumann  <sven@gimp.org>
3913         * libgimp/gimpprocview.c: added basic gtk-doc comment for
3914         gimp_proc_view_new().
3916 2008-10-31  Michael Natterer  <mitch@gimp.org>
3918         * app/tools/gimptexttool.c (gimp_text_tool_key_press): bail out
3919         when the passed display is != tool->display. Makes the keyboard
3920         work in other displays while the text tools is active.
3922 2008-10-31  Michael Natterer  <mitch@gimp.org>
3924         * app/tools/gimpdrawtool.[ch]: add gimp_draw_tool_draw_text_cursor()
3925         which draws a properly transformed cursor that always has the same
3926         line width.
3928         * app/tools/gimptexttool.c (gimp_text_tool_draw): use it instead
3929         of drawing a cursor here that is broken at anything but 1:1 zoom.
3931 2008-10-31  Michael Natterer  <mitch@gimp.org>
3933         * app/actions/text-tool-actions.c
3934         * app/actions/text-tool-commands.c: add missing includes and
3935         remove unused variable.
3937 2008-10-31  Sven Neumann  <sven@gimp.org>
3939         * configure.in: also check for freetype2 when checking for
3940         pangocairo. Should fix the build on systems where the FT2 include
3941         path is not included otherwise.
3943 2008-10-31  Sven Neumann  <sven@gimp.org>
3945         * configure.in: lowered minimum required version of Cairo to 1.6.0.
3947 2008-10-31  Sven Neumann  <sven@gimp.org>
3949         * INSTALL:
3950         * configure.in: removed checks for PangoFT2.
3952         * app/config/Makefile.am
3953         * app/text/Makefile.am
3954         * app/Makefile.am: removed use of PANGOFT2_CFLAGS and PANGOFT2_LIBS.
3956 2008-10-31  Sven Neumann  <sven@gimp.org>
3958         * app/text/gimpfont.c
3959         * app/text/gimpfontlist.c: render font previews using PangoCairo.
3961 2008-10-31  Sven Neumann  <sven@gimp.org>
3963         * configure.in: bumped minimum required version of Cairo to 1.6.4.
3965         * app/core/gimpscanconvert.c: use cairo_format_stride_for_width().
3967 2008-10-31  Martin Nordholts  <martinn@svn.gnome.org>
3969         * app/gegl/gimpoperationpointlayermode.c
3970         (gimp_operation_point_layer_mode_process): Formating,
3971         simplification and fixed operator precedence for the seed (not
3972         that it matters much).
3974 2008-10-31  Martin Nordholts  <martinn@svn.gnome.org>
3976         * app/gegl/gimpoperationpointlayermode.c
3977         (gimp_operation_point_layer_mode_process): The GEGL API actually
3978         allows us to handle the Dissolve layer mode as a point op. The
3979         GEGL implementation of Dissolve uses a faster implementation for
3980         deterministic behavior than the legacy Dissolve implementation.
3981         The end result should be identical (although not on the
3982         pixel-level).
3984         Completely works the same:
3985          o Dissolve
3987 2008-10-31  Michael Natterer  <mitch@gimp.org>
3989         * app/tools/gimptexttool.c (gimp_text_tool_key_press): bail out
3990         instead of crashing if the tool has no display.
3992         (gimp_text_tool_draw)
3993         (gimp_text_tool_draw_preedit)
3994         (gimp_text_tool_draw_selection)
3995         (gimp_text_tool_xy_to_offset): need to adjust all drawing and
3996         event coordinates by a possible negative offset between logical
3997         rectangle and ink rectangle (if the ink rectangle is larger than
3998         the logical one).
4000         * app/display/gimpdisplayshell-callbacks.c
4001         (gimp_display_shell_canvas_tool_events): continue normally if
4002         tool_manager_key_press_active() returns FALSE.
4004 2008-10-30  Sven Neumann  <sven@gimp.org>
4006         * app/text/gimp-fonts.c
4007         * app/text/gimpfont-utils.c: removed unused includes.
4009 2008-10-30  Michael Natterer  <mitch@gimp.org>
4011         * app/tools/gimptexttool.c: remove lots of unused variables,
4012         apparently my builds were without proper warnings for some time.
4013         Some formatting cleanup and code reordering.
4015         * app/actions/text-tool-actions.c
4016         * menus/text-tool-menu.xml: rename "text-tool-input-methods"
4017         to "text-tool-input-methods-menu".
4019 2008-10-30  Sven Neumann  <sven@gimp.org>
4021         * app/text/gimptextlayout.c: fixed order of includes.
4023         * app/text/gimptext-compat.c: ported to PangoCairo like the rest
4024         of the text rendering code.
4026 2008-10-30  Sven Neumann  <sven@gimp.org>
4028         * app/text/gimptextlayout-render.c: removed an obsolete and
4029         misleading comment.
4031 2008-10-29  Sven Neumann  <sven@gimp.org>
4033         * libgimp/gimp.def
4034         * libgimpbase/gimpbase.def
4035         * libgimpcolor/gimpcolor.def: updated with new symbols.
4037 2008-10-29  Martin Nordholts  <martinn@svn.gnome.org>
4039         Bug 558215 – unit and zoom entries in Statusbar not visible
4041         * app/display/gimpdisplayshell-callbacks.c
4042         (gimp_display_shell_canvas_size_allocate): Don't try to be clever,
4043         call gimp_display_shell_scaled() whenever the canvas size changes
4044         so a newly created display shell gets updated properly.
4046 2008-10-29  Sven Neumann  <sven@gimp.org>
4048         Bug 558451 – Cannot build GIMP using Sun CC on Solaris 2.8
4050         * app/pdb/gimp-pdb-compat.c
4051         * app/gegl/gimpoperationtilesink.c
4052         * app/gegl/gimpoperationtilesource.c
4053         * app/tools/gimpgegltool.c: applied patches from Eric Lamarque
4054         fixing the build using Sun CC on Solaris.
4056 2008-10-29  Martin Nordholts  <martinn@svn.gnome.org>
4058         * app/gegl/gimpoperationpointlayermode.c
4059         (gimp_operation_point_layer_mode_process): Implemented the layer
4060         modes Hue, Saturation, Color and Value.
4062         Works the same for 100% opaque layers:
4063          o Hue
4064          o Saturation
4065          o Color
4066          o Value
4068         * libgimpcolor/gimphsl.[ch]: Added gimp_hsl_set().
4070 2008-10-29  Michael Natterer  <mitch@gimp.org>
4072         * plug-ins/common/file-pdf.c: a comment was still saying
4073         "poppler.c".
4075 2008-10-29  Michael Natterer  <mitch@gimp.org>
4077         * app/core/gimpselection.[ch]: change member "gboolean stroking"
4078         into "gint stroking_count". Add push/pop API to increase/decrease
4079         the counter. Pretend the selection is empty if the counter is > 0.
4080         Enables correctly rendering vector layers even if there is a
4081         selection.
4083 2008-10-29  Sven Neumann  <sven@gimp.org>
4085         Bug 558420 – projection incorrect with alpha-less layers
4087         * app/core/gimpprojection-construct.c (gimp_projection_initialize):
4088         need to initialize the projection if the covering layer is not
4089         opaque.
4091 2008-10-29  Sven Neumann  <sven@gimp.org>
4093         Bug 557950 – Scaling in Gimp 2.6 is much slower than in Gimp 2.4
4095         * app/paint-funcs/scale-region.c: don't do multi-pass scaling
4096         when we are scaling up.
4098 2008-10-29  Michael Natterer  <mitch@gimp.org>
4100         * app/widgets/gimpstrokeeditor.c: move the "Antialias" toggle from
4101         here...
4103         * app/widgets/gimpfilleditor.c: ...to here because it makes sense
4104         for both filling and stroking.
4106 2008-10-29  Sven Neumann  <sven@gimp.org>
4108         * plug-ins/script-fu/scripts/Makefile.am
4109         * plug-ins/script-fu/scripts/gimp-online.scm: renamed from
4110         web-browser.scm.
4112 2008-10-29  Martin Nordholts  <martinn@svn.gnome.org>
4114         * configure.in: Properly save CFLAGS temporarily.
4116 2008-10-28  Michael Natterer  <mitch@gimp.org>
4118         * app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
4119         turn nested if()s into a switch(release_type).
4121 2008-10-28  Martin Nordholts  <martinn@svn.gnome.org>
4123         Bug 556603 – Zoom region always zooms in center of image
4125         * app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
4126         When zooming with a click, use gimp_display_shell_scale() instead
4127         of local zoom logic.
4129 2008-10-28  Michael Natterer  <mitch@gimp.org>
4131         * app/widgets/gimpwidgets-utils.[ch]: added "gboolean below" to
4132         gimp_enum_radio_frame_add() and gimp_enum_radio_box_add() and
4133         place the widget right of the radio button unless "below" is TRUE.
4135         * app/dialogs/convert-dialog.c
4136         * app/dialogs/layer-add-mask-dialog.c
4137         * app/tools/gimpbucketfilloptions.c
4138         * app/tools/gimpclonetool.c
4139         * app/tools/gimpperspectiveclonetool.c: pass TRUE so everything
4140         stays as-is.
4142         * app/widgets/gimpfilleditor.c: pass FALSE if we are editing the
4143         context's "foreground" and "pattern" properties.
4145 2008-10-28  Martin Nordholts  <martinn@svn.gnome.org>
4147         * app/gegl/gimpoperationpointlayermode.c
4148         (gimp_operation_point_layer_mode_process): Put the existing blend
4149         formulas in expanded switch cases again. We need to keep the more
4150         complicated layer modes like Hue, Value and Saturation in expanded
4151         switch cases anyway.
4153 2008-10-27  Michael Natterer  <mitch@gimp.org>
4155         * app/tools/gimptexttool.c: some minor cleanups.
4157         (gimp_text_tool_draw): draw a cursor of two pixels width which is
4158         between glyphs so it is visible both at the left and the right
4159         border or the rectangle. Also make it look a little more
4160         cursor-like.
4162 2008-10-27  Michael Natterer  <mitch@gimp.org>
4164         * app/actions/text-tool-actions.c
4165         * app/actions/text-tool-commands.[ch]
4166         * menus/text-tool-menu.xml: rename action "path-from-text" to
4167         "text-to-path".
4169 2008-10-27  Michael Natterer  <mitch@gimp.org>
4171         * menus/text-tool-menu.xml
4172         * app/actions/text-tool-actions.c
4173         * app/actions/text-tool-commands.[ch]: add "Text along Path" to the
4174         text tool context menu.
4176         * app/tools/gimptextoptions.[ch]: remove the text along path
4177         button here.
4179         * app/tools/gimptexttool.c: changed accordingly.
4181         * app/tools/gimptexttool.[ch]: move public functions together,
4182         move all virtual function implementations together and put them in
4183         order, made the text along path function public, factor out
4184         gimp_text_tool_xy_to_offset() instead of duplicaing this code
4185         three times, remove gimp_rectangle_tool_frame_item() because it
4186         doesn't belong here.
4188         * app/tools/gimprectangletool.[ch]: add
4189         gimp_rectangle_tool_frame_item() here. Enselic, please process ;)
4191 2008-10-27  Sven Neumann  <sven@gimp.org>
4193         * app/actions/text-tool-actions.c: changed menu labels.
4195 2008-10-27  Sven Neumann  <sven@gimp.org>
4197         * app/actions/text-editor-commands.c (text_editor_load_response):
4198         hide the file dialog instead of destroying it.
4200 2008-10-27  Sven Neumann  <sven@gimp.org>
4202         * app/tools/gimptexttool.c: removed unused includes.
4204         * app/actions/text-tool-commands.c (text_tool_load_cmd_callback):
4205         fixed file dialog for opening text files.
4207 2008-10-27  Michael Natterer  <mitch@gimp.org>
4209         * app/tools/gimptexttool.c (gimp_text_tool_key_press): take the
4210         layout line's x coordinate into account so the stuff works for
4211         right-aligned or centered text.
4213 2008-10-27  Michael Natterer  <mitch@gimp.org>
4215         * app/tools/gimptexttool.c (gimp_text_tool_key_press): argh, need
4216         to speak in byte offsets not character offsets. Do so and avoid
4217         getting the buffer's text on each keystroke just to do the
4218         char/byte conversion. Will use the same method for all the other
4219         places which do similar things.
4221         (gimp_text_tool_connect): minor cleanup.
4223 2008-10-27  Sven Neumann  <sven@gimp.org>
4225         * app/text/gimptextlayer.c (gimp_text_layer_render_layout):
4226         iterate over the tiles instead of rendering row-by-row.
4228 2008-10-27  Sven Neumann  <sven@gimp.org>
4230         * app/text/gimptextlayout.c (gimp_text_get_pango_context): use the
4231         Y resolution when creating the fontmap.
4233 2008-10-27  Sven Neumann  <sven@gimp.org>
4235         * app/text/gimptextlayout-render.c (gimp_text_layout_render_trafo):
4236         minor cleanup.
4238 2008-10-27  Sven Neumann  <sven@gimp.org>
4240         * app/text/gimptext-bitmap.c: cleanup, removed unused includes.
4242 2008-10-27  Sven Neumann  <sven@gimp.org>
4244         * libgimpbase/gimpbaseenums.[ch]: added new enum GimpTextHintStyle.
4246         * libgimp/gimpenums.c.tail
4247         * tools/pdbgen/enums.pl: regenerated.
4249         * app/text/gimptext.[ch]: added new property "hint-style". Removed
4250         "autohint" property and mapped the boolean property "hinting" to
4251         the new enum property "hint-style".
4253         * app/text/gimptextlayout-render.c (gimp_text_layout_render_flags):
4254         use "hint-style".
4256         * app/tools/gimptextoptions.[ch]: changed tool options accordingly.
4258         * tools/pdbgen/pdb/text_layer.pdb: deprecated the "hinting" API
4259         and introduced getters and setters for "hint-style".
4261         * app/pdb/text-layer-cmds.c
4262         * app/pdb/internal-procs.c
4263         * libgimp/gimptextlayer_pdb.[ch]: regenerated.
4265 2008-10-27  Michael Natterer  <mitch@gimp.org>
4267         * app/tools/gimpdrawtool.[ch]: add gimp_draw_tool_set_clip_rect()
4268         which transforms the passed in GdkRectangle before setting it
4269         on the canvas.
4271         * app/tools/gimptexttool.c (gimp_text_tool_draw): use it instead
4272         of gimp_canvas_set_clip_rect().
4274 2008-10-27  Michael Natterer  <mitch@gimp.org>
4276         * app/tools/gimptexttool.h: add integer x_pos member to remember
4277         the x cursor position when moving up and down across shorter
4278         lines.
4280         * app/tools/gimptexttool.c (gimp_text_tool_key_press): implement
4281         moving the cursor up and down. The x_pos probably needs to be
4282         reset in a few more places but it seems to work pretty nicely
4283         already.
4285 2008-10-26  Michael Natterer  <mitch@gimp.org>
4287         * app/tools/gimptexttool.c: handle Tab, some more cleanup.
4289 2008-10-26  Sven Neumann  <sven@gimp.org>
4291         * app/text/gimptextlayout-render.c (gimp_text_layout_render_flags):
4292         formatting.
4294 2008-10-26  Michael Natterer  <mitch@gimp.org>
4296         * app/tools/gimptexttool.c: more cleanup, mostly formatting.
4298 2008-10-26  Martin Nordholts  <martinn@svn.gnome.org>
4300         * app/gegl/gimpoperationpointlayermode.c: Clamp Grain Extract,
4301         Grain Merge and Divide.
4303 2008-10-26  Michael Natterer  <mitch@gimp.org>
4305         * app/tools/gimptexttool.c: some formatting cleanup.
4307         * app/tools/gimprectangletool.c: add one space.
4309         * app/actions/text-tool-actions.c: look at GDK_SELECTION_CLIPBOARD,
4310         not PRIMARY, to set the sensitivity of "Paste".
4312 2008-10-26  Michael Natterer  <mitch@gimp.org>
4314         * app/tools/gimptexttool.[ch]: some general formatting cleanup.
4316         (gimp_text_tool_key_press): implement ctrl-moving the cursor by
4317         words, handle Delete.
4319         (gimp_text_tool_delete_text): add boolean "backspace" parameter
4320         and delete forward when it's FALSE.
4322         * app/actions/text-tool-commands.c: pass an arbitrary TRUE to
4323         gimp_text_tool_delete_text() (it's not used because when called
4324         from here, there is always a selection).
4326 2008-10-26  Martin Nordholts  <martinn@svn.gnome.org>
4328         * app/gegl/gimpoperationpointlayermode.c: Remove braces in
4329         formulas, makes everything look cleaner.
4331 2008-10-26  Martin Nordholts  <martinn@svn.gnome.org>
4333         * app/gegl/gimpoperationpointlayermode.c: Clamp Addition and
4334         Subtract so that we acheieve consistent blending results. Also,
4335         our Addition is fine, it is the formula for 'plus' in the SVG 1.2
4336         draft that is wrong as far as I can see.
4338 2008-10-26  Martin Nordholts  <martinn@svn.gnome.org>
4340         * app/gegl/gimpoperationpointlayermode.c: Continue the quest of
4341         overviewable and readable blend formulas. The macro now expands to
4342         entire case-statements.
4344 2008-10-26  Michael Natterer  <mitch@gimp.org>
4346         Merge on-canvas GSoC project:
4348         * configure.in: check for pangocairo.
4350         * app/Makefile.am
4351         * app/text/Makefile.am: add its CFLAGS and LIBS.
4353         * app/text/gimptext-bitmap.[ch]
4354         * app/text/gimptext-private.h
4355         * app/text/gimptext-vectors.[ch]
4356         * app/text/gimptextlayer.c
4357         * app/text/gimptextlayout-render.c
4358         * app/text/gimptextlayout.c: port to pangocairo.
4360         * menus/Makefile.am
4361         * menus/text-tool-menu.xml
4362         * app/menus/menus.c
4363         * app/actions/Makefile.am
4364         * app/actions/actions.c
4365         * app/actions/text-tool-actions.[ch]
4366         * app/actions/text-tool-commands.[ch]: add a context menu for the
4367         text tool similar to GtkEntry's context menu.
4369         * app/tools/gimprectangletool.[ch]: add "narrow-mode" property.
4371         * app/tools/gimptextoptions.[ch]
4372         * app/widgets/gimptexteditor.[ch]: take a text buffer for the
4373         standalone text editor window instead of creating one internally.
4375         * app/tools/gimptexttool.[ch]: all the new wonderful on-canvas
4376         text editing logic. Wheee!
4378 2008-10-26  Sven Neumann  <sven@gimp.org>
4380         * app/tools/gimptool.c (gimp_tool_get_popup)
4381         * app/tools/tool_manager.c (tool_manager_get_popup_active): added
4382         missing return value.
4384 2008-10-26  Michael Natterer  <mitch@gimp.org>
4386         Add some infrastructure for the on-canvas text editing GSoC
4387         project:
4389         * app/tools/gimptoolcontrol.[ch]: add boolean wants_all_key_events
4390         member and API to set and get it.
4392         * app/tools/gimptool.[ch]: add GimpTool::get_popup() which returns
4393         the tool's context menu if it has one, or NULL otherwise.
4395         * app/tools/tool_manager.[ch]: add tool_manager_get_popup_active()
4396         wrapper.
4398         * app/display/gimpdisplayshell-callbacks.c: check if the tool has
4399         a popup menu and show it instead of the usual right-click menu.
4401         Also call the tool's key_press() unconditionally if it wants all
4402         key events, but this code needs more thinking.
4404 2008-10-26  Martin Nordholts  <martinn@svn.gnome.org>
4406         * app/gegl/gimpoperationpointlayermode.c: Increase readability by
4407         introducing short aliases.
4409 2008-10-26  Martin Nordholts  <martinn@svn.gnome.org>
4411         * app/gegl/gimpoperationpointlayermode.c: For blend modes with
4412         conditions, fix so that the conditions are per color
4413         channel. Acheived by introducing a nice little preprocessor macro.
4415 2008-10-26  Martin Nordholts  <martinn@svn.gnome.org>
4417         * app/gegl/gimpoperationpointlayermode.c: Enable the [0..1]
4418         clamping of the output for Dodge and Burn. Without the clamping
4419         one gets inconsistent results when blending together identical
4420         layers but with different opacities. Maybe we should make the
4421         clamping configurable and introduce a HDR compositing mode or
4422         something?
4424 2008-10-26  Martin Nordholts  <martinn@svn.gnome.org>
4426         * app/gegl/gimpoperationpointlayermode.c: Implemented Grain
4427         Extract and Grain Merge. Also corrected the formula for Divide.
4429         Works the same for 100% opaque layers:
4430          o Grain Extract
4431          o Grain Merge
4433 2008-10-25  Martin Nordholts  <martinn@svn.gnome.org>
4435         * app/gegl/gimpoperationpointlayermode.c: Implement a bunch of
4436         layer modes. Use the exact SVG 1.2 formula for layer modes that
4437         have a counterpart in SVG 1.2. Don't clamp the result to [0..1]
4438         for Dodge and Burn though as we don't need to. Maybe we *should*
4439         clamp from a compositing point of view, I'm not sure. Also
4440         reformat the code a bit for readability.
4442         Keep in mind that we now treat the opacity of all layers the same
4443         indepentant of the layer mode. That is why most of the new
4444         implementations doesn't work the same as the legacy ones when
4445         transparency is involved, only when the layers are completely
4446         opaque. Another important property for all layer modes implemented
4447         below is that compositing onto complete transparency gives the
4448         same result as if the layer would have been in Normal blending
4449         mode.
4451         The status of the new layer mode implementations compared to the
4452         legacy implementations is as follows:
4454         Completely works the same:
4455          o Behind
4457         Works the same for 100% opaque layers:
4458          o Multiply
4459          o Screen
4460          o Difference
4461          o Darken
4462          o Lighten
4463          o Dodge
4464          o Burn
4465          o Hard Light
4466          o Subtract
4467          o Divide
4469         Works different but similar:
4470          o Overlay
4472         Work in progress:
4473          o Soft Light
4475 2008-10-25  Martin Nordholts  <martinn@svn.gnome.org>
4477         * app/gegl/gimpoperationpointlayermode.c: Completed the rename
4478         with gimp:layer-mode -> gimp:point-layer-mode and also did some
4479         formating.
4481         * app/core/gimplayer.c: Changed accordingly.
4483 2008-10-25  Martin Nordholts  <martinn@svn.gnome.org>
4485         * plug-ins/file-psd/psd-save.c
4486         * plug-ins/file-psd/psd-util.c: Add support for reading/writing
4487         PSDs with the Linear Dodge layer mode which is the same as GIMPs
4488         Addition layer mode.
4490 2008-10-25  Michael Natterer  <mitch@gimp.org>
4492         Bug 557870 – "Qmask" message popping up here and there
4494         * app/display/gimpdisplayshell-title.c
4495         (gimp_display_shell_format_title): use
4496         gimp_viewable_get_description() instead of gimp_object_get_name()
4497         for displaying the active drawable's name so the quick mask and
4498         the floating selection have the same names as in the
4499         layers/channels dialogs.
4501 2008-10-25  Martin Nordholts  <martinn@svn.gnome.org>
4503         * app/gegl/gimpoperationlayermode.[ch]: Rename to
4505         * app/gegl/gimpoperationpointlayermode.[ch]: so that we can later
4506         create a common GimpOperationLayerMode class/interface for
4507         non-point layer modes like GimpOperationDissolveLayerMode.
4509         * app/gegl/Makefile.am
4510         * app/gegl/gimp-gegl.c
4511         * app/gegl/gegl-types.h: Adjust accordingly.
4513 2008-10-25  Martin Nordholts  <martinn@svn.gnome.org>
4515         Instead of having one GEGL operation per layer mode, make
4516         GimpOperationLayerMode instantiable and add a GimpLayerModeEffects
4517         property to it that we check in ::process() to blend pixels
4518         together.
4520         * app/gegl/gimpoperationlayermode.[ch]: Do the change described
4521         above. Currently only Normal and Addition are implemented. Normal
4522         so that we don't need a special case for the gegl:normal op. Also,
4523         the Dissolve layer mode is not a point op and needs to be
4524         implemented elsewhere.
4526         * app/gegl/gimpoperation*mode.c: Removed.
4528         * app/gegl/gimp-gegl-utils.[ch]: Removed
4529         gimp_layer_mode_to_gegl_operation().
4531         * app/core/gimplayer.c
4533         * app/gegl/Makefile.am
4534         * app/gegl/gimp-gegl.c: Adapt.
4536 2008-10-25  Michael Natterer  <mitch@gimp.org>
4538         Merge a modified and enhanced patch from the vector layer branch:
4540         * app/core/gimpdrawable-stroke.[ch]: add new public API
4541         gimp_drawable_fill_boundary() and gimp_drawable_fill_vectors().
4543         Split the internal code up so that there are functions which turn
4544         the BoundSegs and GimpVectors into a GimpScanConvert and changed
4545         gimp_drawable_stroke_scan_convert() so it can either fill the
4546         shape or stroke it.
4548 2008-10-25  Michael Natterer  <mitch@gimp.org>
4550         More merging from SOC 2006's vector layer branch:
4552         * app/core/gimpitem.[ch]: add "gboolean push_undo" to
4553         GimpItem::stroke().
4555         * app/core/gimpdrawable-stroke.[ch]
4556         * app/paint/gimppaintcore-stroke.[ch]
4557         * app/paint/gimppaintcore.[ch] (gimp_paint_core_finish): add
4558         "push_undo" parameters here too.
4560         * app/actions/select-commands.c
4561         * app/actions/vectors-commands.c
4562         * app/core/gimpchannel.c
4563         * app/core/gimpselection.c
4564         * app/dialogs/stroke-dialog.c
4565         * app/tools/gimppainttool.c
4566         * app/vectors/gimpvectors.c
4567         * tools/pdbgen/pdb/edit.pdb
4568         * tools/pdbgen/pdb/paint_tools.pdb
4569         * tools/pdbgen/pdb/paths.pdb: pass TRUE all over the place.
4571         * app/pdb/edit-cmds.c
4572         * app/pdb/paint-tools-cmds.c
4573         * app/pdb/paths-cmds.c: regenerated.
4575 2008-10-25  Martin Nordholts  <martinn@svn.gnome.org>
4577         * app/gegl/gimpoperationlayermode.c: Make layer modes work on
4578         premultiplied data. This makes compositing 40% faster on my test
4579         image with 10 interlaced Normal and Addition mode layers.
4581         * app/gegl/gimpoperationadditionmode.c: Switch to the
4582         premultiplied algorithm and remove the experimental ones. The new
4583         Addition mode has two important differences over the legacy
4584         Addition mode:
4586          o Addition mode now really is commutative as the GIMP
4587            documentation says (this isn't the case for the legacy Addition
4588            mode implementation).
4590          o Layers in Addition mode are just as opaque as Normal
4591            layers. That is, their effect on the composite alpha channel is
4592            the same. For discussion, refer to bug #387449.
4594 2008-10-25  Michael Natterer  <mitch@gimp.org>
4596         * app/paint/gimppaintoptions.h: formatting.
4598 2008-10-25  Michael Natterer  <mitch@gimp.org>
4600         * app/core/gimpcontext.c (gimp_context_parent_notify): bail out if
4601         the notification is not about one of our own properties
4602         (but from a subclass).
4604 2008-10-25  Michael Natterer  <mitch@gimp.org>
4606         * app/core/gimpstrokeoptions.[ch]: add "gboolean use_context_color"
4607         parameter to gimp_stroke_options_new() and set the passed context
4608         as parent of the new options only if it's TRUE. Also fixed the
4609         GimpConfig::duplicate() implementation to really duplicate the
4610         object and not just return an object containing default values.
4612         * app/core/gimpfilloptions.[ch]: add gimp_fill_options_new().
4614         * app/actions/select-commands.c
4615         * app/dialogs/stroke-dialog.c
4616         * app/actions/vectors-commands.c
4617         * tools/pdbgen/pdb/edit.pdb
4618         * tools/pdbgen/pdb/paths.pdb: pass TRUE to gimp_stroke_options_new().
4620         * app/pdb/edit-cmds.c
4621         * app/pdb/paths-cmds.c: regenerated.
4623 2008-10-25  Michael Natterer  <mitch@gimp.org>
4625         * app/core/gimpfilloptions.[ch]: add non-serializable properties
4626         pattern-view-type and pattern-view-size which are used only by the
4627         new UI below.
4629         * app/widgets/gimpfilleditor.[ch]: added boolean edit-context
4630         property. If TRUE, add widgets to edit the context's foreground and
4631         pattern. Add "edit_context" parameter to gimp_fill_editor_new().
4633         * app/widgets/gimpstrokeeditor.[ch]: add the same parameter here.
4635         * app/widgets/gimpwidgets-utils.[ch]: add gimp_enum_radio_box_add()
4636         which does the same as the existing gimp_enum_radio_frame_add().
4638         * app/dialogs/stroke-dialog.c: pass FALSE for "edit_context"
4639         because this dialog takes its foreground and pattern from the user
4640         context and doesn't need it's own GUI for them.
4642 2008-10-24  Michael Natterer  <mitch@gimp.org>
4644         * app/widgets/Makefile.am
4645         * app/widgets/widgets-types.h
4646         * app/widgets/gimpfilleditor.[ch]: new widget factored out of
4647         GimpStrokeEditor.
4649         * app/widgets/gimpstrokeeditor.[ch]: derive from GimpFillEditor
4650         and remove UI for the properties of GimpFillOptions.
4652 2008-10-24  Michael Natterer  <mitch@gimp.org>
4654         * app/core/Makefile.am
4655         * app/core/core-types.h
4656         * app/core/gimpstrokedesc.[ch]: remove this mis-engineered
4657         abstraction...
4659         * app/core/gimpstrokeoptions.[ch]: ...and add its properties and
4660         API here.
4662         * app/core/gimpitem.[ch]: GimpItem::stroke() take a
4663         GimpStrokeOptions instead of a GimpStrokeDesc.
4665         * app/core/gimpchannel.c
4666         * app/core/gimpselection.c
4667         * app/vectors/gimpvectors.c
4668         * app/actions/select-commands.c
4669         * app/actions/vectors-commands.c
4670         * app/dialogs/stroke-dialog.c
4671         * tools/pdbgen/pdb/edit.pdb
4672         * tools/pdbgen/pdb/paths.pdb: changed accordingly.
4674         * app/pdb/edit-cmds.c
4675         * app/pdb/paths-cmds.c: regenerated.
4677 2008-10-24  Sven Neumann  <sven@gimp.org>
4679         * app/widgets/gimpdialogfactory.c (gimp_dialog_factories_toggle):
4680         to be on the safe side, always show hidden dialogs when the Tab
4681         key is used. It should not be possible to get a Tab key-press
4682         while all displays are iconified, but you never know ...
4684 2008-10-24  Sven Neumann  <sven@gimp.org>
4686         Bug 556896 – Dialogs don't get minimized with single image window
4688         * app/widgets/gimpdialogfactory.[ch]: renamed the new methods to
4689         gimp_dialog_factories_{show|hide}_with_display().
4690         Remember if the dialogs were hidden using
4691         gimp_dialog_factories_hide_with_display() or using
4692         gimp_dialog_factories_toggle() and keep this into account when
4693         making them visible again. This ensures that dialogs that were
4694         hidden using the Tab key won't be shown when the image window is
4695         uniconified.
4697         * app/display/gimpdisplayshell.c
4698         (gimp_display_shell_window_state_event): changed accordingly.
4700 2008-10-24  Michael Natterer  <mitch@gimp.org>
4702         Another merge from the vector layer branch:
4704         * app/core/gimpstrokedesc.c (gimp_stroke_desc_new): make sure
4705         each stroke desc always has GimpPaintInfo.
4707 2008-10-24  Martin Nordholts  <martinn@svn.gnome.org>
4709         * app/gegl/gimpoperationadditionmode.c: For alpha compositing
4710         consistency, all layers should affect alpha in the same way
4711         independent of layer mode. Replace the compositing algorithm with
4712         a version without the flaws discovered so far in the previous
4713         ones. Don't use it yet though as it requires premultiplied data.
4715 2008-10-24  Sven Neumann  <sven@gimp.org>
4717         * app/paint-funcs/scale-region.c (scale): use the inverse of the
4718         scale factor so that we can multiply instead of dividing in the
4719         loops.
4721 2008-10-23  Michael Natterer  <mitch@gimp.org>
4723         * app/core/core-enums.[ch]: rename GimpStrokeStyle to GimpFillStyle.
4725         * app/core/gimpfilloptions.[ch]
4726         * app/core/gimpdrawable-stroke.c
4727         (gimp_drawable_stroke_scan_convert): changed accordingly.
4729 2008-10-23  Michael Natterer  <mitch@gimp.org>
4731         Merge a part of SOC 2006's vector layer branch:
4733         * app/core/Makefile.am
4734         * app/core/core-types.h
4735         * app/core/gimpfilloptions.[ch]: new GimpContext subclass factored
4736         out of GimpStrokeOptions. Has "style" and "antialias" properties.
4738         * app/core/gimpstrokeoptions.[ch]: derive from GimpFillOptions
4739         and remove said properties.
4741         * app/core/gimpdrawable-stroke.c
4742         (gimp_drawable_stroke_scan_convert): changed accordingly.
4744 2008-10-23  Michael Natterer  <mitch@gimp.org>
4746         * app/plug-in/gimppluginprocframe.c
4747         (gimp_plug_in_proc_frame_dispose): set proc_frame->procedure to
4748         NULL *after* calling gimp_plug_in_cleanup(). Fixes the crash on
4749         windows in bug #557061 (but not the bug).
4751 2008-10-23  Michael Natterer  <mitch@gimp.org>
4753         * app/display/gimpdisplayshell.h: don't #include
4754         "libgimpwidgets/gimpwidgets.h".
4756         * app/display/gimpdisplayshell-draw.c
4757         * app/display/gimpdisplayshell-scale.c
4758         * app/tools/gimpeditselectiontool.c: include it here.
4760 2008-10-23  Sven Neumann  <sven@gimp.org>
4762         Bug 556896 – Dialogs don't get minimized with single image window
4764         * app/display/gimpdisplay-foreach.[ch]: added utility function to
4765         get the number of visible (not withdrawn or iconified) displays.
4767         * app/widgets/gimpdialogfactory.[ch]: added functions to hide and
4768         show the dock windows. Changed gimp_dialog_factories_toggle() to
4769         use the new functions.
4771         * app/display/gimpdisplayshell.c
4772         (gimp_display_shell_window_state_event): hide the docks if the
4773         last display is iconified. Unhide them if a display is
4774         uniconified. Probably needs more work ...
4776 2008-10-23  Sven Neumann  <sven@gimp.org>
4778         * configure.in: removed check for Carbon and added a test for the
4779         target OS being Darwin instead.
4781         * app/config/gimpguiconfig.c: use PLATFORM_OSX instead of
4782         HAVE_CARBON to determine the default "web-browser" command.
4784 2008-10-22  Sven Neumann  <sven@gimp.org>
4786         * plug-ins/print/print-preview.c (print_preview_leave_notify_event):
4787         check the crossing mode and don't unset the "inside" flag when the
4788         event is caused by a pointer grab/ungrab.
4790 2008-10-22  Martin Nordholts  <martinn@svn.gnome.org>
4792         Bug 556804 – Zoom drop down doesn't update
4794         * app/display/gimpdisplayshell-scale.c
4795         * app/display/gimpdisplayshell-callbacks.c: Fix calls to
4796         gimp_display_shell_scaled() when Resize window on zoom is enabled.
4798 2008-10-22  Sven Neumann  <sven@gimp.org>
4800         Bug 524615 – Print not to scale
4802         * plug-ins/print/print.c: set the unit for dimensions on the Cairo
4803         context used for printing to GTK_UNIT_PIXELS.
4805         * plug-ins/print/print-draw-page.c (print_draw_page): changed the
4806         Cairo scale factors accordingly. Seems to fix printing on Windows.
4808 2008-10-22  Sven Neumann  <sven@gimp.org>
4810         * app/widgets/gimpprogressbox.c: set box->progress to NULL in
4811         destroy() and check for progress being NULL in various places so
4812         we don't crash on API calls after the widget is destroyed.
4814 2008-10-22  Sven Neumann  <sven@gimp.org>
4816         Bug 555246 – gimp crashes when a file is opened while a preview is
4817         generating
4819         * app/widgets/gimpthumbbox.c: set box->progress to NULL in
4820         destroy() and check for progress being NULL in various places so
4821         we don't crash on API calls after the widget is destroyed.
4823 2008-10-22  Sven Neumann  <sven@gimp.org>
4825         Bug 556741 – Alpha layer automatically added (in psd format) but
4826         not desired
4828         * plug-ins/file-psd/psd-save.c: applied patch from Dennis Ranke
4829         that flattens the projection for indexed images.
4831 2008-10-22  Sven Neumann  <sven@gimp.org>
4833         * app/core/gimpimagefile.c
4834         * app/plug-in/gimpplugin-progress.c: formatting.
4836 2008-10-21  Michael Natterer  <mitch@gimp.org>
4838         Bug 555246 – gimp crashes when a file is opened while a preview is
4839         generating
4841         * app/widgets/gimpfiledialog.c: set dialog->progress to NULL in
4842         destroy() and check for progress being NULL in various places so
4843         we don't crash on API calls after the widget is destroyed.
4845 2008-10-21  Sven Neumann  <sven@gimp.org>
4847         * app/tools/gimpgegltool.c (gimp_param_spec_duplicate):
4848         GEGL_IS_PARAM_SPEC_PATH() became GEGL_IS_PARAM_SPEC_FILE_PATH()
4849         in GEGL 0.0.21.
4851 2008-10-21  Sven Neumann  <sven@gimp.org>
4853         * app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): for the
4854         combo-box, strip known prefixes from the GEGL operation names and
4855         use icons instead.
4857 2008-10-21  Sven Neumann  <sven@gimp.org>
4859         * app/actions/file-commands.c (file_open_recent_cmd_callback): ref
4860         the GimpDisplay and GimpImageFile objects while holding a
4861         reference to them. Fixes a potential crash if GIMP is closed while
4862         the image is being loaded.
4864 2008-10-20  Martin Nordholts  <martinn@svn.gnome.org>
4866         * menus/image-menu.xml.in
4867         * app/actions/debug-actions.c
4868         * app/actions/debug-commands.c: Create dump and non-dump
4869         groups. Also added a tooltip to the Benchmark Projection action
4870         and removed report of number of layers.
4872 2008-10-20  Sven Neumann  <sven@gimp.org>
4874         * app/widgets/gimperrorconsole.c (gimp_error_console_init): don't
4875         make the font size even smaller. We already use a smaller font in
4876         the dock windows.
4878 2008-10-20  Sven Neumann  <sven@gimp.org>
4880         * app/widgets/gimpgradienteditor.c (view_events) (control_events):
4881         use pointer coordinates from the passed event instead of calling
4882         gtk_widget_get_pointer().
4884 2008-10-20  Sven Neumann  <sven@gimp.org>
4886         * plug-ins/common/bump-map.c (dialog_preview_events): use pointer
4887         coordinates from the passed event instead of calling
4888         gtk_widget_get_pointer().
4890 2008-10-20  Sven Neumann  <sven@gimp.org>
4892         * plug-ins/common/iwarp.c: set the OK and Reset button insensitive
4893         until the user has defined a deformation to apply. Cleaned up
4894         event handling.
4896 2008-10-20  David Odin  <dindinx@gimp.org>
4898         * plug-ins/common/*.c: untabified
4900 2008-10-19  Michael Natterer  <mitch@gimp.org>
4902         * app/actions/debug-actions.c
4903         * app/actions/debug-commands.[ch]
4904         * menus/image-menu.xml.in: rename
4905         debug-dump-projection-benchmarking to debug-benchmark-projection.
4907 2008-10-19  Sven Neumann  <sven@gimp.org>
4909         * plug-ins/metadata/xmp-parse.c: use GSlice to allocate structs.
4911 2008-10-19  Sven Neumann  <sven@gimp.org>
4913         * plug-ins/metadata/xmp-encode.c
4914         * plug-ins/metadata/xmp-parse.c
4916         * plug-ins/metadata/metadata.c
4917         * plug-ins/metadata/xmpdump.c: removal of unused includes and
4918         other minor cleanups.
4920 2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>
4922         * app/gegl/gimpoperationadditionmode.c: Remove local channel
4923         offset defines.
4925 2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>
4927         * app/gegl/gimpoperation*mode.c: Refer to the input as 'in'
4928         instead of 'src', the layer as 'layer' instead of 'aux', and the
4929         result as 'out' instead of 'dest'.
4931 2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>
4933         * app/base/base-types.h: Rename the convenient channel offset
4934         defines from CHANNEL_PIX to CHANNEL as this increases readability.
4936         * app/base/color-balance.c
4937         * app/base/colorize.c
4938         * app/base/desaturate.c
4939         * app/base/hue-saturation.c
4940         * app/base/siox.c
4941         * app/base/threshold.c
4943         * app/core/gimp-edit.c
4944         * app/core/gimp-transform-region.c
4945         * app/core/gimpchannel.c
4946         * app/core/gimpdrawable-bucket-fill.c
4947         * app/core/gimpdrawable-convert.c
4948         * app/core/gimpdrawable-stroke.c
4949         * app/core/gimpdrawable.c
4950         * app/core/gimpimage-convert.c
4951         * app/core/gimpimage.c
4952         * app/core/gimppalette-import.c
4953         * app/core/gimppickable.c
4955         * app/gegl/gimpoperation*mode.c
4956         * app/gegl/gimpoperationcolorbalance.c
4957         * app/gegl/gimpoperationcolorize.c
4958         * app/gegl/gimpoperationhuesaturation.c
4959         * app/gegl/gimpoperationlevels.c
4960         * app/gegl/gimpoperationposterize.c
4961         * app/gegl/gimpoperationthreshold.c
4963         * app/paint-funcs/subsample-region.c
4965         * app/paint/gimpclone.c
4966         * app/paint/gimppaintbrush.c
4968         * app/widgets/gimpviewrenderer.c: Adapt.
4970 2008-10-19  Sven Neumann  <sven@gimp.org>
4972         Bug 493778 – metadata plug-in crashes on some images
4974         * plug-ins/metadata/xmp-encode.c (gen_property): introduced a
4975         utility function to create XML elements. Deal gracefully with NULL
4976         and empty values. Does not fix the crash, but fixes a warning that
4977         has been reported in the same bug report.
4979 2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>
4981         * app/base/base-types.h: There is nothing magic or ugly about the
4982         convenient defines, remove comments saying so.
4984 2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>
4986         * app/gegl/gimpoperationadditionmode.c: Refer to the input as 'in'
4987         instead of 'src', the layer as 'layer' instead of 'aux', and the
4988         result as 'out' instead of 'dest'. The old terminology clashes
4989         with at least the SVG 1.2 compositing terminology [1] and there is
4990         no reason for creating confusion.
4992         [1] http://www.w3.org/TR/2004/WD-SVG12-20041027/rendering.html
4994 2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>
4996         * app/gegl/gimpoperationadditionmode.c: Use local variants of
4997         channel offset defines, namely RED instead of RED_PIX etc, to
4998         increase readability.
5000 2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>
5002         * app/actions/debug-commands.c
5003         (debug_dump_projection_benchmarking_cmd_callback): In addition to
5004         priting how long it takes to validate the projection, also print
5005         the number of layers in the image.
5007 2008-10-19  Martin Nordholts  <martinn@svn.gnome.org>
5009         * menus/image-menu.xml.in
5010         * app/actions/debug-actions.c
5011         * app/actions/debug-commands.[ch]: Added a 'Dump Projection
5012         Benchmarking' item to the Debug Menu so that we can test how
5013         different GEGL graph setups affect performance.
5015 2008-10-19  Michael Natterer  <mitch@gimp.org>
5017         * configure.in: add -Wmissing-format-attribute to CFLAGS.
5019         * plug-ins/imagemap/imap_main.c
5020         * plug-ins/imagemap/imap_object.h
5021         * plug-ins/imagemap/imap_source.c
5022         * plug-ins/imagemap/imap_statusbar.h: add G_GNUC_PRINTF().
5024 2008-10-18  Michael Natterer  <mitch@gimp.org>
5026         * configure.in: add -Wstrict-prototypes to CFLAGS.
5028 2008-10-18  Sven Neumann  <sven@gimp.org>
5030         Applied patch from Alexia Death as attached to bug #471344:
5032         * app/core/Makefile.am
5033         * app/core/gimpcoords-interpolate.[ch]: new files with
5034         interpolation code taken from ...
5036         * app/vectors/gimpbezierstroke.c: ... here.
5038         * app/Makefile.am (AM_LDFLAGS): make it link.
5040 2008-10-17  Sven Neumann  <sven@gimp.org>
5042         * plug-ins/file-psd/psd-save.c (xfwrite): fixed handling of empty
5043         strings. Don't quit silently, write an error message to stderr at
5044         least.
5046 2008-10-17  Sven Neumann  <sven@gimp.org>
5048         * app/core/gimp.[ch]: added signal Gimp::image-opened to announce
5049         that an image has been loaded and a display was created for it.
5051         * app/file/file-open.c (file_open_with_proc_and_display): call
5052         gimp_image_opened() to emit the new signal.
5054         * app/gui/dbus-service.xml
5055         * app/gui/gimpdbusservice.[ch]: propagate the 'opened' signal to
5056         listeners of the "org.gimp.GIMP.UI" DBus service.
5058         * app/gui/gui-unique.c: formatting.
5060 2008-10-16  Sven Neumann  <sven@gimp.org>
5062         * app/widgets/gimpviewrenderervectors.c
5063         (gimp_view_renderer_vectors_draw): just some cleanup.
5065 2008-10-16  Sven Neumann  <sven@gimp.org>
5067         Bug 556248 – Scaling gives 'jagged' edges
5069         * app/paint-funcs/scale-region.c (scale): calculate pixel
5070         contributions based on pixel centers, not on pixel origins.
5072 2008-10-15  Jakub Steiner <jimmac@gimp.org>
5074         * themes/Default/images/stock-gegl.svg:
5075         * themes/Default/images/stock-gegl-22.svg:
5076         * themes/Default/images/stock-gegl-22.png: remove white from the
5077         shadow to render correctly on dark backgrounds.
5079 2008-10-15  Michael Natterer  <mitch@gimp.org>
5081         * tools/pdbgen/pdb.pl: reindent the list of PDB types and remove
5082         the unused and deprecated types "boundary" and "region". Also
5083         remove "status" because it is unused (and unneeded and
5084         unimplemented).
5086 2008-10-15  Michael Natterer  <mitch@gimp.org>
5088         * app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
5089         add the gegl: prefix here too.
5091         (gimp_gegl_tool_get_config): canonicalize the type name of the
5092         created config class or we crash.
5094 2008-10-14  Michael Natterer  <mitch@gimp.org>
5096         * configure.in
5097         * app/sanity.c: require GEGL >= 0.0.21.
5099         * app/core/gimpchannel.c
5100         * app/core/gimpdrawable-brightness-contrast.c
5101         * app/core/gimpdrawable-invert.c
5102         * app/core/gimpimage.c
5103         * app/core/gimpimagemap.c
5104         * app/core/gimplayer.c
5105         * app/gegl/gimp-gegl-utils.c
5106         * app/tools/gimpbrightnesscontrasttool.c: GEGL operation names
5107         are now "gegl:"-prefixed.
5109         * app/core/gimpimagemap.c: set the node's "dont-cache" property
5110         unconditionally.
5112 2008-10-14  Sven Neumann  <sven@gimp.org>
5114         * app/widgets/gimpdialogfactory.c (gimp_dialog_factory_add_dialog):
5115         let new docks appear at the pointer position.
5117 2008-10-14  Michael Natterer  <mitch@gimp.org>
5119         * app/core/gimpdrawable.[ch]: add a default implementation of
5120         GimpDrawable::get_node() which contains a layer mode node.
5121         Implement GimpItem::visibility_changed() and turn the node into a
5122         nop when the drawable is invisible. Added public function
5123         gimp_drawable_get_mode_node() so subclasses can plug stuff
5124         into its "aux" pad.
5126         * app/core/gimplayer.[ch]
5127         * app/core/gimpchannel.[ch]: changed accordingly (remove
5128         duplicated member and code that is now in GimpDrawable).
5130 2008-10-14  Michael Natterer  <mitch@gimp.org>
5132         * app/gegl/gimp-gegl-utils.[ch]: remove function
5133         gimp_bpp_to_babl_format_linear() and add "gboolean linear"
5134         parameter to gimp_bpp_to_babl_format().
5136         * app/gegl/gimpoperationtilesink.c (process)
5137         * app/gegl/gimpoperationtilesource.c (prepare): simply pass
5138         self->linear to above changed function instead of selecting
5139         between the two old functions.
5141 2008-10-14  Sven Neumann  <sven@gimp.org>
5143         * app/signals.c (gimp_init_signal_handlers): comments.
5145 2008-10-13  Sven Neumann  <sven@gimp.org>
5147         Bug 556182 – Could you please explain a few strings [I18N]
5149         * plug-ins/pygimp/plug-ins/py-slice.py: added translator comments.
5151 2008-10-13  Sven Neumann  <sven@gimp.org>
5153         * app/Makefile.am
5154         * app/signals.[ch]: new files with code split out of main.c.
5156         * app/main.c: changed accordingly.
5158 2008-10-13  Martin Nordholts  <martinn@svn.gnome.org>
5160         * app/gegl/gimpoperationadditionmode.c
5161         (gimp_operation_addition_mode_process): Update with a new version
5162         that is the best known so far (maybe it's even correct?).
5164 2008-10-13  Sven Neumann  <sven@gimp.org>
5166         Bug 547967 – Improve app/paint-funcs/ maintainability
5168         Applied patch from Luidnel Maignan that splits the legacy code for
5169         layer modes into new files.
5171         * app/paint-funcs/Makefile.am
5172         * app/paint-funcs/layer-modes.[ch]
5173         * app/paint-funcs/paint-funcs-utils.h: new files with code taken
5174         from ...
5176         * app/paint-funcs/paint-funcs-generic.h
5177         * app/paint-funcs/paint-funcs.c: ... these two files.
5179 2008-10-13  Michael Natterer  <mitch@gimp.org>
5181         * app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
5182         remove warning because the missing layer modes are now
5183         "implemented", ha ha.
5185 2008-10-12  Michael Natterer  <mitch@gimp.org>
5187         * app/gegl/gimpoperationpointcomposer.[ch]: renamed this class...
5189         * app/gegl/gimpoperationlayermode.[ch]: ...to this and add
5190         an own process() virtual function so we are free to hack even
5191         more badly in order to support legacy layer modes and proper
5192         ones which do meaningful things to alpha. Simply redirect
5193         GeglOperationPointComposer's compose() calls to our own vfunc
5194         for now.
5196         * app/gegl/gegl-types.h
5197         * app/gegl/Makefile.am: changed accordingly.
5199         * app/gegl/gimpoperation*mode.[ch]: changed parent class and
5200         implemented process() method accordingly.
5202 2008-10-12  Michael Natterer  <mitch@gimp.org>
5204         * app/gegl/gimpoperationadditionmode.c: commit some #if 0'ed
5205         experimental code.
5207         * app/actions/view-commands.c (view_use_gegl_cmd_callback): use
5208         gimp_image_update(), simply exposing the shell doesn't reconstruct
5209         the projection.
5211 2008-10-11  Michael Natterer  <mitch@gimp.org>
5213         * app/core/gimpprojection.h: add a "use_gegl" boolean member.
5215         * app/core/gimpprojection-construct.c (gimp_projection_construct):
5216         use the boolean instead of hardcoding FALSE.
5218         * app/actions/view-actions.c
5219         * app/actions/view-commands.[ch]: add a "Use GEGL" action and
5220         callback which sets the boolean and exposes the display.
5222         * menus/image-menu.xml.in: add it to the "View" menu.
5224 2008-10-11  Martin Nordholts  <martinn@svn.gnome.org>
5226         * app/gegl/gimpoperationadditionmode.c
5227         (gimp_operation_addition_mode_process): Implement this one.
5229 2008-10-11  Michael Natterer  <mitch@gimp.org>
5231         * app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
5232         it's gimp-screen-node not gimp-screen_mode.
5234 2008-10-11  Michael Natterer  <mitch@gimp.org>
5236         * app/gegl/gimpoperationpointcomposer.[ch]: add an empty abstract
5237         GeglOperationPointComposer subclass which can be used to hook in
5238         common debug or test or whatever code for below layer modes.
5240         * app/gegl/gimpoperation*mode.[ch]: add empty stubs of layer mode
5241         operations which do nothing but copying input to output.
5243         * app/gegl/Makefile.am
5244         * app/gegl/gegl-types.h: add them here and reordered things a bit.
5246         * app/gegl/gimp-gegl.c (gimp_gegl_init): register the new
5247         operations.
5249         * app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
5250         return the new operations.
5252 2008-10-11  Michael Natterer  <mitch@gimp.org>
5254         * app/gegl/gimpoperationpointfilter.c: make it abstract.
5256 2008-10-11  Michael Natterer  <mitch@gimp.org>
5258         * app/gegl/gimp-gegl-utils.c (gimp_layer_mode_to_gegl_operation):
5259         don't return non-existing layer modes (in fact, return "normal"
5260         for all modes).
5262 2008-10-11  Michael Natterer  <mitch@gimp.org>
5264         * app/core/gimpchannel.[ch]: add a projection node and
5265         implement GimpDrawable::get_node(). Reconfigure the node in
5266         visibility_changed(), set_color(), set_opacity() and
5267         set_show_masked().
5269         * app/core/gimpimage.c (gimp_image_get_graph): enable code that
5270         projects the channels stack on top of the layer stack.
5272         * app/core/gimpprojection-construct.c: remove the call to
5273         gimp_projection_construct_channels() from the GEGL code path. Also
5274         don't touch proj->construct_flag.
5276 2008-10-11  Michael Natterer  <mitch@gimp.org>
5278         * app/core/gimplayer.c (gimp_layer_get_node): remove obsolete
5279         assertion and redundant cast.
5281 2008-10-11  Michael Natterer  <mitch@gimp.org>
5283         * app/core/gimpdrawablestack.c: add GimpContainer::add()
5284         implementation, it's needed after all even though everybody uses
5285         gimp_container_insert() on drawable stacks.
5287         (gimp_drawable_stack_remove_node): no need to have a special check
5288         for newly added nodes, this can't happen any more now that we have
5289         an add() impl.
5291         (gimp_drawable_stack_get_graph): free the reverse list.
5293 2008-10-11  Michael Natterer  <mitch@gimp.org>
5295         Fix old bug in the GimpContainer implementation that wasn't
5296         visible before the drawable stack completly b0rked when removing
5297         the second-last item:
5299         * app/core/gimpcontainer.c: add default implementations of ::add()
5300         and ::remove() and update container->num_children there instead of
5301         in the gimp_container_add() and _remove() wrapper functions.
5302         This way not only external callbacks connected to the "add" and
5303         "remove" signals are called with the correct num_children, also
5304         implemtations of ::add() and ::remove() in subclass have the right
5305         number available before/after upchaining. Add paranoia code to the
5306         wrapper functions which check if the subclass reall chains up.
5308         * app/core/gimplist.c: chain up in add() and remove().
5310 2008-10-11  Martin Nordholts  <martinn@svn.gnome.org>
5312         * app/widgets/gimpdockseparator.c (gimp_dock_separator_drag_drop):
5313         Initialize 'index'.
5315 2008-10-11  Martin Nordholts  <martinn@svn.gnome.org>
5317         * app/widgets/gimpdockseparator.c (gimp_dock_separator_new): Add a
5318         GtkAnchorType member to GimpDockSeparator that specifies where a
5319         dropped dockable shall be inserted.
5321         (gimp_dock_separator_drag_drop): Get rid of the ugly hack where
5322         the role of a given separator was based on its position as a child
5323         in its container. Simply decide what role the separator has by
5324         loooking at its anchor-member.
5326         * app/widgets/gimpdock.c (gimp_dock_init)
5327         (gimp_dock_add_book): Give the GimpDockSeparators their
5328         appropriate roles directly at their construction.
5330 2008-10-10  Michael Natterer  <mitch@gimp.org>
5332         * app/core/gimpdrawablestack.c
5333         (gimp_drawable_stack_add_node)
5334         (gimp_drawable_stack_remove_node): simplify by getting rid of code
5335         duplication.
5337 2008-10-10  Michael Natterer  <mitch@gimp.org>
5339         * app/core/gimpdrawablestack.[ch]: move all the code that creates
5340         a graph of drawables and all adding/removing/reordering code from
5341         GimpImage to this file.
5343         * app/core/gimpimage.c: remove the code here and use the layer
5344         stack's subgraph instead. Add #if 0'ed code that blends the
5345         channels on top of that but that doesn't work because channels
5346         don't provide nodes yet.
5348 2008-10-10  Michael Natterer  <mitch@gimp.org>
5350         * app/core/core-types.h
5351         * app/core/Makefile.am
5352         * app/core/gimpdrawablestack.[ch]: new GimpList subclass stub
5353         which will manage the subgraphs of layers and channels and is also
5354         the first step towards layer tree.
5356         * app/core/gimpimage.c (gimp_image_init): keep the layers and
5357         channels in GimpDrawableStacks instead of plain GimpLists.
5359 2008-10-10  Michael Natterer  <mitch@gimp.org>
5361         * app/core/gimpdrawable.[ch]: add virtual function
5362         GimpDrawable::get_node() which returns a node to be plugged into
5363         the projection.
5365         * app/core/gimplayer.[ch]: remove public get_node() api and
5366         implement the virtual function instead.
5368         * app/core/gimpimage.c: changed accordingly.
5370 2008-10-10  Michael Natterer  <mitch@gimp.org>
5372         * app/tools/gimpmovetool.c (gimp_move_tool_button_release): flush
5373         the image after setting active items back from temporarily
5374         selected ones. Fixes menu item sensitivity.
5376 2008-10-10  Michael Natterer  <mitch@gimp.org>
5378         * app/core/gimplayer.c: implement GimpItem::visibility-changed
5379         and turn the layer's node into a nop when the layer is invisible.
5381         (gimp_layer_get_node): connect the stuff to a nop here too for
5382         invisible layers.
5384 2008-10-10  Michael Natterer  <mitch@gimp.org>
5386         Bug 554983 – Layers Projection using GEGL
5388         First projection using GEGL, wheeeee. Disabled by default because
5389         it doesn't work with floating selection (and will not, FS
5390         refactoring is in the queue).
5392         * app/core/gimpimage.[ch]: add gimp_image_get_graph() which
5393         returns a GeglNode representing the image's projection.
5395         (gimp_image_add_layer_node)
5396         (gimp_image_remove_layer_node): new utility functions to add and
5397         remove layer nodes to/from the graph.
5399         (gimp_image_add_layer)
5400         (gimp_image_remove_layer)
5401         (gimp_image_position_layer): call them to keep the graph up to date.
5403         * app/core/gimpdrawable.c (gimp_drawable_real_update): invalidate
5404         the source node.
5406         * app/core/gimpprojection.[ch]: keep a projection graph around and
5407         add gimp_projection_get_sink_node() which returns the node that
5408         writes to the projection tiles.
5410         * app/core/gimpprojection-construct.c: add
5411         gimp_projection_construct_gegl() which is a few-liner that uses a
5412         GeglProcessor to run the projection graph.
5414         (gimp_projection_construct): call the new function (disabled by
5415         default).
5417 2008-10-10  Michael Natterer  <mitch@gimp.org>
5419         * app/core/gimpimage.[ch]: add new functions
5420         gimp_image_get_layer_by_index(), _channel_by_index() and
5421         _vectors_by_index().
5423         * app/core/gimpprojection-construct.c
5424         * app/display/gimpdisplayshell-layer-select.c
5425         * app/xcf/xcf-load.c: use them instead of looking the items up
5426         in image->container and casting the return value.
5428 2008-10-10  Michael Natterer  <mitch@gimp.org>
5430         * app/core/gimplayer.c (gimp_layer_translate)
5431         (gimp_layer_get_node): the "shift" operation's x and y properties
5432         are doubles not ints.
5434         (gimp_layer_apply_mask): properly disconnect the mask node.
5436         (gimp_layer_set_opacity): the opacity node has a "value" property,
5437         not "opacity".
5439 2008-10-09  Michael Natterer  <mitch@gimp.org>
5441         Address Bug 554983 – Layers Projection using GEGL
5443         * app/gegl/gimp-gegl-utils.[ch]: add (imcomplete) function
5444         gimp_layer_mode_to_gegl_operation() from bug #554983.
5446         * app/core/gimpdrawable.[ch]: add gimp_drawable_get_source_node()
5447         which returns a GimpOperationTileSource for the drawable's
5448         tiles.
5450         (gimp_drawable_real_set_tiles)
5451         (gimp_drawable_configure): set the node's "tiles" property.
5453         * app/core/gimplayer.[ch]: add gimp_layer_get_node() which returns
5454         a GeglNode with proxy "input" and "output" pads to be plugged
5455         into the projection graph. The node has children for opacity,
5456         mask, layer mode and layer offset.
5458         (gimp_layer_translate)
5459         (gimp_layer_add_mask)
5460         (gimp_layer_apply_mask)
5461         (gimp_layer_set_opacity)
5462         (gimp_layer_set_mode): reconfigure the respective nodes.
5464         * app/core/gimpimage.[ch]: keep a "graph" node around and destroy
5465         it in finalize(). Not even a stub, just a silly GEGL dependency.
5467 2008-10-09  Michael Natterer  <mitch@gimp.org>
5469         Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
5470         had a GEGL dependency (they will have in the next commit, but I
5471         wanted to keep the commit separate).
5473         * app/dialogs/Makefile.am
5474         * app/file/Makefile.am
5475         * app/gui/Makefile.am
5476         * app/menus/Makefile.am
5477         * app/paint/Makefile.am
5478         * app/plug-in/Makefile.am
5479         * app/text/Makefile.am
5480         * app/vectors/Makefile.am
5481         * app/widgets/Makefile.am
5482         * app/xcf/Makefile.am: add GEGL_CFLAGS.
5484         * app/actions/*.c
5485         * app/core/*.c
5486         * app/dialogs/*.c
5487         * app/display/*.c
5488         * app/file/*.c
5489         * app/gui/*.c
5490         * app/menus/*.c
5491         * app/paint/*.c
5492         * app/pdb/gimppdb-utils.c
5493         * app/pdb/gimpprocedure.c
5494         * app/plug-in/*.c
5495         * app/text/*.c
5496         * app/tools/*.c
5497         * app/vectors/*.c
5498         * app/widgets/*.c
5499         * app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
5500         to all files which include a drawable subclass or gimpimage.h
5502         * tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
5503         in all generated files.
5505         * app/pdb/*-cmds.c: regenerated.
5507         * data/images/gimp-splash.png: the goat is still sleeping.
5508         By Aurore Derriennic.
5510 2008-10-09  Michael Natterer  <mitch@gimp.org>
5512         Remove the last code duplication from the undo system (or if not
5513         the last then at least the most ugly):
5515         * app/core/gimpimage.[ch] (gimp_image_add_layer,channel,vectors):
5516         add "gboolean push_undo" parameter and add the item without
5517         touching undo if it's TRUE. Changed assertions from
5518         g_object_is_floating() to !gimp_item_is_attached() so they also
5519         take items from the undo stack and not only newly created ones.
5521         (gimp_image_remove_layer,channel,vectors): add "push_undo"
5522         parameter here too. Also add a "new_active" parameter where an
5523         optional new active item can be passed.
5525         (gimp_image_remove_layer,channel): these functions must not be
5526         called with push_undo=FALSE and a floating selection attached to
5527         the layer/channel. This can't currently happen; added warnings in
5528         case other code is changed and makes it happen anyway.
5530         * app/core/gimpchannelundo.c
5531         * app/core/gimplayerundo.c
5532         * app/vectors/gimpvectorsundo.c: use above functions to add/remove
5533         items instead of duplicating (parts of) their code. Pass
5534         push_undo=FALSE and the previously active item to the remove()
5535         functions.
5537         * app/actions/channels-commands.c
5538         * app/actions/edit-commands.c
5539         * app/actions/layers-commands.c
5540         * app/actions/vectors-commands.c
5541         * app/core/gimp-edit.c
5542         * app/core/gimpchannelundo.c
5543         * app/core/gimpimage-crop.c
5544         * app/core/gimpimage-duplicate.c
5545         * app/core/gimpimage-merge.c
5546         * app/core/gimpimage-quick-mask.c
5547         * app/core/gimpimage-scale.c
5548         * app/core/gimplayer-floating-sel.c
5549         * app/core/gimplayerundo.c
5550         * app/core/gimpselection.c
5551         * app/core/gimptemplate.c
5552         * app/display/gimpdisplayshell-dnd.c
5553         * app/text/gimptext-compat.c
5554         * app/tools/gimptexttool.c
5555         * app/tools/gimpvectortool.c
5556         * app/vectors/gimpvectors-import.c
5557         * app/vectors/gimpvectorsundo.c
5558         * app/widgets/gimpchanneltreeview.c
5559         * app/widgets/gimpitemtreeview.[ch]
5560         * app/widgets/gimplayertreeview.c
5561         * app/widgets/gimptoolbox-dnd.c
5562         * app/widgets/gimpvectorstreeview.c
5563         * app/xcf/xcf-load.c
5564         * tools/pdbgen/pdb/image.pdb
5565         * tools/pdbgen/pdb/paths.pdb: changed accordingly (pass TRUE
5566         unless it's a new image like when loading and XCF file).
5568         * app/pdb/image-cmds.c
5569         * app/pdb/paths-cmds.c: regenerated.
5571 2008-10-09  Sven Neumann  <sven@gimp.org>
5573         * data/images/Makefile.am
5574         * data/images/gimp-devel-logo.png: added 128x128 version of
5575         wilber-devel.png.
5577         * app/dialogs/about-dialog.c (about_dialog_load_logo): use
5578         gimp-devel-logo.png for unstable releasees.
5580 2008-10-09  Sven Neumann  <sven@gimp.org>
5582         Bug 555697 – build fails if configured with --without-libjpeg
5584         * plug-ins/Makefile.am: applied patch from Simon Zilliken that
5585         disables the build of the PSD plug-in if JPEG support is disabled.
5587 2008-10-09  Michael Natterer  <mitch@gimp.org>
5589         Bug 134956 – Curves tool doesn't save free curves
5591         * app/core/gimpmarshal.list
5592         * app/widgets/gimpsettingsbox.[ch]: add signal "file-dialog-setup"
5593         and emit it when the export/import file chooser is fully
5594         constructed. Callbacks can then do additional things to the
5595         dialog, like adding custom buttons.
5597         * app/tools/gimpcurvestool.h
5598         * app/tools/gimplevelstool.h: add boolean member
5599         "export_old_format".
5601         * app/tools/gimpcurvestool.c
5602         * app/tools/gimplevelstool.c (gimp_*_tool_dialog): connect to
5603         the settings box' "file-dialog-setup".
5605         (gimp_*_tool_export_setup): new callback which adds a toggle to
5606         the file choosers that allows to export to the old format.
5607         Default saving the new format, we defaulted to the old one before.
5609         (gimp_*_tool_settings_export): check the "export_old_format"
5610         boolean and only save the cruft format if it is TRUE; chain up
5611         otherwise, which generically saves the new format.
5613         * app/tools/gimplevelstool.c (gimp_levels_tool_settings_import):
5614         add the same file format detection code as in the curves tool
5615         so it transparently loads old and new levels files.
5617 2008-10-09  Sven Neumann  <sven@gimp.org>
5619         * app/core/gimp-user-install.c (gimp_user_install_detect_old):
5620         use GIMP_MINOR_VERSION to determine the version to migrate from.
5622 2008-10-09  Michael Natterer  <mitch@gimp.org>
5624         * app/gegl/gimpcurvesconfig.c (gimp_curves_config_save_cruft):
5625         when saving a curve of type GIMP_CURVE_FREE, don't use
5626         gimp_curve_get_point() because that returns nothing for free
5627         curves.
5629         (gimp_curves_config_load_cruft): reset the curve before loading it.
5631         * app/core/gimpcurve.c (gimp_curve_get_point): instead of above
5632         mentioned uninitialized nonsense, at least return -1,-1 for free
5633         curves.
5635 2008-10-09  Michael Natterer  <mitch@gimp.org>
5637         * app/Makefile.am
5638         * tools/Makefile.am: change 2.6 to 2.7 here too.
5640 2008-10-09  Sven Neumann  <sven@gimp.org>
5642         * README
5643         * NEWS
5644         * configure.in: bumped version to 2.7.0 after creating a stable
5645         gimp-2-6 branch.
5647 2008-10-09  Sven Neumann  <sven@gimp.org>
5649         * Made 2.6.1 release.
5651 2008-10-08  Martin Nordholts  <martinn@svn.gnome.org>
5653         Bug 555587 – PSD file crashes PSD plug-in
5655         * plug-ins/file-psd/psd-load.c (add_merged_image): Handle
5656         img_a->alpha_names being NULL.
5658 2008-10-08  Michael Natterer  <mitch@gimp.org>
5660         * libgimpwidgets/gimpruler.c: cosmetics.
5662 2008-10-08  Michael Natterer  <mitch@gimp.org>
5664         Quick hack I needed for debugging and which doesn't hurt:
5666         * tools/test-clipboard.c (test_clipboard_paste): allow to paste to
5667         STDOUT by passing '-' as filename.
5669 2008-10-08  Martin Nordholts  <martinn@svn.gnome.org>
5671         * plug-ins/file-psd/psd-load.c (add_layers): Decrease scope of
5672         comp_mode and initialize it.
5674 2008-10-08  Martin Nordholts  <martinn@svn.gnome.org>
5676         Bug 555222 – PSD Load Plugin: unsupported compression mode
5678         * plug-ins/file-psd/psd-load.c (add_layers): Some PSD files can
5679         have channels where a compression method used for the channel data
5680         is specified, but without any actual channel data. Handle this
5681         case. Fix inspired by patch from Chris Mohler.
5683 2008-10-08  Sven Neumann  <sven@gimp.org>
5685         * app/base/tile-cache.c: use a GMutex instead of a GStaticMutex
5686         as the latter needs API that causes compiler warnings about
5687         dereferencing of type-punned pointers.
5689 2008-10-07  Michael Natterer  <mitch@gimp.org>
5691         Bug 555362 – gimp-remote is not working properly
5693         * app/widgets/gimptoolbox-dnd.c (gimp_toolbox_dnd_init): add the
5694         window itself as drop traget again so gimp-remote works.
5696 2008-10-07  Michael Natterer  <mitch@gimp.org>
5698         * app/*/Makefile.am: reorder sections consistently. Remove
5699         redundant CFLAGS.
5701 2008-10-06  Sven Neumann  <sven@gimp.org>
5703         Bug 555280 – some gif files will not be open
5705         * plug-ins/common/file-gif-load.c (GetCode): be more tolerant and
5706         continue loading with a warning message if there are bits missing
5707         at the end of the file.
5709 2008-10-06  Sven Neumann  <sven@gimp.org>
5711         * app/paint-funcs/scale-region.c (scale_region): removed debug
5712         output.
5714 2008-10-06  Michael Natterer  <mitch@gimp.org>
5716         * plug-ins/common/file-gih.c
5717         * plug-ins/common/file-xbm.c: setting a spin button's
5718         page_increment to 1 is of no use, set it to 10 instead.
5720 2008-10-06  Michael Natterer  <mitch@gimp.org>
5722         * app/plug-in/plug-in-menu-path.c (menu_path_mappings): add a
5723         fallback mapping from <Toolbox> to <Image> so we catch really
5724         everything that wants to go to <Toolbox>.
5726 2008-10-06  Michael Natterer  <mitch@gimp.org>
5728         * app/core/gimpcontext.c (gimp_context_real_set_display): paranoia
5729         fix for hypothetical but harmful misbehavior: when setting the
5730         display from !=NULL to NULL, also set the image to NULL instead of
5731         relying on whatever obscure implicit behavior of other parts of
5732         GIMP which set a new display right away or make sure the image
5733         goes away together with the display.
5735 2008-10-06  Michael Natterer  <mitch@gimp.org>
5737         * app/core/gimplayer.c (gimp_layer_add_mask): g_return_if_fail()
5738         on the mask's image being the same as the layer's image. The PDB
5739         already checks for this.
5741         * app/core/gimpimage.c (gimp_image_add_layer,channel,vectors):
5742         remove calls to gimp_item_set_image() because we only accept
5743         itmes of this image anyway.
5745 2008-10-05  Michael Natterer  <mitch@gimp.org>
5747         * app/plug-in/gimpplugin-cleanup.c
5748         * app/vectors/gimpanchor.c: #include <glib-object.h>, not
5749         "glib-object.h".
5751 2008-10-05  Michael Natterer  <mitch@gimp.org>
5753         * app/gegl/gegl-types.h: including ourselves serves no purpose.
5755 2008-10-05  Michael Natterer  <mitch@gimp.org>
5757         Allow to "Open as Layers" in the empty display:
5759         * app/widgets/gimpfiledialog.[ch]: add member
5760         "gboolean open_as_layers". Rename gimp_file_dialog_set_image() to
5761         gimp_file_dialog_set_save_image() and add
5762         gimp_file_dialog_set_open_image() which sets both the image to
5763         load layers into and the "open_as_layers" boolean.
5765         * app/dialogs/file-open-dialog.c (file_open_dialog_response): look
5766         at dialog->open_as_layers instead of dialog->image to decide whether
5767         to open as layers (that's much more obvious). Enable open as layers
5768         without existing image by creating the image if it doesn't exist.
5770         * app/actions/file-commands.c (file_open_dialog_show): add "title"
5771         parameter and take the uri from the image if none was passed. Use the
5772         new gimp_file_dialog_set_open_image() instead of poking into the
5773         dialog struct. Change callers to pass the title and not get the
5774         uri from the image; instead always pass the image.
5776         * app/actions/file-actions.c (file_actions_update): keep
5777         "Open as Layers" sensitive even without image.
5779 2008-10-05  Michael Natterer  <mitch@gimp.org>
5781         * app/core/gimpimage-contiguous-region.c: some formatting cleanups.
5783         (find_contiguous_segment): changed to return gboolean not gint.
5785 2008-10-05  Sven Neumann  <sven@gimp.org>
5787         * libgimpwidgets/gimpruler.c: cache the PangoLayout. Use it not
5788         only for drawing the numbers, but also to calculate the size
5789         requisition depending on the actual font size.
5791 2008-10-05  Sven Neumann  <sven@gimp.org>
5793         * libgimpwidgets/gimpruler.c: instead of hardcoding a size
5794         request, implement GtkWidget::size_request and set the size
5795         depending on the font-scale.
5797 2008-10-05  Sven Neumann  <sven@gimp.org>
5799         Bug 554890 – JPEG Save Options Dialog does not remember
5800         Subsampling mode
5802         * plug-ins/file-jpeg/jpeg.c (run): fixed problem introduced by the
5803         use of an enum for the subsampling factor.
5805 2008-10-04  Michael Natterer  <mitch@gimp.org>
5807         * plug-ins/common/web-browser.c: return errors via return_vals
5808         instead of displaying them with g_message().
5810 2008-10-04  Sven Neumann  <sven@gimp.org>
5812         * libgimpwidgets/gimpruler.c: increased ruler font scale from
5813         X_SMALL to SMALL as it appears to be too small for many users.
5815         * themes/Default/gtkrc: follow that change here, but keep the
5816         ruler font extra small in the Small theme.
5818 2008-10-04  Sven Neumann  <sven@gimp.org>
5820         * plug-ins/file-jpeg/jpeg-save.c: some cleanups to the subsampling
5821         code; in an attempt to fix bug #555031.
5823 2008-10-04  Sven Neumann  <sven@gimp.org>
5825         * INSTALL: updated GTK+ requirement.
5827 2008-10-04  Michael Natterer  <mitch@gimp.org>
5829         * configure.in: depend on GTK+ 2.12.5 so motion history events of
5830         extended input devices have proper timestamps needed by paint
5831         tools.
5833 2008-10-04  Sven Neumann  <sven@gimp.org>
5835         * libgimpwidgets/gimpruler.c: make the font scale factor
5836         configurable in gtkrc.
5838         * themes/Default/gtkrc
5839         * themes/Small/gtkrc: for documentation, add the default value here.
5841 2008-10-03  Sven Neumann  <sven@gimp.org>
5843         * plug-ins/common/web-browser.c (browser_open_url): removed
5844         trailing whitespace and corrected error message.
5846 2008-10-03  Hans Breuer  <hans@breuer.org>
5848         * plug-ins/common/web-browser.c : when ShellExecute() is failing give
5849         the detailed (currently intentionally untranslated) error message via
5850         g_message()
5852         * **/makefie.msc gimpdefs.msc app/gimpcore.def : updated
5853         * app/core/gimpcurve.c : include <string.h> for memcmp()
5854         * app/gegl/gimpcurvesconfig.c : include <string.h> for strcmp()
5856 2008-10-03  Sven Neumann  <sven@gimp.org>
5858         Bug 554966 – Gimp crashes creating a new image using a template
5860         * app/display/gimpdisplayshell-scale.c
5861         (gimp_display_shell_scale_update_scrollbars)
5862         (gimp_display_shell_scale_update_rulers): bail out early if
5863         shell->display is NULL.
5865 2008-10-03  Michael Natterer  <mitch@gimp.org>
5867         Bug 554785 – Compile failure on uri-backend-libcurl
5869         * plug-ins/file-uri/uri-backend-libcurl.c: apply patch from Robby
5870         Workman which fixes the build for this file.
5872 2008-10-03  Sven Neumann  <sven@gimp.org>
5874         * configure.in: removed custom error message from checks for babl
5875         and GEGL. The default error message is a lot more helpful.
5877 2008-10-02  Sven Neumann  <sven@gimp.org>
5879         * app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
5880         add "text" to the list of blacklisted operations.
5882 2008-10-02  Michael Natterer  <mitch@gimp.org>
5884         Bug 554646 – Opening Help crashes GIMP with lqr-plugin installed
5886         * app/widgets/gimphelp.c (gimp_help_get_help_domains): need to
5887         assign (*foo)[i] and not *foo[i] of a gchar** returned via return
5888         value location.
5890 2008-10-02  Michael Natterer  <mitch@gimp.org>
5892         * app/plug-in/gimppluginprocframe.c: keep a reference to the
5893         proc_frame's procedure. We can't asume it's always there since it
5894         could be a temporary one and its plug-in might die during
5895         procedure execution, taking the temp_proc with it.
5897 2008-10-02  Martin Nordholts  <martinn@svn.gnome.org>
5899         Bug 553534 – centering issues after image scaling and setting zoom
5900         to 100%
5902         * app/display/display-enums.h: Added a GimpZoomFocus enum with
5903         'best guess', 'pointer' or 'image center' values.
5905         * app/display/gimpdisplayshell-scale.[ch]
5906         (gimp_display_shell_scale): Take a GimpZoomFocus parameter and
5907         pass it on to
5909         (gimp_display_shell_scale_get_zoom_focus): which returns the
5910         requested zoom focus point if one was given, else makes a best
5911         guess.
5913         * app/actions/view-commands.c
5914         * app/display/gimpstatusbar.c
5915         * app/display/gimpnavigationeditor.c
5916         * app/display/gimpdisplayshell-callbacks.c
5917         * app/display/gimpdisplayshell-scale-dialog.c: For explicit-zoom
5918         commands like "zoom to 100%", always use the image center as the
5919         zoom focus point. For all other zooming, continue to use the
5920         best-guess method.
5922         * app/display/display-enums.c: Regenerated.
5924 2008-10-02  Sven Neumann  <sven@gimp.org>
5926         Bug 554898 – Compile failure on uri-backend-wget.c
5928         * plug-ins/file-uri/uri-backend-wget.c: removed spurious commas
5929         that broke the build.
5931 2008-10-01  Sven Neumann  <sven@gimp.org>
5933         * Makefile.am (EXTRA_DIST): added ChangeLog.pre-2-6 and NEWS.pre-2-6.
5935 2008-10-01  Sven Neumann  <sven@gimp.org>
5937         * tools/gimptool.c: create the target directory and intermediate
5938         parent directories as needed. Restores the behavior of the
5939         gimptool shell script.
5941 2008-10-01  Sven Neumann  <sven@gimp.org>
5943         * menus/Makefile.am (%.xml): added a dependency on configure.in to
5944         make sure that the image-menu.xml file is rebuilt when the version
5945         number is changed.
5947 2008-10-01  Tor Lillqvist  <tml@novell.com>
5949         * app/plug-in/gimpplugin.c
5950         * app/widgets/gtkscalebutton.c: : Don't #define _GNU_SOURCE on
5951         Windows as it confuses newest mingw headers.
5953 2008-10-01  Sven Neumann  <sven@gimp.org>
5955         * configure.in: bumped version to 2.6.1 (interface age 1).
5957 2008-09-30  Sven Neumann  <sven@gimp.org>
5959         * Made 2.6.0 release.