[gimp/gimp-attributes-wip: 166/377] Merge remote-tracking branch 'remotes/origin/master' into gimp-attributes-wip



commit 15a838a6121d1e365dd8339bdbbe0ad380f56576
Merge: 96c1ec3 e909b77
Author: Hartmut Kuhse <hk_priv gmx de>
Date:   Fri Sep 23 09:20:38 2016 +0200

    Merge remote-tracking branch 'remotes/origin/master' into gimp-attributes-wip

 .dir-locals.el                                     |    4 +
 .kateconfig                                        |    4 +
 HACKING                                            |    6 +
 INSTALL.in                                         |    4 +-
 app/Makefile.am                                    |    4 +-
 app/actions/actions.c                              |    2 +-
 app/actions/brushes-actions.c                      |    4 +-
 app/actions/buffers-actions.c                      |   21 +-
 app/actions/buffers-commands.c                     |   22 +-
 app/actions/buffers-commands.h                     |   18 +-
 app/actions/channels-commands.c                    |   88 +-
 app/actions/context-actions.c                      |   12 +-
 app/actions/dialogs-actions.c                      |    4 +-
 app/actions/dock-actions.c                         |    2 +-
 app/actions/dockable-actions.c                     |    2 +-
 app/actions/documents-actions.c                    |    6 +-
 app/actions/drawable-commands.c                    |   18 +-
 app/actions/dynamics-actions.c                     |    4 +-
 app/actions/edit-actions.c                         |   42 +-
 app/actions/edit-commands.c                        |  281 +-
 app/actions/edit-commands.h                        |    9 +-
 app/actions/error-console-actions.c                |    6 +-
 app/actions/file-actions.c                         |   10 +-
 app/actions/file-commands.c                        |   76 +-
 app/actions/fonts-actions.c                        |    2 +-
 app/actions/gradient-editor-actions.c              |    8 +-
 app/actions/gradients-actions.c                    |    6 +-
 app/actions/image-commands.c                       |  182 +-
 app/actions/layers-actions.c                       |   24 +-
 app/actions/layers-commands.c                      |  237 +-
 app/actions/layers-commands.h                      |    2 +
 app/actions/mypaint-brushes-actions.c              |    2 +-
 app/actions/palettes-actions.c                     |    4 +-
 app/actions/patterns-actions.c                     |    4 +-
 app/actions/select-commands.c                      |  457 +-
 app/actions/text-editor-actions.c                  |    4 +-
 app/actions/text-tool-actions.c                    |    6 +-
 app/actions/text-tool-commands.c                   |   26 +-
 app/actions/tool-options-actions.c                 |    4 +-
 app/actions/tool-presets-actions.c                 |    4 +-
 app/actions/vectors-actions.c                      |    6 +-
 app/actions/vectors-commands.c                     |  141 +-
 app/actions/view-actions.c                         |    2 +-
 app/app.c                                          |    6 +-
 app/config/gimpconfig-dump.c                       |    9 +-
 app/config/gimpconfig-dump.h                       |    3 +-
 app/config/gimpdialogconfig.c                      |  435 +-
 app/config/gimpdialogconfig.h                      |   32 +
 app/config/gimpgeglconfig.c                        |    2 +-
 app/config/gimprc-blurbs.h                         |   50 +
 app/config/gimprc.c                                |   34 +-
 app/config/gimprc.h                                |    3 +-
 app/core/Makefile.am                               |    2 +
 app/core/core-enums.c                              |   31 +
 app/core/core-enums.h                              |   12 +
 app/core/gimp-data-factories.c                     |  429 +
 app/core/gimp-data-factories.h                     |   36 +
 app/core/gimp-edit.c                               |  331 +-
 app/core/gimp-edit.h                               |   19 +-
 app/core/gimp-units.c                              |  110 +
 app/core/gimp-user-install.c                       |   56 +-
 app/core/gimp-user-install.h                       |    3 +-
 app/core/gimp.c                                    |  504 +-
 app/core/gimp.h                                    |   14 +-
 app/core/gimpbrushclipboard.c                      |   27 +-
 app/core/gimpbuffer.c                              |    2 +-
 app/core/gimpdrawable-bucket-fill.c                |   79 +-
 app/core/gimpdynamics.c                            |    2 +-
 app/core/gimpfilloptions.c                         |   40 +-
 app/core/gimpimage-new.c                           |    3 +-
 app/core/gimpitem.c                                |   24 +-
 app/core/gimplayer.c                               |    4 +-
 app/core/gimplayer.h                               |    2 +-
 app/core/gimppalette.c                             |    2 +-
 app/core/gimppatternclipboard.c                    |   31 +-
 app/core/gimppickable-contiguous-region.c          |  197 +-
 app/core/gimppickable-contiguous-region.h          |    4 +-
 app/core/gimpselection.c                           |   50 +-
 app/dialogs/Makefile.am                            |    2 +
 app/dialogs/about-dialog.c                         |    2 +-
 app/dialogs/convert-precision-dialog.c             |    6 +-
 app/dialogs/dialogs.c                              |   54 +-
 app/dialogs/dialogs.h                              |   12 +
 app/dialogs/file-open-location-dialog.c            |    2 +-
 app/dialogs/file-save-dialog.c                     |    2 +-
 app/dialogs/fill-dialog.c                          |   42 +-
 app/dialogs/layer-options-dialog.c                 |    4 +-
 app/dialogs/module-dialog.c                        |    6 +-
 app/dialogs/preferences-dialog-utils.c             |  360 +
 app/dialogs/preferences-dialog-utils.h             |  118 +
 app/dialogs/preferences-dialog.c                   |  638 +-
 app/dialogs/print-size-dialog.c                    |    8 +-
 app/dialogs/quit-dialog.c                          |    4 +-
 app/dialogs/resolution-calibrate-dialog.c          |    2 +-
 app/dialogs/stroke-dialog.c                        |   34 +-
 app/dialogs/tips-dialog.c                          |    6 +-
 app/display/gimpcursorview.c                       |   16 +-
 app/display/gimpdisplayshell-close.c               |    2 +-
 app/display/gimpdisplayshell-dnd.c                 |   24 +-
 app/display/gimpdisplayshell-tool-events.c         |   13 +
 app/display/gimpstatusbar.c                        |    3 +-
 app/gui/gui.c                                      |   20 +-
 app/gui/icon-themes.c                              |   24 +-
 app/main.c                                         |    9 +-
 app/operations/gimpoperationblend.c                |   24 +-
 app/operations/gimpoperationprofiletransform.c     |    6 -
 app/paint/gimpmybrushcore.c                        |   10 +-
 app/pdb/edit-cmds.c                                |   68 +-
 app/pdb/gimp-pdb-compat.c                          |    8 +-
 app/pdb/image-cmds.c                               |    1 -
 app/pdb/layer-cmds.c                               |    8 +-
 app/plug-in/plug-in-rc.c                           |    2 +-
 app/sanity.c                                       |   53 +
 app/tests.c                                        |    5 +-
 app/text/gimp-fonts.c                              |   26 +-
 app/text/gimp-fonts.h                              |   11 +-
 app/text/gimpfont.c                                |    2 +-
 app/tools/gimpblendoptions.c                       |    3 +-
 app/tools/gimpbucketfilloptions.c                  |   28 +
 app/tools/gimpbucketfilloptions.h                  |    1 +
 app/tools/gimpbucketfilltool.c                     |    2 +
 app/tools/gimpcolorbalancetool.c                   |    4 +-
 app/tools/gimpgegltool.c                           |    2 +-
 app/tools/gimphandletransformtool.c                |    2 +-
 app/tools/gimpmeasuretool.c                        |   40 +-
 app/tools/gimppaintoptions-gui.c                   |    9 +-
 app/tools/gimpperspectivetool.c                    |    2 +-
 app/tools/gimptextoptions.c                        |    2 +-
 app/tools/gimptexttool.c                           |    2 +-
 app/tools/gimpunifiedtransformtool.c               |    2 +-
 app/units.c                                        |  146 -
 app/units.h                                        |   30 -
 app/widgets/gimpaction-history.c                   |    2 +-
 app/widgets/gimpbuffersourcebox.c                  |    2 +-
 app/widgets/gimpbufferview.c                       |   63 +-
 app/widgets/gimpbufferview.h                       |    7 +-
 app/widgets/gimpcircle.c                           |    2 +-
 app/widgets/gimpclipboard.c                        |  309 +-
 app/widgets/gimpclipboard.h                        |    6 +
 app/widgets/gimpcolordisplayeditor.c               |    4 +-
 app/widgets/gimpcolorframe.c                       |    4 +-
 app/widgets/gimpcolorhistory.c                     |   15 +-
 app/widgets/gimpcolorpanel.c                       |   14 +-
 app/widgets/gimpcontainergridview.c                |   11 +-
 app/widgets/gimpcontrollerlist.c                   |    4 +-
 app/widgets/gimpdataeditor.c                       |    4 +-
 app/widgets/gimpdeviceeditor.c                     |    2 +-
 app/widgets/gimpdevicestatus.c                     |    4 +-
 app/widgets/gimpdynamicseditor.c                   |    4 +-
 app/widgets/gimphelp-ids.h                         |    6 +-
 app/widgets/gimphelp.c                             |   14 +-
 app/widgets/gimphelp.h                             |    4 +
 app/widgets/gimphistogrameditor.c                  |    2 +-
 app/widgets/gimpitemtreeview.c                     |    2 +-
 app/widgets/gimplayertreeview.c                    |   68 +-
 app/widgets/gimpmessagebox.c                       |    2 +-
 app/widgets/gimpoverlaybox.c                       |    9 +-
 app/widgets/gimppaletteeditor.c                    |    9 +-
 app/widgets/gimppickablepopup.c                    |    4 +-
 app/widgets/gimpprefsbox.c                         |   92 +-
 app/widgets/gimpprefsbox.h                         |   33 +-
 app/widgets/gimpprogressbox.c                      |    2 +-
 app/widgets/gimppropgui-constructors.c             |    2 +-
 app/widgets/gimpsavedialog.c                       |    2 +-
 app/widgets/gimpsearchpopup.c                      |  111 +-
 app/widgets/gimpselectiondata.c                    |   70 +-
 app/widgets/gimpselectiondata.h                    |    8 +
 app/widgets/gimpsettingsbox.c                      |    4 +-
 app/widgets/gimpsettingseditor.c                   |    4 +-
 app/widgets/gimpsizebox.c                          |    4 +-
 app/widgets/gimpsymmetryeditor.c                   |   10 +-
 app/widgets/gimptemplateeditor.c                   |   14 +-
 app/widgets/gimptextstyleeditor.c                  |    2 +-
 app/widgets/gimpthumbbox.c                         |    3 +-
 app/widgets/gimptooloptionseditor.c                |   10 +-
 app/widgets/gimptoolpalette.c                      |  202 +-
 app/widgets/gimpview.c                             |    2 +-
 app/widgets/gimpviewablebox.c                      |   69 +-
 app/widgets/gimpviewablebox.h                      |   12 +-
 app/widgets/gimpviewabledialog.c                   |    2 +-
 app/widgets/gimpwidgets-utils.c                    |   59 +-
 app/xcf/xcf-load.c                                 |    3 +-
 app/xcf/xcf.c                                      |  270 +-
 app/xcf/xcf.h                                      |   16 +-
 configure.ac                                       |   20 +-
 desktop/gimp.desktop.in.in                         |    2 +
 devel-docs/c.vim                                   |   28 +
 devel-docs/icons.txt                               |    2 +-
 devel-docs/libgimp/libgimp-docs.sgml               |    2 +
 devel-docs/libgimp/libgimp-sections.txt            |   55 +-
 devel-docs/libgimpbase/libgimpbase-sections.txt    |   14 +-
 devel-docs/libgimpcolor/libgimpcolor-docs.sgml     |    1 +
 devel-docs/libgimpcolor/libgimpcolor-sections.txt  |   58 +-
 .../libgimpconfig/libgimpconfig-sections.txt       |   28 +-
 .../libgimpwidgets/libgimpwidgets-sections.txt     |   22 +
 devel-docs/tools/widgets.c                         |    3 +-
 etc/templaterc                                     |    4 +-
 icons/Color/16/dialog-information.png              |  Bin 0 -> 889 bytes
 icons/Color/16/document-new.png                    |  Bin 0 -> 555 bytes
 ...ocument-recent.png => document-open-recent.png} |  Bin 618 -> 618 bytes
 .../Color/16/{gimp-open.png => document-open.png}  |  Bin 558 -> 558 bytes
 ...imp-print-resolution.png => document-print.png} |  Bin 358 -> 358 bytes
 icons/Color/16/document-revert.png                 |  Bin 0 -> 830 bytes
 .../16/{gimp-save-as.png => document-save-as.png}  |  Bin 795 -> 795 bytes
 .../Color/16/{gimp-save.png => document-save.png}  |  Bin 664 -> 664 bytes
 .../16/{gimp-edit-clear.png => edit-clear.png}     |  Bin 658 -> 658 bytes
 icons/Color/16/{gimp-buffer.png => edit-copy.png}  |  Bin 376 -> 376 bytes
 icons/Color/16/edit-cut.png                        |  Bin 0 -> 869 bytes
 icons/Color/16/edit-delete.png                     |  Bin 0 -> 438 bytes
 icons/Color/16/edit-paste.png                      |  Bin 0 -> 537 bytes
 icons/Color/16/edit-redo.png                       |  Bin 0 -> 522 bytes
 icons/Color/16/edit-undo.png                       |  Bin 0 -> 533 bytes
 icons/Color/16/folder-new.png                      |  Bin 0 -> 679 bytes
 icons/Color/16/folder.png                          |  Bin 0 -> 617 bytes
 icons/Color/16/gimp-clipboard.png                  |  Bin 537 -> 471 bytes
 icons/Color/16/gimp-path-delete.png                |  Bin 267 -> 668 bytes
 icons/Color/16/gimp-path-down.png                  |  Bin 431 -> 695 bytes
 icons/Color/16/gimp-path-new.png                   |  Bin 457 -> 631 bytes
 icons/Color/16/gimp-path-up.png                    |  Bin 414 -> 694 bytes
 icons/Color/16/gimp-question.png                   |  Bin 854 -> 1017 bytes
 icons/Color/16/gimp-reshow-filter.png              |  Bin 1003 -> 806 bytes
 icons/Color/16/gimp-template.png                   |  Bin 452 -> 433 bytes
 icons/Color/16/gimp-warning.png                    |  Bin 782 -> 747 bytes
 icons/Color/16/go-bottom.png                       |  Bin 0 -> 481 bytes
 icons/Color/16/go-down.png                         |  Bin 0 -> 431 bytes
 icons/Color/16/go-first.png                        |  Bin 0 -> 512 bytes
 icons/Color/16/go-home.png                         |  Bin 0 -> 857 bytes
 icons/Color/16/go-last.png                         |  Bin 0 -> 517 bytes
 icons/Color/16/{gimp-next.png => go-next.png}      |  Bin 498 -> 498 bytes
 .../16/{gimp-previous.png => go-previous.png}      |  Bin 496 -> 496 bytes
 icons/Color/16/go-top.png                          |  Bin 0 -> 467 bytes
 icons/Color/16/go-up.png                           |  Bin 0 -> 414 bytes
 icons/Color/16/{gimp-cancel.png => gtk-cancel.png} |  Bin 678 -> 678 bytes
 icons/Color/16/{gimp-edit.png => gtk-edit.png}     |  Bin 596 -> 596 bytes
 icons/Color/16/gtk-no.png                          |  Bin 0 -> 450 bytes
 icons/Color/16/gtk-ok.png                          |  Bin 0 -> 689 bytes
 ...gimp-color-palette.png => gtk-select-color.png} |  Bin 942 -> 942 bytes
 .../16/{gimp-font.png => gtk-select-font.png}      |  Bin 710 -> 710 bytes
 icons/Color/16/gtk-yes.png                         |  Bin 0 -> 528 bytes
 icons/Color/16/help-about.png                      |  Bin 0 -> 551 bytes
 icons/Color/16/list-add.png                        |  Bin 0 -> 457 bytes
 icons/Color/16/list-remove.png                     |  Bin 0 -> 267 bytes
 icons/Color/16/media-floppy.png                    |  Bin 0 -> 402 bytes
 icons/Color/16/media-optical.png                   |  Bin 0 -> 959 bytes
 icons/Color/16/media-playback-pause.png            |  Bin 0 -> 269 bytes
 icons/Color/16/media-playback-start.png            |  Bin 0 -> 524 bytes
 icons/Color/16/media-seek-backward.png             |  Bin 0 -> 374 bytes
 icons/Color/16/media-skip-backward.png             |  Bin 0 -> 408 bytes
 icons/Color/16/media-skip-forward.png              |  Bin 0 -> 453 bytes
 icons/Color/16/preferences-system.png              |  Bin 0 -> 1058 bytes
 icons/Color/16/process-stop.png                    |  Bin 0 -> 718 bytes
 icons/Color/16/system-run.png                      |  Bin 0 -> 865 bytes
 icons/Color/16/view-fullscreen.png                 |  Bin 0 -> 513 bytes
 .../Color/16/{gimp-revert.png => view-refresh.png} |  Bin 772 -> 772 bytes
 icons/Color/16/{gimp-quit.png => window-close.png} |  Bin 393 -> 393 bytes
 icons/Color/16/window-new.png                      |  Bin 0 -> 458 bytes
 icons/Color/16/zoom-fit-best.png                   |  Bin 0 -> 564 bytes
 icons/Color/16/zoom-in.png                         |  Bin 0 -> 537 bytes
 icons/Color/16/zoom-original.png                   |  Bin 0 -> 513 bytes
 icons/Color/16/zoom-out.png                        |  Bin 0 -> 482 bytes
 icons/Color/22/folder.png                          |  Bin 0 -> 657 bytes
 .../22/{gimp-indent.png => format-indent-more.png} |  Bin 462 -> 462 bytes
 icons/Color/22/gimp-prefs-folders.png              |  Bin 657 -> 868 bytes
 ...p-justify-center.png => gtk-justify-center.png} |  Bin 224 -> 224 bytes
 ...{gimp-justify-fill.png => gtk-justify-fill.png} |  Bin 208 -> 208 bytes
 ...{gimp-justify-left.png => gtk-justify-left.png} |  Bin 218 -> 218 bytes
 ...imp-justify-right.png => gtk-justify-right.png} |  Bin 165 -> 165 bytes
 icons/Color/24/dialog-information.png              |  Bin 0 -> 1262 bytes
 icons/Color/24/dialog-information.svg              |  130 +
 ...imp-print-resolution.png => document-print.png} |  Bin 464 -> 464 bytes
 ...imp-print-resolution.svg => document-print.svg} |    0
 icons/Color/24/gimp-prefs-default-comment.svg      |   67 +-
 icons/Color/24/gimp-prefs-folders.svg              |  341 +-
 icons/Color/24/gimp-question.png                   |  Bin 1526 -> 1543 bytes
 icons/Color/24/gimp-question.svg                   |  168 +-
 icons/Color/24/gimp-template.png                   |  Bin 574 -> 473 bytes
 icons/Color/24/gimp-template.svg                   |  134 +-
 icons/Color/24/gimp-warning.png                    |  Bin 1043 -> 973 bytes
 icons/Color/24/gimp-warning.svg                    |   23 +-
 ...gimp-color-palette.png => gtk-select-color.png} |  Bin 1559 -> 1559 bytes
 ...gimp-color-palette.svg => gtk-select-color.svg} |    0
 icons/Color/24/media-floppy.png                    |  Bin 0 -> 518 bytes
 icons/Color/24/media-floppy.svg                    |  140 +
 icons/Color/24/media-optical.png                   |  Bin 0 -> 1652 bytes
 icons/Color/24/media-optical.svg                   |  436 +
 icons/Color/48/folder.png                          |  Bin 0 -> 1608 bytes
 icons/Color/48/gimp-prefs-folders.png              |  Bin 1608 -> 1788 bytes
 icons/Color/64/dialog-information.png              |  Bin 0 -> 3623 bytes
 icons/Color/64/gimp-question.png                   |  Bin 5120 -> 4542 bytes
 icons/Color/64/gimp-warning.png                    |  Bin 3427 -> 2948 bytes
 icons/Color/Makefile.am                            |    4 +-
 icons/Color/color-scalable.svg                     | 1786 ++--
 icons/Color/scalable/dialog-information.svg        |  130 +
 icons/Color/scalable/document-new.svg              |   98 +
 ...ocument-recent.svg => document-open-recent.svg} |    0
 .../scalable/{gimp-open.svg => document-open.svg}  |    0
 ...imp-print-resolution.svg => document-print.svg} |    0
 .../{gimp-revert.svg => document-revert.svg}       |   31 +-
 .../{gimp-save-as.svg => document-save-as.svg}     |    0
 .../scalable/{gimp-save.svg => document-save.svg}  |    0
 .../{gimp-edit-clear.svg => edit-clear.svg}        |    0
 .../scalable/{gimp-buffer.svg => edit-copy.svg}    |    0
 icons/Color/scalable/edit-cut.svg                  |  147 +
 icons/Color/scalable/edit-delete.svg               |  102 +
 icons/Color/scalable/edit-paste.svg                |  312 +
 .../scalable/{gimp-previous.svg => edit-redo.svg}  |   53 +-
 .../scalable/edit-undo.svg}                        |   82 +-
 icons/Color/scalable/folder-new.svg                |  173 +
 icons/Color/scalable/folder.svg                    |  186 +
 .../{gimp-indent.svg => format-indent-more.svg}    |    0
 icons/Color/scalable/gimp-clipboard.svg            |  155 +-
 icons/Color/scalable/gimp-path-delete.svg          |   69 +-
 icons/Color/scalable/gimp-path-down.svg            |   73 +-
 icons/Color/scalable/gimp-path-new.svg             |   74 +-
 icons/Color/scalable/gimp-path-up.svg              |   73 +-
 .../Color/scalable/gimp-prefs-default-comment.svg  |   63 +-
 icons/Color/scalable/gimp-prefs-folders.svg        |  278 +-
 icons/Color/scalable/gimp-question.svg             |  174 +-
 icons/Color/scalable/gimp-reshow-filter.svg        |   97 +-
 icons/Color/scalable/gimp-template.svg             |  115 +-
 icons/Color/scalable/gimp-warning.svg              |   40 +-
 .../scalable/{gimp-previous.svg => go-bottom.svg}  |   36 +-
 .../gimp-next.svg => Color/scalable/go-down.svg}   |   56 +-
 .../scalable/{gimp-previous.svg => go-first.svg}   |   61 +-
 icons/Color/scalable/go-home.svg                   |  107 +
 .../Color/scalable/{gimp-next.svg => go-last.svg}  |   63 +-
 .../Color/scalable/{gimp-next.svg => go-next.svg}  |    0
 .../{gimp-previous.svg => go-previous.svg}         |    0
 .../scalable/{gimp-previous.svg => go-top.svg}     |   37 +-
 .../gimp-next.svg => Color/scalable/go-up.svg}     |   57 +-
 .../scalable/{gimp-cancel.svg => gtk-cancel.svg}   |    0
 .../Color/scalable/{gimp-edit.svg => gtk-edit.svg} |    0
 ...p-justify-center.svg => gtk-justify-center.svg} |    0
 ...{gimp-justify-fill.svg => gtk-justify-fill.svg} |    0
 ...{gimp-justify-left.svg => gtk-justify-left.svg} |    0
 ...imp-justify-right.svg => gtk-justify-right.svg} |    0
 icons/Color/scalable/gtk-no.svg                    |   85 +
 .../gimp-revert.svg => Color/scalable/gtk-ok.svg}  |   61 +-
 ...gimp-color-palette.svg => gtk-select-color.svg} |    0
 .../{gimp-font.svg => gtk-select-font.svg}         |    0
 icons/Color/scalable/gtk-yes.svg                   |   85 +
 icons/Color/scalable/help-about.svg                |   77 +
 .../scalable/list-add.svg}                         |   50 +-
 .../scalable/list-remove.svg}                      |   53 +-
 icons/Color/scalable/media-floppy.svg              |  151 +
 icons/Color/scalable/media-optical.svg             |  432 +
 icons/Color/scalable/media-playback-pause.svg      |   92 +
 .../scalable/media-playback-start.svg}             |   52 +-
 icons/Color/scalable/media-seek-backward.svg       |   93 +
 icons/Color/scalable/media-skip-backward.svg       |  104 +
 icons/Color/scalable/media-skip-forward.svg        |  105 +
 icons/Color/scalable/preferences-system.svg        |  114 +
 .../scalable/process-stop.svg}                     |   33 +-
 icons/Color/scalable/system-run.svg                |   85 +
 icons/Color/scalable/view-fullscreen.svg           |  143 +
 .../scalable/{gimp-revert.svg => view-refresh.svg} |    0
 .../scalable/{gimp-quit.svg => window-close.svg}   |    0
 icons/Color/scalable/window-new.svg                |  126 +
 icons/Color/scalable/zoom-fit-best.svg             |   83 +
 icons/Color/scalable/zoom-in.svg                   |   83 +
 icons/Color/scalable/zoom-original.svg             |   79 +
 icons/Color/scalable/zoom-out.svg                  |   79 +
 icons/Legacy/16/{gimp-edit.png => gtk-edit.png}    |  Bin 526 -> 526 bytes
 icons/Legacy/Makefile.am                           |   33 +-
 icons/Legacy/index.theme                           |    1 +
 icons/Makefile.am                                  |    8 +
 icons/Symbolic-Inverted/Makefile.am                |    4 +-
 icons/Symbolic/16/dialog-information.png           |  Bin 0 -> 624 bytes
 .../16/{gimp-buffer.png => document-new.png}       |  Bin 381 -> 341 bytes
 ...ocument-recent.png => document-open-recent.png} |  Bin 405 -> 405 bytes
 .../16/{gimp-open.png => document-open.png}        |  Bin 393 -> 393 bytes
 ...imp-print-resolution.png => document-print.png} |  Bin 311 -> 311 bytes
 icons/Symbolic/16/document-revert.png              |  Bin 0 -> 616 bytes
 .../16/{gimp-save-as.png => document-save-as.png}  |  Bin 447 -> 447 bytes
 .../16/{gimp-save.png => document-save.png}        |  Bin 342 -> 342 bytes
 .../16/{gimp-edit-clear.png => edit-clear.png}     |  Bin 401 -> 401 bytes
 .../Symbolic/16/{gimp-buffer.png => edit-copy.png} |  Bin 381 -> 381 bytes
 icons/Symbolic/16/edit-cut.png                     |  Bin 0 -> 683 bytes
 icons/Symbolic/16/edit-delete.png                  |  Bin 0 -> 522 bytes
 icons/Symbolic/16/edit-paste.png                   |  Bin 0 -> 481 bytes
 icons/Symbolic/16/edit-redo.png                    |  Bin 0 -> 369 bytes
 icons/Symbolic/16/edit-undo.png                    |  Bin 0 -> 378 bytes
 icons/Symbolic/16/folder-new.png                   |  Bin 0 -> 482 bytes
 icons/Symbolic/16/folder.png                       |  Bin 0 -> 355 bytes
 icons/Symbolic/16/gimp-clipboard.png               |  Bin 481 -> 489 bytes
 icons/Symbolic/16/gimp-color-cmyk.png              |  Bin 582 -> 596 bytes
 icons/Symbolic/16/gimp-path-delete.png             |  Bin 274 -> 538 bytes
 icons/Symbolic/16/gimp-path-down.png               |  Bin 426 -> 502 bytes
 icons/Symbolic/16/gimp-path-new.png                |  Bin 417 -> 423 bytes
 icons/Symbolic/16/gimp-path-up.png                 |  Bin 433 -> 498 bytes
 icons/Symbolic/16/gimp-reshow-filter.png           |  Bin 792 -> 721 bytes
 icons/Symbolic/16/gimp-template.png                |  Bin 295 -> 333 bytes
 icons/Symbolic/16/go-bottom.png                    |  Bin 0 -> 438 bytes
 icons/Symbolic/16/go-down.png                      |  Bin 0 -> 426 bytes
 icons/Symbolic/16/go-first.png                     |  Bin 0 -> 410 bytes
 icons/Symbolic/16/go-home.png                      |  Bin 0 -> 488 bytes
 icons/Symbolic/16/go-last.png                      |  Bin 0 -> 415 bytes
 icons/Symbolic/16/{gimp-next.png => go-next.png}   |  Bin 400 -> 400 bytes
 .../16/{gimp-previous.png => go-previous.png}      |  Bin 392 -> 392 bytes
 icons/Symbolic/16/go-top.png                       |  Bin 0 -> 432 bytes
 icons/Symbolic/16/go-up.png                        |  Bin 0 -> 433 bytes
 .../16/{gimp-cancel.png => gtk-cancel.png}         |  Bin 668 -> 668 bytes
 icons/Symbolic/16/{gimp-edit.png => gtk-edit.png}  |  Bin 342 -> 342 bytes
 icons/Symbolic/16/gtk-no.png                       |  Bin 0 -> 376 bytes
 icons/Symbolic/16/gtk-ok.png                       |  Bin 0 -> 583 bytes
 ...gimp-color-palette.png => gtk-select-color.png} |  Bin 677 -> 677 bytes
 .../16/{gimp-font.png => gtk-select-font.png}      |  Bin 537 -> 537 bytes
 icons/Symbolic/16/gtk-yes.png                      |  Bin 0 -> 367 bytes
 icons/Symbolic/16/help-about.png                   |  Bin 0 -> 521 bytes
 icons/Symbolic/16/list-add.png                     |  Bin 0 -> 417 bytes
 icons/Symbolic/16/list-remove.png                  |  Bin 0 -> 274 bytes
 icons/Symbolic/16/media-floppy.png                 |  Bin 0 -> 340 bytes
 icons/Symbolic/16/media-optical.png                |  Bin 0 -> 540 bytes
 icons/Symbolic/16/media-playback-pause.png         |  Bin 0 -> 215 bytes
 icons/Symbolic/16/media-playback-start.png         |  Bin 0 -> 334 bytes
 icons/Symbolic/16/media-seek-backward.png          |  Bin 0 -> 307 bytes
 icons/Symbolic/16/media-skip-backward.png          |  Bin 0 -> 325 bytes
 icons/Symbolic/16/media-skip-forward.png           |  Bin 0 -> 327 bytes
 icons/Symbolic/16/preferences-system.png           |  Bin 0 -> 681 bytes
 icons/Symbolic/16/process-stop.png                 |  Bin 0 -> 526 bytes
 icons/Symbolic/16/system-run.png                   |  Bin 0 -> 673 bytes
 icons/Symbolic/16/view-fullscreen.png              |  Bin 0 -> 424 bytes
 .../16/{gimp-revert.png => view-refresh.png}       |  Bin 590 -> 590 bytes
 .../16/{gimp-quit.png => window-close.png}         |  Bin 639 -> 639 bytes
 .../16/{gimp-buffer.png => window-new.png}         |  Bin 381 -> 351 bytes
 icons/Symbolic/16/zoom-fit-best.png                |  Bin 0 -> 319 bytes
 icons/Symbolic/16/zoom-in.png                      |  Bin 0 -> 308 bytes
 icons/Symbolic/16/zoom-original.png                |  Bin 0 -> 307 bytes
 icons/Symbolic/16/zoom-out.png                     |  Bin 0 -> 294 bytes
 icons/Symbolic/22/folder.png                       |  Bin 0 -> 384 bytes
 .../22/{gimp-indent.png => format-indent-more.png} |  Bin 438 -> 438 bytes
 icons/Symbolic/22/gimp-prefs-folders.png           |  Bin 384 -> 559 bytes
 ...p-justify-center.png => gtk-justify-center.png} |  Bin 327 -> 327 bytes
 ...{gimp-justify-fill.png => gtk-justify-fill.png} |  Bin 245 -> 245 bytes
 ...{gimp-justify-left.png => gtk-justify-left.png} |  Bin 295 -> 295 bytes
 ...imp-justify-right.png => gtk-justify-right.png} |  Bin 298 -> 298 bytes
 icons/Symbolic/24/dialog-information.png           |  Bin 0 -> 850 bytes
 .../24/dialog-information.svg}                     |   75 +-
 ...imp-print-resolution.png => document-print.png} |  Bin 613 -> 613 bytes
 ...imp-print-resolution.svg => document-print.svg} |    0
 icons/Symbolic/24/gimp-prefs-folders.svg           |  180 +-
 icons/Symbolic/24/gimp-template.png                |  Bin 427 -> 412 bytes
 icons/Symbolic/24/gimp-template.svg                |  233 +-
 ...gimp-color-palette.png => gtk-select-color.png} |  Bin 1001 -> 1001 bytes
 ...gimp-color-palette.svg => gtk-select-color.svg} |    0
 icons/Symbolic/24/media-floppy.png                 |  Bin 0 -> 516 bytes
 icons/Symbolic/24/media-floppy.svg                 |   84 +
 icons/Symbolic/24/media-optical.png                |  Bin 0 -> 924 bytes
 icons/Symbolic/24/media-optical.svg                |   82 +
 icons/Symbolic/48/folder.png                       |  Bin 0 -> 459 bytes
 icons/Symbolic/48/gimp-prefs-folders.png           |  Bin 459 -> 646 bytes
 icons/Symbolic/64/dialog-information.png           |  Bin 0 -> 2364 bytes
 icons/Symbolic/Makefile.am                         |    4 +-
 .../scalable/dialog-information.svg}               |   73 +-
 icons/Symbolic/scalable/document-new.svg           |  141 +
 ...ocument-recent.svg => document-open-recent.svg} |    0
 .../scalable/{gimp-open.svg => document-open.svg}  |    0
 ...imp-print-resolution.svg => document-print.svg} |    0
 .../{gimp-revert.svg => document-revert.svg}       |    4 +-
 .../{gimp-save-as.svg => document-save-as.svg}     |    0
 .../scalable/{gimp-save.svg => document-save.svg}  |    0
 .../{gimp-edit-clear.svg => edit-clear.svg}        |    0
 .../scalable/{gimp-buffer.svg => edit-copy.svg}    |    0
 icons/Symbolic/scalable/edit-cut.svg               |  104 +
 .../scalable/edit-delete.svg}                      |   85 +-
 .../scalable/{gimp-buffer.svg => edit-paste.svg}   |   43 +-
 .../scalable/{gimp-next.svg => edit-redo.svg}      |   59 +-
 .../scalable/{gimp-next.svg => edit-undo.svg}      |   60 +-
 icons/Symbolic/scalable/folder-new.svg             |  102 +
 .../scalable/{gimp-edit.svg => folder.svg}         |  119 +-
 .../{gimp-indent.svg => format-indent-more.svg}    |    0
 icons/Symbolic/scalable/gimp-clipboard.svg         |   42 +-
 icons/Symbolic/scalable/gimp-color-cmyk.svg        |   26 +-
 icons/Symbolic/scalable/gimp-path-delete.svg       |  120 +-
 icons/Symbolic/scalable/gimp-path-down.svg         |  137 +-
 icons/Symbolic/scalable/gimp-path-new.svg          |  127 +-
 icons/Symbolic/scalable/gimp-path-up.svg           |  138 +-
 icons/Symbolic/scalable/gimp-prefs-folders.svg     |  203 +-
 icons/Symbolic/scalable/gimp-reshow-filter.svg     |  184 +-
 icons/Symbolic/scalable/gimp-template.svg          |  252 +-
 .../scalable/go-bottom.svg}                        |   44 +-
 .../scalable/{gimp-revert.svg => go-down.svg}      |   59 +-
 .../scalable/go-first.svg}                         |   23 +-
 icons/Symbolic/scalable/go-home.svg                |  100 +
 .../scalable/go-last.svg}                          |   23 +-
 .../scalable/{gimp-next.svg => go-next.svg}        |    0
 .../{gimp-previous.svg => go-previous.svg}         |    0
 .../gimp-next.svg => Symbolic/scalable/go-top.svg} |   44 +-
 .../scalable/{gimp-revert.svg => go-up.svg}        |   57 +-
 .../scalable/{gimp-cancel.svg => gtk-cancel.svg}   |    0
 .../scalable/{gimp-edit.svg => gtk-edit.svg}       |    0
 ...p-justify-center.svg => gtk-justify-center.svg} |    0
 ...{gimp-justify-fill.svg => gtk-justify-fill.svg} |    2 +-
 ...{gimp-justify-left.svg => gtk-justify-left.svg} |    0
 ...imp-justify-right.svg => gtk-justify-right.svg} |    0
 icons/Symbolic/scalable/gtk-no.svg                 |   73 +
 .../scalable/{gimp-revert.svg => gtk-ok.svg}       |   66 +-
 ...gimp-color-palette.svg => gtk-select-color.svg} |    0
 .../{gimp-font.svg => gtk-select-font.svg}         |    0
 icons/Symbolic/scalable/gtk-yes.svg                |   72 +
 icons/Symbolic/scalable/help-about.svg             |   73 +
 .../scalable/list-add.svg}                         |   58 +-
 .../scalable/list-remove.svg}                      |   49 +-
 .../scalable/{gimp-open.svg => media-floppy.svg}   |   48 +-
 icons/Symbolic/scalable/media-optical.svg          |   77 +
 icons/Symbolic/scalable/media-playback-pause.svg   |   83 +
 icons/Symbolic/scalable/media-playback-start.svg   |   75 +
 icons/Symbolic/scalable/media-seek-backward.svg    |   83 +
 icons/Symbolic/scalable/media-skip-backward.svg    |   89 +
 icons/Symbolic/scalable/media-skip-forward.svg     |   89 +
 icons/Symbolic/scalable/preferences-system.svg     |   73 +
 .../scalable/{gimp-open.svg => process-stop.svg}   |   48 +-
 icons/Symbolic/scalable/system-run.svg             |   83 +
 icons/Symbolic/scalable/view-fullscreen.svg        |   82 +
 .../scalable/{gimp-revert.svg => view-refresh.svg} |    0
 .../scalable/{gimp-quit.svg => window-close.svg}   |    0
 icons/Symbolic/scalable/window-new.svg             |  133 +
 icons/Symbolic/scalable/zoom-fit-best.svg          |   74 +
 icons/Symbolic/scalable/zoom-in.svg                |   74 +
 icons/Symbolic/scalable/zoom-original.svg          |   74 +
 icons/Symbolic/scalable/zoom-out.svg               |   74 +
 icons/Symbolic/symbolic-scalable.svg               | 1509 ++--
 icons/icon-list.mk                                 |  574 +-
 icons/index.theme                                  |    6 +
 libgimp/Makefile.am                                |    3 +
 libgimp/gimp.def                                   |    2 +
 libgimp/gimp.h                                     |    1 +
 libgimp/gimpedit.c                                 |   67 +
 libgimp/gimpedit.h                                 |   41 +
 libgimp/gimpedit_pdb.c                             |   22 +-
 libgimp/gimpedit_pdb.h                             |  112 +-
 libgimp/gimpexport.c                               |   28 +-
 libgimp/gimpfontselectbutton.c                     |    2 +-
 libgimp/gimpprocview.c                             |   26 +-
 libgimpconfig/gimpconfig-path.c                    |  123 +-
 libgimpconfig/gimpconfig-path.h                    |    4 +
 libgimpconfig/gimpconfig-serialize.c               |    2 +-
 libgimpconfig/gimpconfig.def                       |    1 +
 libgimpwidgets/gimp3migration.c                    |   46 +
 libgimpwidgets/gimp3migration.h                    |   16 +-
 libgimpwidgets/gimpbrowser.c                       |   10 +-
 libgimpwidgets/gimpcolorarea.c                     |    3 +-
 libgimpwidgets/gimpcolorbutton.c                   |   84 +-
 libgimpwidgets/gimpcolorbutton.h                   |   49 +-
 libgimpwidgets/gimpcolorprofilestore.c             |   47 +-
 libgimpwidgets/gimpcolorselection.c                |    4 +-
 libgimpwidgets/gimpfileentry.c                     |    2 +-
 libgimpwidgets/gimpframe.c                         |    6 +-
 libgimpwidgets/gimphelpui.c                        |    4 +-
 libgimpwidgets/gimpicons.c                         |  248 +-
 libgimpwidgets/gimpicons.h                         |   28 +-
 libgimpwidgets/gimppageselector.c                  |    2 +-
 libgimpwidgets/gimppatheditor.c                    |    2 +-
 libgimpwidgets/gimppropwidgets.c                   |   15 +-
 libgimpwidgets/gimpquerybox.c                      |    2 +-
 libgimpwidgets/gimpruler.c                         |   37 +-
 libgimpwidgets/gimpscaleentry.c                    |    2 +-
 libgimpwidgets/gimpsizeentry.c                     |    2 +-
 libgimpwidgets/gimpwidgets.def                     |    8 +
 libgimpwidgets/gimpwidgetsutils.c                  |    3 +-
 menus/buffers-menu.xml                             |    3 +-
 menus/image-menu.xml.in                            |    4 +-
 modules/color-selector-cmyk.c                      |    2 +-
 modules/display-filter-lcms.c                      |    2 +-
 modules/gimpcolorwheel.c                           |    2 +-
 plug-ins/common/Makefile.am                        |    9 +
 plug-ins/common/animation-play.c                   |   10 +-
 plug-ins/common/border-average.c                   |    4 +-
 plug-ins/common/color-cube-analyze.c               |    2 +-
 plug-ins/common/compose.c                          |    4 +-
 plug-ins/common/decompose.c                        |    2 +-
 plug-ins/common/depth-merge.c                      |    8 +-
 plug-ins/common/file-pdf-load.c                    |    2 +-
 plug-ins/common/file-png.c                         |  234 +-
 plug-ins/common/file-pnm.c                         |    4 +-
 plug-ins/common/file-raw-data.c                    |    7 +-
 plug-ins/common/file-svg.c                         |   11 +-
 plug-ins/common/file-wmf.c                         |   11 +-
 plug-ins/common/file-xmc.c                         |    5 +-
 plug-ins/common/film.c                             |    2 +-
 plug-ins/common/filter-pack.c                      |    5 +-
 plug-ins/common/mkgen.pl                           |   25 +-
 plug-ins/common/newsprint.c                        |    2 +-
 plug-ins/common/plugin-defs.pl                     |    2 +-
 plug-ins/common/sample-colorize.c                  |    4 +-
 plug-ins/common/tile-small.c                       |    4 +-
 plug-ins/common/warp.c                             |    8 +-
 plug-ins/common/web-browser.c                      |   28 +-
 plug-ins/common/web-page.c                         |    6 +-
 plug-ins/file-ico/ico-dialog.c                     |   18 +-
 plug-ins/file-jpeg/jpeg-save.c                     |    8 +-
 plug-ins/file-webp/file-webp-dialog.c              |   26 +-
 plug-ins/file-webp/file-webp-load.c                |  101 +-
 plug-ins/file-webp/file-webp-save.c                |  128 +-
 plug-ins/file-webp/file-webp-save.c.orig           |  622 --
 plug-ins/file-webp/file-webp.c                     |  131 +-
 plug-ins/file-webp/file-webp.h                     |   14 +-
 plug-ins/gimpressionist/brush.c                    |    4 +-
 plug-ins/gimpressionist/presets.c                  |    7 +-
 plug-ins/gradient-flare/gradient-flare.c           |    4 +-
 plug-ins/help-browser/dialog.c                     |    4 +-
 plug-ins/ifs-compose/ifs-compose.c                 |   30 +-
 plug-ins/imagemap/imap_browse.c                    |    2 +-
 plug-ins/imagemap/imap_cmd_guides.c                |    4 +-
 plug-ins/imagemap/imap_preview.c                   |  106 +-
 plug-ins/imagemap/imap_selection.c                 |    2 +-
 plug-ins/imagemap/imap_table.c                     |    2 +-
 plug-ins/lighting/lighting-ui.c                    |   10 +-
 plug-ins/print/print-page-layout.c                 |   10 +-
 plug-ins/script-fu/script-fu-interface.c           |    2 +-
 plug-ins/script-fu/scripts/paste-as-brush.scm      |    2 +-
 plug-ins/script-fu/scripts/paste-as-pattern.scm    |    2 +-
 po-libgimp/is.po                                   |  592 +-
 po-libgimp/pl.po                                   |  122 +-
 po-libgimp/sl.po                                   |  421 +-
 po-plug-ins/de.po                                  |  568 +-
 po-plug-ins/el.po                                  |  448 +-
 po-plug-ins/hu.po                                  |   83 +-
 po-plug-ins/pl.po                                  |  235 +-
 po-plug-ins/pt.po                                  |   82 +-
 po-plug-ins/ru.po                                  | 3056 +++---
 po-plug-ins/sl.po                                  | 1113 ++-
 po-plug-ins/sr.po                                  | 2701 +++---
 po-python/pl.po                                    |   12 +-
 po-script-fu/cs.po                                 |  939 +--
 po-script-fu/pl.po                                 |   29 +-
 po-tips/pl.po                                      |   34 +-
 po/POTFILES.in                                     |    2 +
 po/de.po                                           | 1024 ++-
 po/el.po                                           | 1493 ++--
 po/hu.po                                           | 2094 +++--
 po/is.po                                           | 6089 +++++++-----
 po/oc.po                                           | 2446 +++--
 po/pl.po                                           | 1167 ++-
 po/pt.po                                           | 1441 ++--
 po/ru.po                                           | 1769 ++--
 po/sl.po                                           | 4025 +++++----
 po/sr.po                                           | 8108 +++++++++------
 po/sv.po                                           |10709 +++++++++++++-------
 themes/Small/gtkrc                                 |    8 +-
 themes/System/gtkrc                                |    8 +-
 tools/pdbgen/pdb/edit.pdb                          |   52 +-
 tools/pdbgen/pdb/image.pdb                         |    1 -
 tools/pdbgen/pdb/layer.pdb                         |    8 +-
 644 files changed, 47284 insertions(+), 29642 deletions(-)
---
diff --cc configure.ac
index 47988cc,f49c762..6a3af5f
--- a/configure.ac
+++ b/configure.ac
@@@ -66,9 -66,9 +66,9 @@@ m4_define([pycairo_required_version], [
  m4_define([poppler_required_version], [0.12.4])
  m4_define([poppler_data_required_version], [0.4.7])
  m4_define([libgudev_required_version], [167])
 -m4_define([gexiv2_required_version], [0.6.1])
 +m4_define([gexiv2_required_version], [0.10.3])
  m4_define([libmypaint_required_version], [1.3.0])
- m4_define([lcms_required_version], [2.6])
+ m4_define([lcms_required_version], [2.7])
  m4_define([libpng_required_version], [1.2.37])
  m4_define([liblzma_required_version], [5.0.0])
  m4_define([openexr_required_version], [1.6.1])
diff --cc plug-ins/common/file-png.c
index 5c94265,00feed0..7c083ef
--- a/plug-ins/common/file-png.c
+++ b/plug-ins/common/file-png.c
@@@ -1435,48 -1424,79 +1435,82 @@@ save_image (const gchar  *filename
              gint32        image_ID,
              gint32        drawable_ID,
              gint32        orig_image_ID,
 +            gint         *bits_depth,
              GError      **error)
  {
-   gint i, k,                    /* Looping vars */
-     bpp = 0,                    /* Bytes per pixel */
-     type,                       /* Type of drawable/layer */
-     num_passes,                 /* Number of interlace passes in file */
-     pass,                       /* Current pass in file */
-     tile_height,                /* Height of tile in GIMP */
-     width,                      /* image width */
-     height,                     /* image height */
-     begin,                      /* Beginning tile row */
-     end,                        /* Ending tile row */
-     num;                        /* Number of rows to load */
-   FILE *fp;                     /* File pointer */
-   GeglBuffer *buffer;           /* GEGL buffer for layer */
-   const Babl *file_format;      /* BABL format of file */
-   png_structp pp;               /* PNG read pointer */
-   png_infop info;               /* PNG info pointer */
-   gint offx, offy;              /* Drawable offsets from origin */
-   guchar **pixels,              /* Pixel rows */
-    *fixed,                      /* Fixed-up pixel data */
-    *pixel;                      /* Pixel data */
-   gdouble xres, yres;           /* GIMP resolution (dpi) */
-   png_color_16 background;      /* Background color */
-   png_time mod_time;            /* Modification time (ie NOW) */
-   time_t cutime;                /* Time since epoch */
-   struct tm *gmt;               /* GMT broken down */
-   int color_type;
-   int bit_depth;
- 
-   guchar remap[256];            /* Re-mapping for the palette */
- 
-   png_textp  text = NULL;
- 
-   if (gimp_image_get_precision (image_ID) == GIMP_PRECISION_U8_GAMMA)
-     bit_depth = 8;
-   else
-     bit_depth = 16;
+   gint              i, k;             /* Looping vars */
+   gint              bpp = 0;          /* Bytes per pixel */
+   gint              type;             /* Type of drawable/layer */
+   gint              num_passes;       /* Number of interlace passes in file */
+   gint              pass;             /* Current pass in file */
+   gint              tile_height;      /* Height of tile in GIMP */
+   gint              width;            /* image width */
+   gint              height;           /* image height */
+   gint              begin;            /* Beginning tile row */
+   gint              end;              /* Ending tile row */
+   gint              num;              /* Number of rows to load */
+   FILE             *fp;               /* File pointer */
+   GimpColorProfile *profile = NULL;   /* Color profile */
+   gboolean          linear;           /* Save linear RGB */
+   GeglBuffer       *buffer;           /* GEGL buffer for layer */
+   const Babl       *file_format;      /* BABL format of file */
+   png_structp       pp;               /* PNG read pointer */
+   png_infop         info;             /* PNG info pointer */
+   gint              offx, offy;       /* Drawable offsets from origin */
+   guchar          **pixels;           /* Pixel rows */
+   guchar           *fixed;            /* Fixed-up pixel data */
+   guchar           *pixel;            /* Pixel data */
+   gdouble           xres, yres;       /* GIMP resolution (dpi) */
+   png_color_16      background;       /* Background color */
+   png_time          mod_time;         /* Modification time (ie NOW) */
+   time_t            cutime;           /* Time since epoch */
+   struct tm        *gmt;              /* GMT broken down */
+   gint              color_type;       /* PNG color type */
+   gint              bit_depth = 16;   /* Default to bit bepth 16 */
+ 
+   guchar            remap[256];       /* Re-mapping for the palette */
+ 
+   png_textp         text = NULL;
+ 
+ #if defined(PNG_iCCP_SUPPORTED)
+   profile = gimp_image_get_color_profile (orig_image_ID);
+ #endif
+ 
+   switch (gimp_image_get_precision (image_ID))
+     {
+     case GIMP_PRECISION_U8_LINEAR:
+       /* only keep 8 bit linear RGB if we also save a profile */
+       if (profile)
+         bit_depth = 8;
+ 
+     case GIMP_PRECISION_U16_LINEAR:
+     case GIMP_PRECISION_U32_LINEAR:
+     case GIMP_PRECISION_HALF_LINEAR:
+     case GIMP_PRECISION_FLOAT_LINEAR:
+     case GIMP_PRECISION_DOUBLE_LINEAR:
+       /* save linear RGB only if we save a profile, or a loader won't
+        * do the right thing
+        */
+       if (profile)
+         linear = TRUE;
+       else
+         linear = FALSE;
+       break;
+ 
+     case GIMP_PRECISION_U8_GAMMA:
+       bit_depth = 8;
+ 
+     case GIMP_PRECISION_U16_GAMMA:
+     case GIMP_PRECISION_U32_GAMMA:
+     case GIMP_PRECISION_HALF_GAMMA:
+     case GIMP_PRECISION_FLOAT_GAMMA:
+     case GIMP_PRECISION_DOUBLE_GAMMA:
+       linear = FALSE;
+       break;
+     }
  
 +  *bits_depth = bit_depth;
 +
    pp = png_create_write_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
    if (!pp)
      {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]