1
1
mirror of https://gitlab.gnome.org/GNOME/gimp.git synced 2025-10-06 01:12:40 +02:00

Compare commits

...

473 Commits

Author SHA1 Message Date
Nils Philippsen
c54b53da55 SGI: allocate memory more consistently
Allocate memory for both pixels and rows in the same way to make the
code easier understandable.
(cherry picked from commit b7ae59e9a4)
2009-12-10 11:28:17 +01:00
Simon Budig
b428adfa9f SGI: fix out of bounds writes
The functions read_rle8() and read_rle16() didn't check if the addresses
to which they wrote are in bounds when expanding runlength encoded data.
(cherry picked from commit 4d9724f2f6)
2009-12-10 11:28:17 +01:00
Nils Philippsen
88dfad9dc8 SGI: cast allocation calculations
In order to avoid overflows when calculating needed memory, cast the
first variable used into a large enough type so the whole calculation is
done in that type.
(cherry picked from commit 838be627be)
2009-12-10 11:28:17 +01:00
Nils Philippsen
611bad86d2 SGI: sanitize input data
Refuse nonsensical xsize, ysize, zsize values.
(cherry picked from commit daaf1d2b97)
2009-12-10 11:28:17 +01:00
Nils Philippsen
aee2bc35fe PAT: sanitize input data
Guard against bogus values of ph.width, ph.height and document why there
are no allocation overflows.
(cherry picked from commit 5aa82f3b6d)
2009-12-10 11:28:17 +01:00
Nils Philippsen
aecccbc62c GBR: more input data sanitation
Guard against bh.width or bh.height > GIMP_MAX_IMAGE_SIZE, only allow
valid values of bh.bytes.
(cherry picked from commit b053021a29)
2009-12-10 11:28:17 +01:00
Nils Philippsen
343651e87f GBR: sanitize input data
Guard against bogus zero width, height, bytes and allocation overflows.
(cherry picked from commit 869dcd7be1)
2009-12-10 11:28:17 +01:00
Nils Philippsen
aaf0dfe530 PCX: Avoid allocation overflows.
Multiplying gint values may overflow unless cast into a larger type.
(cherry picked from commit a9671395f6)
2009-12-10 11:28:16 +01:00
Nils Philippsen
5bc9aaf753 PCX: sanitize input data
Harden PCX plugin against bad width, height.
(cherry picked from commit ed7f48be05)
2009-12-10 11:28:16 +01:00
Simon Budig
864d7cbc65 further NEWS updates 2009-12-09 23:01:21 +01:00
Simon Budig
c2da042234 Start collecting release info in NEWS 2009-12-09 22:49:34 +01:00
Martin Nordholts
46c91ebc2f Bug 604078 - Crash when pressing Backspace with Free Select Tool
Make sure we never call gimp_free_select_tool_remove_last_segment()
with priv->n_segment_indices being negative, and increase robustness
of the code in general.

Note that we always halt the tool when backspace is pressed and there
are no vertices left. This is to minimize the risk of ending up in an
invalid tool state.
(cherry picked from commit c7a5195bdf)
2009-12-09 22:40:33 +01:00
Alexandre Prokoudine
df956417c4 Updated Russian translation for 2.6 2009-12-02 05:09:21 +03:00
Marco Ciampa
ba14f4d7b5 Small fix in italian translation 2009-11-30 12:20:59 +01:00
Marco Ciampa
0403a4c33b Small fix in italian translation 2009-11-30 12:18:42 +01:00
Michael Natterer
acc37a4e5d Bug 602761 - plug-in-grid: Parameters Horizontal/Vertical Spacing and Horizontal/Vertical Offset are reversed
Revert commits bc099a98f3 and
c77781de89 from Jul 27 2006;
also changed refval boundaries of the "width" size entries
in the spirit of the original fix, only reversed.

Rationale: the "horizontal" parameters all have to affect the
horizontal *lines*, so have an effect in *vertical* direction.

Will commit a label change on top to clarify this.
(cherry picked from commit 028b66beba)
2009-11-24 15:01:13 +01:00
Simon Budig
88eccea84a Harden the PSD plugin against integer overflows.
Issues discovered by Stefan Cornelius, Secunia Research, advisory SA37232
and CVE identifier CVE-2009-3909. Fixes bug #600741.
(cherry picked from commit 9cc8d78ff3)
2009-11-17 11:15:01 +01:00
Simon Budig
687ec47914 Fix the PSD structs to use signed ints for bounding box coordinates.
(cherry picked from commit 0e440cb6d4)
2009-11-17 01:16:18 +01:00
Nils Philippsen
153ae579f7 Ensure valid bit depths when reading BMP files.
(cherry picked from commit 16e6a37687)
2009-11-16 18:18:00 +01:00
Nils Philippsen
6e8ff603a2 Use more defensive coding in plausibility check.
Use an equivalent division instead of multiplying values and checking if
they are more than G_MAXINT32, because divisions cannot overflow.
(cherry picked from commit f63ba36dd9)
2009-11-16 17:36:49 +01:00
Nils Philippsen
0214e1ff27 Make plausibility check easier to understand.
Explicitly check that Bitmap_Head.biHeight is not G_MININT32
instead of relying on ABS(G_MININT32) being negative.
(cherry picked from commit 43d57c6663)
2009-11-16 17:36:42 +01:00
Sven Neumann
f05ea43353 Bug 601891 - gimp_image_get_selection returns None
The code used to make the assumption that the selection mask was
a layer. Actually it is a channel and changing the code accordingly
fixes the reported problem.
(cherry picked from commit 474b5fdff3)
2009-11-14 16:53:32 +01:00
Simon Budig
df2b0aca2e Harden the BMP plugin against integer overflows.
Issues discovered by Stefan Cornelius, Secunia Research, advisory SA37232
and CVE identifier CVE-2009-1570. Fixes bug #600484.
2009-11-10 00:16:51 +01:00
Michael Natterer
b8c28ab2b4 Bug 593848 - FG color changed to black when FG-BG Editor tab created
When a color gets set on the module via GimpColorSelector::set_color(),
make sure that the result of its transformation to CMYK doesn't
get set back on GIMP. Also, when the color profile changes, make
sure we only re-transform the RGB value to CMYK and don't set that
result back on GIMP either.
(cherry picked from commit 659cf3743e)
2009-11-08 14:27:06 +01:00
Petr Kovar
e22c3aaf4c Updated Czech translation by Marek Cernocky 2009-11-04 21:28:29 +01:00
Marek Černocký
177a6f376d Update Czech translation 2009-10-31 16:58:26 +01:00
Michael Natterer
4dfe94ace6 Bug 599765 - F1 key on gimp-tool-align in menu have wrong link and it open gimp-tool-move
Add help ID "gimp-tool-align" and use it for the align tool.
(cherry picked from commit 398607ee94)
2009-10-27 19:00:49 +01:00
Tournaris Pavlos
3b985d2c2b Updated Greek po-python translation 2009-10-20 14:41:49 +03:00
Vasilis Kontogiannis
295a32bcc0 Updated Greek libgimp translation 2009-10-20 14:37:52 +03:00
Vasilis Kontogiannis
d37ad2af45 Updated Greek script-fu translation 2009-10-20 14:36:10 +03:00
Bruce Cowan
36549276ae Updated British English translation 2009-10-17 23:09:00 +01:00
Sven Neumann
0799d78db2 Fix a width/height confusion in the healing tool algorithm
As pointed out by Massimo Valentini in bug #519503, the code used
height where width should have been used. Correct.
(cherry picked from commit f7ff0903ff)
2009-10-16 22:11:00 +02:00
Funda Wang
35873d22b2 Updated zh_CN translation. 2009-10-16 08:52:25 +08:00
Kolbjørn Stuestøl
2acf42dfe7 Updated Norwegian Nynorsk translation 2009-10-12 21:59:56 +02:00
Massimo Valentini
d67177d744 Bug 470698 - MapObject cannot modify highlight 2009-10-12 20:52:44 +02:00
Tor Lillqvist
5270f70701 Add missing NULL to g_strconcat() call 2009-10-07 22:36:45 +03:00
Nishibori Kiyotaka
507521fc23 Updated Japanese translation 2009-10-03 21:48:11 +09:00
Cristian Secară
a2e48eeda1 Updated Romanian translation 2009-09-28 23:10:53 +03:00
Sven Neumann
2d08956ceb app: fix compilation
The fix for bug #594998 introduced a reference to gimp_dock_get_context().
This function does not exist in the gimp-2-6 branch.
2009-09-23 21:21:07 +02:00
Michael Natterer
e2afa0e23f Make sure the layer preview's border is correct after removing a mask
(gimp_layer_tree_view_mask_update): call
gimp_layer_tree_view_update_borders() unconditionally; not only when a
mask has been added, but also when it has been removed.
(cherry picked from commit 098a0e4491)
2009-09-21 10:47:21 +02:00
Martin Nordholts
cd9d331b6e Bug 594998 - Keyboard shortcuts does not work for first image when dock is focused
The dock needs to listen to image changes in the context and not only
display changes since the introduction of the empty-image-window does
not cause any display changes when creating the first image.
2009-09-12 14:59:18 +02:00
Julien Hardelin
1eaa17430c Improved French translation 2009-09-12 09:48:04 +02:00
Manish Singh
b3fdf6141b Bug 594651 - layer.scale() raises RuntimeError
Add "interpolation" to kwlist for pygimp layer.scale()
(cherry picked from commit 2182dec09b)
2009-09-11 13:02:49 -07:00
Martin Nordholts
eb4273227c Check for automake-1.11
(Cherry picked from commit 66cc3e5f22)
2009-09-08 21:34:11 +02:00
Michael Natterer
2872f1d427 gimp_layer_transform_color(): don't assume the dest region has alpha
Don't blindly fill the dest region's alpha channel even if it has
none. Fixes longstanding bug that made things without alpha dropped
to indexed images to arrive broken.
(cherry picked from commit 0c57e8c68e)
2009-09-08 20:59:36 +02:00
Inaki Larranaga
36dc72aa34 Updated Basque translation 2009-09-07 12:44:35 +02:00
Aron Xu
4fba8e413f Updated Simplified Chinese translations. 2009-09-07 16:26:42 +08:00
Petr Kovar
12ad3b4822 Updated Czech translation by Jaroslav Krejci
Reviewed by: Petr Kovar
2009-09-06 00:55:56 +02:00
Julien Hardelin
4a68e70eef Fix po-script-fu French translation 2009-09-05 23:26:20 +02:00
Julien Hardelin
227a68fde2 Fix po-plug-ins French translation 2009-09-05 22:44:17 +02:00
Michael Natterer
9aa0f9ab79 Bug 563770 - Layer border visibility don't work with masks
(gimp_display_shell_selection_control): don't draw the layer boundary
if it is hidden.
(cherry picked from commit 064448cb50)
2009-08-31 19:29:20 +02:00
Sven Neumann
de42f754cb print: don't store image specific settings globally
It doesn't make sense to store image-specific settings such as resolution
and offsets in the global print-settings file. Only store them in the
image parasite, but remove them before saving the print-settings file.
(cherry picked from commit 9464d303a9)
2009-08-18 22:22:02 +02:00
Tomasz Dominikowski
07fa4c3d3e Updated Polish translation 2009-08-18 16:09:36 +02:00
Marco Ciampa
16f66f8c8d Updated italian translation. 2009-08-17 17:01:14 +02:00
Sven Neumann
ae341cc8b7 remove duplicate line in NEWS file 2009-08-16 12:16:46 +02:00
Sven Neumann
3dc0a93e5a bumped version to 2.6.8 2009-08-14 21:51:42 +02:00
Nils Philippsen
1a21ea58dd fix typo in NEWS file 2009-08-14 11:56:50 +02:00
Sven Neumann
11d2174105 Made 2.6.7 release 2009-08-13 22:17:12 +02:00
Sven Neumann
c90f19b086 update NEWS for the 2.6.7 release 2009-08-13 21:20:13 +02:00
Sven Neumann
7ab4fccad5 Bug 591017 – Tablet pan is not working as fast as it should
Use motion event compression for display scrolling.
(cherry picked from commit 60f11e18ae)
2009-08-13 20:25:25 +02:00
Martin Nordholts
f2cb91a6eb NEWS: Color tools crash is fixed now
Add "577581 – Crashes when using any colors tool/function on Windows"
to NEWS. Even though it didn't involve a fix in the GIMP code base it
still has informational value.
2009-08-11 18:30:41 +02:00
Martin Nordholts
bed9f38d7a NEWS: 589667 – GIMP crashes when clicking GEGL Operation on Windows
Add "589667 – GIMP crashes when clicking GEGL Operation on Windows" to
NEWS. Even though it didn't involve a fix in the GIMP code base it
still has informational value.
2009-08-10 22:07:38 +02:00
Massimo Valentini
b689147f2f Bug 569833 – file-jpeg-save erroneous with small quality values
Use the passed parameters if the quality setting is 0.01 or greater
instead of rejecting values below 0.05 in non-interactive mode.
(cherry picked from commit fc979283de)
2009-08-10 21:34:36 +02:00
Mads Lundby
1d8e77cabe Updated Danish translation 2009-08-10 12:06:40 +02:00
Francisco Vila
f9898c7dd0 Updated Spanish translation 2009-08-09 19:33:10 +02:00
Francisco Vila
7f2f5d1838 Updated Spanish translation 2009-08-09 19:29:58 +02:00
Sven Neumann
06dcf02f1b updated NEWS for 2.6.7 release 2009-08-08 20:18:24 +02:00
Martin Nordholts
d193d08022 Add Makefile.am rule to generate ChangeLog from git log
Add Makefile.am rule to generate ChangeLog from git log copied from
pango and Behdad Esfahbod.
2009-08-08 14:22:53 +02:00
Francisco Vila
a3894907b3 Updated Spanish translation 2009-08-07 19:03:41 +02:00
Sven Neumann
16643800a1 Change the default for the 'trust-dirty-flag' gimprc option back to FALSE
It appears that there are good reasons why a user might want to save
a clean image, for example because the file has been deleted or damaged.
(cherry picked from commit 5c630f4ad8)
2009-08-05 21:18:54 +02:00
Gabor Kelemen
0661bcbcf5 Typofix 2009-08-05 15:08:39 +02:00
Sven Neumann
14c2855a34 Bug 590638 – Changing palettes from list to grid view loses "locked to dock" status
Transfer the 'locked' state to the newly created dockable in
dockable_toggle_view_cmd_callback().
(cherry picked from commit 45529d4886)
2009-08-03 22:17:52 +02:00
NISHIBORI Kiyotaka
46b5383d6f Updated Japanese translation
Author NISHIBORI Kiyotaka
2009-08-02 19:03:25 +09:00
Michael Natterer
a87adf79c4 Bug 589674 – "Send by Email" does not update "Filename"
Use g_filename_display_basename() so it doesn't choke on non-utf8
filenames.
(cherry picked from commit f712a316df)
2009-08-01 18:42:18 +02:00
Martin Nordholts
01399cf878 Bug 589674 – "Send by Email" does not update "Filename"
Remove a conditional so that, in interactive mode, the Send by E-mail
feature always uses the name of the file as the default file field
value, instead of using the previously entered value of the field.
2009-08-01 11:34:58 +02:00
Aron Xu
7a2061910d Catch up with latest pot changes on translations of zh_CN. 2009-07-27 23:08:37 +08:00
Michael Natterer
06affa3373 Fix typo in Finnish translation 2009-07-26 21:03:25 +02:00
Massimo Valentini
8421cbf661 Bug 586851 – Transparent BMP files fail to load
If everything else fails, use gdk_pixbuf_new_from_file().
2009-07-22 18:17:56 +02:00
Sven Neumann
6dd416eee8 Bug 589205 – help-browser uses deprecated (and sometimes broken) webkit call
Use webkit_web_view_load_uri() instead of webkit_web_view_open().
(cherry picked from commit 87f25f29d8)
2009-07-21 22:44:12 +02:00
Martin Nordholts
e60eb7a496 Bug 582821 – 'Sphere Designer' does not reset correctly...
Make sure to reconstruct the list in the UI when using layers from a
previous invocation.
2009-07-21 18:52:35 +02:00
Barak Itkin
20dc068f92 Bug 582821 – 'Sphere Designer' does not reset correctly...
Make sure to always call rebuildlist() after reseting, including after
interactively clicking the Reset button. Also, we don't need to
restartrender() after rebuildlist() calls since that is done last in
rebuildlist() itself.
2009-07-21 17:54:02 +02:00
Massimo Valentini
3c12bb1dd4 Bug 570353 – first time open of .svg file ignores the requested units
The resolution used to convert the sizes between pixels and units was
only set initially and never updated.
(cherry picked from commit c78f7d1382)
2009-07-20 23:06:40 +02:00
Massimo Valentini
0bcae79295 Bug 555777 – Export to MNG animation fails
'mng_putchunk_plte' and 'mng_putchunk_trns' both copy  the array passed in
as if it was full size even when it is only partly used. This commit wraps
their calls passing the arrays dimensioned correctly.

In function 'respin_cmap', when 'find_unused_ia_colour' returns an index
suitable for transparency the number of colors in the colormap, the
following loop used to access three values beyond the end of the array
'before'.

Finally fix a typo in a call to mng_putchunk_text().
(cherry picked from commit e0f21468d4)
2009-07-20 22:59:09 +02:00
Sven Neumann
3061727198 Bug 577301 – Dithering with transparency is broken for "positioned" method
Merged fix from master branch
(commit cbfe411ea1).
2009-07-20 22:48:13 +02:00
Sven Neumann
e72d7c87fc help-browser: removed obsolete check for zoom API
Removed the check for the webkit zoom API and compile the respective
code unconditionally.
(cherry picked from commit 2d1b3ddf72)
2009-07-20 22:24:32 +02:00
Sven Neumann
b041e005f3 configure: require webkit-1.0 >= 1.1.0
(cherry picked from commit 2f4e3b236b)
2009-07-20 22:24:18 +02:00
Sven Neumann
0d6f48e9f0 help-browser: fix history menus
The history menus located at the back and forward buttons stopped working
after a webkit update some time ago. With these changes the menus work
again, at least with recent webkit releases.
(cherry picked from commit 02960ed3bd)
2009-07-20 22:23:47 +02:00
Massimo Valentini
baf48c6167 Bug 493778 – metadata plug-in crashes on some images
The problem is that the parser adds an empty property value when
parsing an empty Alt-array, "<rdf:Alt/>".

But when it is encoded it is expected to be in the form of a NULL
terminated array of pairs of property values, with the result that the
NULL terminator is considered the second element of the first pair and
the loop encoding these properties goes beyond the end of the array,
thus dereferencing invalid pointers.

This commit alters the parser to avoid adding dummy values when empty
rdf:Alt, rdf:Bag and rdf:Seq elements are found.
2009-07-20 17:53:52 +02:00
Sven Neumann
a525239eaa update the list of bug-fixes 2009-07-16 22:29:20 +02:00
Massimo Valentini
ac95acb4dd Bug 567466 – PNG comment not found if more than 1 tEXt chunks
Fix an oversight: only the first tEXt chunk of a PNG was considered,
though repeatedly, when looking for the comment.
(cherry picked from commit 65c21b6bc3)
2009-07-16 22:27:23 +02:00
Massimo Valentini
3644e67bda Bug 585665 – Exporting to PSD with a blank text layer creates a corrupt file
Use write_gchar() to write an empty string, not write_gint16().
(cherry picked from commit 48a6b0c59c)
2009-07-16 22:27:15 +02:00
Mason Thomas
f18577df8e Clamp levels after input changes applied.
(cherry picked from commit fc66ca5169)
2009-07-16 22:09:44 +02:00
Sven Neumann
23a22952f3 news update in preparation for the 2.6.7 release 2009-07-08 21:48:57 +02:00
Massimo Valentini
d07fcc0102 Bug 569661 – Import from PDF throws errors when entering resolution in pixels per millimetre
Fix calculation of dpi value.
(cherry picked from commit a7bca9407d)
2009-07-08 21:29:29 +02:00
Massimo Valentini
507ba87608 Bug 567262 – Black pixels appear in "Spread" filter preview
The plug-in makes use of a GimpPixelFetcher to access the source image.
And a GimpPixelFetcher in its default state only returns pixels inside
the bounding box of the selection. Setting its edge-mode to whatever
but GIMP_PIXEL_FETCHER_EDGE_NONE allows to read pixels outside of the
selection.
(cherry picked from commit 34ccca92a5)
2009-07-08 21:28:44 +02:00
Massimo Valentini
fe9e5c6db0 Bug 554658 – Path Dialog: Path preview pics not to see constantly
Always initialize the 'status' member of a newly allocated cairo_path_t
to the value CAIRO_STATUS_SUCCESS as required to successively call
cairo_append_path().
(cherry picked from commit 5be4f235a3)
2009-07-08 21:20:55 +02:00
Massimo Valentini
9ed0b1eeca Bug 167604 – gimp_gradient_get_color_at() may return out-of-bounds values
This is not a problem of gimp_gradient_get_color_at(), but a typo
in gradient_editor_right_color_update().
(cherry picked from commit c837f25b40)
2009-07-08 21:20:33 +02:00
Sven Neumann
88a483bd18 Bug 567393 – Rectangle select tool size shrinks to 0 if size is larger than
the image and the up or down arrow is pressed.

Applied patch from Massimo as found in bug #567393. This changes ROUND()
to RINT() to correct rounding for negative numbers. Also did this change
in gimp_rectangle_tool_adjust_coord().
(cherry picked from commit 05537763ef)
2009-07-08 21:17:46 +02:00
Martin Nordholts
4f12de2814 Bug 587543 – crash in GNU Image Manipulation Program: Pressing shift+-
Not all actions have procedures associated with them, for example
unused "plug-in-recent-[N]" actions, so check for NULL before we
invoke the plug-in action
2009-07-01 21:47:23 +02:00
Sven Neumann
b188a1f43c news update in preparation for the 2.6.7 release 2009-06-30 23:44:28 +02:00
Petr Kovar
43b40ba752 Fixed Czech translation
Fixes bug #586465. Thanks goes to David Jasa.
2009-06-29 00:45:26 +02:00
Per Kongstad
8b5996f0da Updated Danish translation 2009-06-17 22:29:17 +02:00
Michael Natterer
1d98b2bc2f Bug 563029 - Closing maximized image doesn't restore document window size
(gimp_display_shell_empty): Call gtk_window_unmaximize() before
setting the empty display's size.
2009-06-17 21:30:33 +02:00
Michael Natterer
a55a33cab1 Bug 585488 – Perspective transformation on a layer with a mask causes crash
(gimp_drawable_transform_affine)
(gimp_drawable_transform_flip)
(gimp_drawable_transform_rotate): also transform the layer mask if we
are transforming a layer and there is no selection (which causes the
entire layer to be transformed).
2009-06-17 21:17:04 +02:00
Michael Natterer
d617916a93 Bug 586008 - GIMP crashes when right-click canceling a drawing action initiated outside layer boundaries
(gimp_paint_core_cancel): don't pass out-of-drawable coordinates to
gimp_paint_core_copy_valid_tiles().
2009-06-16 22:24:52 +02:00
Per Kongstad
f11e5886ee Updated Danish translation 2009-06-14 23:38:10 +02:00
Mads Lundby
71423c126a Updated Danish translation 2009-06-14 23:29:47 +02:00
Chao-Hsiung Liao
503cee6ad7 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2009-06-13 19:29:11 +08:00
Sandeep Shedmake
850ccccbf3 Updated Marathi Translations 2009-06-10 18:10:33 +05:30
Sandeep Shedmake
a0788cf7f2 Updated Marathi Translations 2009-06-10 14:38:19 +05:30
Sandeep Shedmake
e6d3a02d4a Updated Marathi Translations 2009-06-09 12:36:12 +05:30
Sandeep Shedmake
e8733799d6 Updated Marathi Translations 2009-06-08 12:59:32 +05:30
Sandeep Shedmake
f05f466858 Updated Marathi Translations 2009-06-08 12:13:10 +05:30
Sandeep Shedmake
79219fb60f Updated Marathi Translatiuons 2009-06-08 11:51:40 +05:30
Sven Neumann
f87f57aea4 git: ignore data/tags from master branch 2009-06-02 20:18:59 +02:00
Sven Neumann
4448fc0d98 git: ignore config.h.in~ 2009-06-02 20:17:23 +02:00
Sven Neumann
3f21c948c9 Bug 584345 – when printing, the number of copies should be reset to 1
at each new GIMP session

Do not store the number of copies in the print-settings resource file,
but keep it in the print-settings that are attached to the image.
(cherry picked from commit af965d82dd)
2009-06-02 20:12:19 +02:00
Sandeep Shedmake
afcc825b25 Updated Marathi Translations 2009-06-02 17:55:06 +05:30
Christopher Montgomery
3c59c936e0 plug-ins: Make sure to flush output in ts_stdout_output_func() 2009-05-28 21:30:12 +02:00
Manoj Kumar Giri
d2836e6e55 Commit Oriya Translations 2009-05-28 18:48:19 +05:30
Manoj Kumar Giri
9e2cfa774c Updated Oriya Translation. 2009-05-28 18:48:19 +05:30
Manoj Kumar Giri
840d0b9abb Added entries for Oriya Translation. 2009-05-28 18:48:19 +05:30
Manoj Kumar Giri
2ec41021f5 Updated Oriya Translation. 2009-05-28 18:48:19 +05:30
Timo Jyrinki
1a598549e4 Updated Finnish translation by Aapo Rantalainen 2009-05-28 15:09:56 +03:00
Kappa8086
8fcfd6cd11 Updated Simplified Chinese translations. 2009-05-28 17:20:02 +08:00
Sven Neumann
727b1a1151 app: fix use of GIMP_LOG=help
g_parse_debug_string() has special treatment of the string 'help',
but we want to use it for the GIMP_LOG_HELP domain.
(cherry picked from commit a427213fb8)
2009-05-26 17:21:50 +02:00
Manoj Kumar Giri
6962182af7 Added entries for Oriya Translation. 2009-05-26 18:25:40 +05:30
Manoj Kumar Giri
da010567da Updated Oriya Translation 2009-05-26 18:23:53 +05:30
Manoj Kumar Giri
7ad20fb371 Added entries for Oriya Translation and adition to the LINGUAS. 2009-05-25 19:10:07 +05:30
Manoj Kumar Giri
9367005226 Updated Oriya Translation 2009-05-25 19:09:59 +05:30
Manoj Kumar Giri
fdd3de52cf Added 'or' into the List. 2009-05-25 19:09:46 +05:30
Manoj Kumar Giri
1845882607 Added entries for Oriya Translation and adition to the LINGUAS. 2009-05-25 18:39:06 +05:30
Manoj Kumar Giri
44b6bfc785 Added entries for Oriya Translation and adition to the LINGUAS. 2009-05-25 18:36:28 +05:30
Manoj Kumar Giri
c8eaa7ad8d Added or in the List. 2009-05-25 18:32:37 +05:30
Manoj Kumar Giri
f4df8e0a3c Updated Oriya Translation 2009-05-25 18:31:48 +05:30
Manoj Kumar Giri
ec84a006a0 Added Oriya (or) in the List. 2009-05-25 18:22:01 +05:30
Manoj Kumar Giri
7e0403869d Updated Oriya Translation 2009-05-25 18:18:18 +05:30
Sven Neumann
cd98fd0482 Bug 557061 – Alpha to Logo
Applied patch from Eric Lamarque fixing an error in the Cool Metal Logo
script.
(cherry picked from commit 35ac02e66d)
2009-05-21 18:52:15 +02:00
Sven Neumann
76443d2658 use wildcards so files from master and gimp-2-6 branch are ignored 2009-05-21 14:40:17 +02:00
Michael Natterer
41a03769c5 Ignore object files globally. 2009-05-21 14:38:07 +02:00
Martin Nordholts
d27dd37bd4 Added .gitignore files generated with git svn create-ignore.
svn path=/trunk/; revision=27972
2009-05-21 14:37:58 +02:00
Sven Neumann
12f95c0981 Bug 472644 – Rotate with clipping crops the whole layer
Applied patch from Andreas Neustifter fixing outstanding issues.
2009-05-21 14:29:08 +02:00
Sven Neumann
cc3a8e0e72 app: fixed version checks for babl and GEGL
The version checks for babl and GEGL did not cope correctly with the
minor version upgrade. This change fixes this by introducing a generic
version check.
2009-05-21 13:50:36 +02:00
Sven Neumann
da971fc266 Fix default values for Image.new_layer() methods
Use image height instead of width as the default height of the
newly created layer (bug #579400).
2009-05-21 13:49:40 +02:00
Sandeep Shedmake
a63e0b4b15 Updated Few Translations For Marathi 2009-05-18 20:03:40 +05:30
Sandeep Shedmake
a58606ce19 Updated Marathi Translations 2009-05-18 19:24:15 +05:30
Sandeep Shedmake
f739e12fc8 Updated Marathi Translations 2009-05-18 15:11:02 +05:30
Shankar Prasad
6b1b1e6b78 Updated Kannada translations 2009-05-15 14:22:57 +05:30
Shankar Prasad
deb6247b44 Updated Kannada translations 2009-05-14 17:51:16 +05:30
Shankar Prasad
7e1f7a3ba0 Updated Kannada translations 2009-05-14 12:13:06 +05:30
Shankar Prasad
1d7f93c53c Updated Kannada translations 2009-05-12 17:39:06 +05:30
Fotis Tsamis
445b18a245 Updated Greek translation 2009-05-08 18:16:55 +01:00
Shankar Prasad
1cdb44efde Updated Kannada translations 2009-05-07 18:07:00 +05:30
Shankar Prasad
5406bb6778 Updated the Kannda translations 2009-05-06 14:00:26 +05:30
Shankar Prasad
cbd672f00a Updated the Kannda translations 2009-05-05 17:54:21 +05:30
Sweta Kothari
1555ddf88b Committed gu.po file 2009-04-27 14:28:24 +05:30
Sweta Kothari
3e4f555bc7 Committed gu.po file 2009-04-27 12:20:45 +05:30
Sweta Kothari
c45cb87506 Committed gu.po file 2009-04-27 11:29:42 +05:30
Sweta Kothari
38a90718ec Committed Gujarati Translations 2009-04-27 10:51:12 +05:30
Marco Ciampa
d116c96e03 Updated italian translation 2009-04-27 00:47:56 +02:00
Sweta Kothari
4bc05c191b Committed Gujarati Translations 2009-04-24 16:04:29 +05:30
Sweta Kothari
5014c16dc9 Committed Gujarati Translations 2009-04-24 14:24:17 +05:30
Shankar Prasad
0a863c53a1 Updated Kannada Translation 2009-04-21 11:37:38 +05:30
Shankar Prasad
a1f605a6be added kn.po and updated ChangeLog and LINGUAS
svn path=/branches/gimp-2-6/; revision=28270
2009-04-16 07:06:18 +00:00
Sweta Kothari
661d45cadf Committed Translation by Sweta Kothari
svn path=/branches/gimp-2-6/; revision=28267
2009-04-13 10:50:08 +00:00
Kjartan Maraas
9603f49957 Updated Norwegian bokmål translation from Sigurd Gartmann <sigurdga at
2009-04-09  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation from
	Sigurd Gartmann <sigurdga at sigurdga no>

svn path=/branches/gimp-2-6/; revision=28259
2009-04-09 16:29:29 +00:00
Kjartan Maraas
d15e4cf157 Updated Norwegian bokmål translation from Sigurda Gartmann <sigurdga at
2009-04-09  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation from
	Sigurda Gartmann <sigurdga at sigurdga no>

svn path=/branches/gimp-2-6/; revision=28258
2009-04-09 16:28:25 +00:00
Kjartan Maraas
196e1a9d0d Updated Norwegian bokmål translation from Sigurd Gartmann <sigurdga at
2009-04-09  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation from
	Sigurd Gartmann <sigurdga at sigurdga no>

svn path=/branches/gimp-2-6/; revision=28257
2009-04-09 16:27:35 +00:00
Kjartan Maraas
e4553ce216 Updated Norwegian bokmål translation from Sigurd Gartmann <sigurdga at
2009-04-09  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation from Sigurd
	Gartmann <sigurdga at sigurdga no>.

svn path=/branches/gimp-2-6/; revision=28256
2009-04-09 16:25:46 +00:00
Sandeep Shedmake
59dce4d6d3 Added Marathi Translations and appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28255
2009-04-08 09:02:27 +00:00
Sandeep Shedmake
9aa70a50ff Added Marathi Translations
svn path=/branches/gimp-2-6/; revision=28254
2009-04-08 08:59:38 +00:00
Sandeep Shedmake
f5dfa69686 Appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28253
2009-04-08 08:23:47 +00:00
Sandeep Shedmake
e41baf35b9 Added Marathi Translations and appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28252
2009-04-08 08:16:36 +00:00
Sandeep Shedmake
6a6df162a7 Added Marathi Translations
svn path=/branches/gimp-2-6/; revision=28251
2009-04-08 08:16:14 +00:00
Sandeep Shedmake
d56b39514e Appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28250
2009-04-08 08:15:47 +00:00
Sandeep Shedmake
943f372302 Added Marathi Translations
svn path=/branches/gimp-2-6/; revision=28249
2009-04-08 08:10:42 +00:00
Sandeep Shedmake
5ac694ca23 Appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28248
2009-04-08 08:10:15 +00:00
Sandeep Shedmake
25b20f9b46 Added Marathi Translations and appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28247
2009-04-08 08:09:43 +00:00
Sandeep Shedmake
b2e547f555 Appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28246
2009-04-08 08:04:22 +00:00
Sandeep Shedmake
5e0c5d50d8 Added Marathi Translations and appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28245
2009-04-08 08:03:50 +00:00
Sandeep Shedmake
c543a0b05f Added Marathi Translations
svn path=/branches/gimp-2-6/; revision=28244
2009-04-08 08:03:22 +00:00
Sandeep Shedmake
6c651c44f0 Added Marathi Translation
svn path=/branches/gimp-2-6/; revision=28243
2009-04-08 07:53:25 +00:00
Sandeep Shedmake
19e2eebec1 Appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28242
2009-04-08 07:52:44 +00:00
Sandeep Shedmake
fa4368b480 Added Marathi Translations and appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28241
2009-04-08 07:52:06 +00:00
Sandeep Shedmake
87676ea0a5 Appended 'mr'
svn path=/branches/gimp-2-6/; revision=28240
2009-04-08 07:43:11 +00:00
Sandeep Shedmake
1a4610ae22 Added Marathi Translations and appended 'mr' to LINGUAS
svn path=/branches/gimp-2-6/; revision=28239
2009-04-08 07:42:31 +00:00
Sandeep Shedmake
f8f3c41320 Added Marathi Translations
svn path=/branches/gimp-2-6/; revision=28238
2009-04-08 07:41:36 +00:00
Michael Natterer
c709940bec Merged from trunk:
2009-04-03  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	Bug 577575 – transform tool fills underlying extracted area wrongly

	* app/tools/gimpfliptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c (gimp_*_tool_register): pass
	GIMP_CONTEXT_BACKGROUND_MASK to the register callback to the tools
	use the global background color.


svn path=/branches/gimp-2-6/; revision=28237
2009-04-03 14:04:10 +00:00
Shankar Prasad
3635b3812b added kn.po and updated ChangeLog and LINGUAS
svn path=/branches/gimp-2-6/; revision=28233
2009-03-31 05:19:05 +00:00
Ulf-D. Ehlert
f0d2962538 po/de.po Minor fixes in German translation
2009-03-29  Ulf-D. Ehlert  <ulfehlert@svn.gnome.org>

	* po/de.po
	* po-plug-ins/de.po: Minor fixes in German translation

svn path=/branches/gimp-2-6/; revision=28232
2009-03-29 12:09:14 +00:00
Michael Natterer
1eadcef008 Merged from trunk:
2009-03-28  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	Bug 555738 – Image display is wrong after undoing canvas size
	enlargement

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_size_changed_detailed_handler): call
	gimp_display_shell_expose_full() because resizing the canvas can
	leave all sorts of display areas unupdated otherwise.


svn path=/branches/gimp-2-6/; revision=28231
2009-03-28 21:19:49 +00:00
Sven Neumann
556127d8e2 Merged from trunk:
2009-03-28  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 577024 – help-browser plugin crashes when used with webkit 1.1.3

	* plug-ins/help-browser/help-browser.c (run): call g_thread_init().
	Seems to be needed with newer versions of webkit.


svn path=/branches/gimp-2-6/; revision=28228
2009-03-28 16:43:36 +00:00
Michael Natterer
a929519b45 Merged from trunk:
2009-03-28  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	Bug 555025 – Action GEGL box widgets weirdness

	Must not set GDK_HINT_MIN_SIZE if we don't actually set a minimum
	size, or the window will be shrinkable to zero and it won't
	expand automatically when its contents' requisition grows.

	* app/widgets/gimpdialogfactory.[ch]: add hackish API
	gimp_dialog_factory_set,get_has_min_size() because GTK+ itself
	has no API for querying a window's GdkWindowHints.

	(gimp_dialog_factory_set_user_pos): set GDK_HINT_MIN_SIZE only if
	the window was being marked as having a minimum size using above
	new API.

	* app/widgets/gimptoolbox.c (gimp_toolbox_set_geometry)
	* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
	call gimp_dialog_factory_set_has_min_size (window, TRUE).


svn path=/branches/gimp-2-6/; revision=28225
2009-03-28 13:20:16 +00:00
Marco Ciampa
a34edf4df8 Updated italian translation
svn path=/branches/gimp-2-6/; revision=28220
2009-03-25 15:23:24 +00:00
Daniel Nylander
b4ce3a6cf7 sv.po: Updated Swedish translation
svn path=/branches/gimp-2-6/; revision=28218
2009-03-24 12:38:05 +00:00
Daniel Nylander
ce358af0d1 sv.po: Updated Swedish translation
svn path=/branches/gimp-2-6/; revision=28217
2009-03-24 12:37:16 +00:00
dumol
84d127d357 Romanian translation update
Romanian translation update


svn path=/branches/gimp-2-6/; revision=28203
2009-03-22 21:39:20 +00:00
dumol
af60d38391 Romanian translation update
Romanian translation update


svn path=/branches/gimp-2-6/; revision=28202
2009-03-22 21:33:45 +00:00
dumol
f1ee3b7229 Romanian translation update
Romanian translation update


svn path=/branches/gimp-2-6/; revision=28201
2009-03-22 21:30:33 +00:00
SANDRA MARAKKALA DANISHKA NAVIN
529b6dd5ce updated si.po
svn path=/branches/gimp-2-6/; revision=28189
2009-03-20 13:59:25 +00:00
SANDRA MARAKKALA DANISHKA NAVIN
171dbb6dfb added Sinhala translation si.po
svn path=/branches/gimp-2-6/; revision=28188
2009-03-20 13:55:59 +00:00
SANDRA MARAKKALA DANISHKA NAVIN
0b6ee5c613 added Sinhala si
svn path=/branches/gimp-2-6/; revision=28187
2009-03-20 13:11:24 +00:00
dumol
4f378b8587 Updated Romanian translation
Updated Romanian translation


svn path=/branches/gimp-2-6/; revision=28181
2009-03-18 21:38:51 +00:00
Marco Ciampa
48c2124e80 Updated italian translation
svn path=/branches/gimp-2-6/; revision=28179
2009-03-18 13:52:43 +00:00
Marco Ciampa
b8331f4008 Updated italian translation
svn path=/branches/gimp-2-6/; revision=28176
2009-03-18 08:20:19 +00:00
Sven Neumann
65ba086366 Merged from trunk:
2009-03-17  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* configure.in: check for fsync().

	* libgimpconfig/gimpconfigwriter.c 
(gimp_config_writer_close_file):
	fsync temporary file if destination file exists.


svn path=/branches/gimp-2-6/; revision=28173
2009-03-17 11:31:26 +00:00
Tor Lillqvist
94f7d84b67 Typo.
svn path=/branches/gimp-2-6/; revision=28170
2009-03-17 11:28:04 +00:00
Tor Lillqvist
f7633d025d Drop Windows code to remove target file before renaming. g_rename()
2009-03-17  Tor Lillqvist  <tml@iki.fi>

	* libgimpconfig/gimpconfigwriter.c
	(gimp_config_writer_close_file): Drop Windows code to remove
	target file before renaming. g_rename() nowadays takes of allowing
	replacing existing files on Windows.


svn path=/branches/gimp-2-6/; revision=28169
2009-03-17 11:26:52 +00:00
Sven Neumann
f9d0fa32d3 bumped version to 2.6.7 (interface age 7).
2009-03-16  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version to 2.6.7 (interface age 7).


svn path=/branches/gimp-2-6/; revision=28168
2009-03-16 22:02:43 +00:00
Sven Neumann
05c925bfa9 Made 2.6.6 release.
2009-03-16  Sven Neumann  <sven@gimp.org>

        * Made 2.6.6 release.


svn path=/branches/gimp-2-6/; revision=28166
2009-03-16 22:00:22 +00:00
Tor Lillqvist
1929803fc0 The build-time and run-time versions were swapped in the output.
2009-03-16  Tor Lillqvist  <tml@iki.fi>

	* app/version.c (gimp_show_library_version): The build-time and
	run-time versions were swapped in the output.


svn path=/branches/gimp-2-6/; revision=28159
2009-03-16 13:15:50 +00:00
Inaki Larranaga Murgoitio
0c9b215b9b Updated Basque translation.
2009-03-16  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/branches/gimp-2-6/; revision=28158
2009-03-16 10:53:27 +00:00
Sven Neumann
380a8f4dab news update
svn path=/branches/gimp-2-6/; revision=28157
2009-03-15 20:57:50 +00:00
Sven Neumann
0151c3ef8a Merged from trunk:
2009-03-13  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 571117 – lcms plug-in crashes on broken profile

	* plug-ins/common/lcms.c: don't abort on lcms errors.


svn path=/branches/gimp-2-6/; revision=28153
2009-03-13 11:37:41 +00:00
Duarte Loreto
653871c6de Updated Portuguese translation by Manuel Dias <manueldias33@yahoo.com>.
2009-03-12  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation by Manuel Dias
	<manueldias33@yahoo.com>.

svn path=/branches/gimp-2-6/; revision=28150
2009-03-12 23:51:02 +00:00
Sven Neumann
913b80ab55 updated
svn path=/branches/gimp-2-6/; revision=28148
2009-03-12 22:31:17 +00:00
Sven Neumann
dc3bdebb58 Merged from trunk:
2009-03-12  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 575154 – changing the help browser preference may not work

	* app/gui/gui.c (gui_restore_callback): connect to changes of 
the
	"user-manual-online" gimprc property and kill the gimp-help
	plug-in as it caches the location of the help pages.

	* app/widgets/gimphelp.[ch]: added 
gimp_help_user_manual_changed()
	for this purpose.


svn path=/branches/gimp-2-6/; revision=28147
2009-03-12 22:30:19 +00:00
Sven Neumann
a2cb430485 Merged from trunk:
2009-03-12  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 573695 – 1-bit white background saved as PBM becomes all 
black

	* plug-ins/common/file-pnm.c: look at the colormap and test 
which
	of the two colors is black and which is white.


svn path=/branches/gimp-2-6/; revision=28145
2009-03-12 22:19:37 +00:00
Sven Neumann
5a0f260b11 Merged from trunk:
2009-03-12  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 573070 – crash when working with 1x3200 pixel image

	* app/display/gimpdisplayshell.c 
(gimp_display_shell_scale_changed):
	make sure that x_src_dec and y_src_dec never become zero.


svn path=/branches/gimp-2-6/; revision=28143
2009-03-12 19:32:00 +00:00
Sven Neumann
e1c19076af Bug 573542 – blur plugin: bug in the first line
2009-03-12  Sven Neumann  <sven@gimp.org>

	Bug 573542 – blur plugin: bug in the first line

	* plug-ins/common/blur.c (blur_prepare_row): cast GimpPixelRgn.h
	to a signed integer.


svn path=/branches/gimp-2-6/; revision=28141
2009-03-12 18:19:47 +00:00
Sven Neumann
587a949345 news for the upcoming 2.6.6 release
svn path=/branches/gimp-2-6/; revision=28138
2009-03-11 16:08:34 +00:00
Marco Ciampa
70c434fda6 Updated italian translation
svn path=/branches/gimp-2-6/; revision=28137
2009-03-11 15:08:42 +00:00
Sven Neumann
737c4b3353 Merged from trunk:
2009-03-11  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* plug-ins/file-jpeg/jpeg.h (PLUG_IN_BINARY): fixed typo.


svn path=/branches/gimp-2-6/; revision=28135
2009-03-10 23:14:54 +00:00
Sven Neumann
c02e5c73bf Bug 572403 – gimp-2.6 crashed with SIGSEGV in IA__g_object_get()
2009-03-10  Sven Neumann  <sven@gimp.org>

	Bug 572403 – gimp-2.6 crashed with SIGSEGV in IA__g_object_get()

	* configure.in: fixed check for newer version of GTK+ that
	determines if GTK_DISABLE_DEPRECATED is used.


svn path=/branches/gimp-2-6/; revision=28133
2009-03-10 13:53:11 +00:00
Ulf-D. Ehlert
4fd1b03970 po/de.po po-plug-ins/de.po Minor bugfixes in German translation
2009-03-09  Ulf-D. Ehlert  <ulfehlert@svn.gnome.org>

	* po/de.po
	* po-plug-ins/de.po
	* po-script-fu/de.po: Minor bugfixes in German translation

svn path=/branches/gimp-2-6/; revision=28130
2009-03-09 17:47:21 +00:00
Marco Ciampa
74efbd78cd Updated italian translation
svn path=/branches/gimp-2-6/; revision=28128
2009-03-08 11:47:57 +00:00
Claude Paroz
0ca8d7c831 Updated French translation by Julien Hardelin.
2009-03-07  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation by Julien Hardelin.

svn path=/branches/gimp-2-6/; revision=28122
2009-03-07 10:12:13 +00:00
Claude Paroz
b2c92a2e0d Updated French translation by Julien Hardelin.
2009-03-07  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation by Julien Hardelin.

svn path=/branches/gimp-2-6/; revision=28120
2009-03-07 09:55:05 +00:00
Sven Neumann
b514712c7c Merged from trunk:
2009-03-07  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* plug-ins/file-jpeg/jpeg-load.c (load_image)
	* plug-ins/file-jpeg/jpeg-save.c (save_image): need to finish 
the
	progress update.


svn path=/branches/gimp-2-6/; revision=28119
2009-03-06 23:25:10 +00:00
Claude Paroz
16f9e12e0f Updated French translation by Julien Hardelin.
2009-03-05  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation by Julien Hardelin.

svn path=/branches/gimp-2-6/; revision=28116
2009-03-05 22:25:01 +00:00
Claude Paroz
1d0035af72 Updated French translation by Julien Hardelin.
2009-03-05  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation by Julien Hardelin.

svn path=/branches/gimp-2-6/; revision=28114
2009-03-05 21:57:05 +00:00
Funda Wang
dc90c5f9da Updated zh_CN translation.
svn path=/branches/gimp-2-6/; revision=28107
2009-03-05 15:15:43 +00:00
Sven Neumann
84fbaa5a33 Merged from trunk:
2009-03-05  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 573695 – 1-bit white background saved as PBM becomes all 
black

	* plug-ins/common/file-pnm.c: need to handle the special case 
that
	the image colormap has only one entry.


svn path=/branches/gimp-2-6/; revision=28105
2009-03-05 14:11:49 +00:00
Sven Neumann
4f5be99c70 reverted last change as we don't have gimp_image_get_display_name() in
gimp-2-6

svn path=/branches/gimp-2-6/; revision=28101
2009-03-04 18:30:56 +00:00
Sven Neumann
4dae966e42 Merged from trunk:
2009-03-04  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 574149 – Can't get name/filename of files loaded from URI

	* tools/pdbgen/pdb/image.pdb (image_get_name_invoker): use
	gimp_image_get_display_name().

	* app/pdb/image-cmds.c
	* libgimp/gimpimage_pdb.c: regenerated.


svn path=/branches/gimp-2-6/; revision=28100
2009-03-04 18:25:22 +00:00
Sven Neumann
b0c6aa2a3f Fix compilation with GEGL from trunk:
2009-03-02  Sven Neumann  <sven@gimp.org>

	Fix compilation with GEGL from trunk:
	
	* app/gegl/Makefile.am
	* app/geg/gegl-types.h: renamed to app/gegl/gimp-gegl-types.h

	* app/core/core-types.h
	* app/gegl/*.c: changed accordingly.


svn path=/branches/gimp-2-6/; revision=28088
2009-03-02 08:37:34 +00:00
Priit Laes
0e2d7a4a0e Translation updated by Mattias Põldaru
2009-03-02  Priit Laes  <plaes at svn dot gnome dot org>

	* et.po: Translation updated by Mattias Põldaru

svn path=/branches/gimp-2-6/; revision=28087
2009-03-02 01:34:54 +00:00
Priit Laes
3ec2daf08a Translation updated by Mihkel Tõnnov
2009-03-01  Priit Laes  <plaes at svn dot gnome dot org>

	* et.po: Translation updated by Mihkel Tõnnov

svn path=/branches/gimp-2-6/; revision=28083
2009-03-01 13:55:35 +00:00
Sven Neumann
5284a26797 Merged from trunk:
2009-02-28  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 573488 – Small bug in Filter>Distorts>Ripple

	* plug-ins/common/ripple.c (ripple_vertical): fixed bug spotted 
in
	SMEAR mode, pointed out by Andreas Groth.


svn path=/branches/gimp-2-6/; revision=28081
2009-02-28 17:36:19 +00:00
Marco Ciampa
ae84d8b503 Small fix in italian translation.
svn path=/branches/gimp-2-6/; revision=28075
2009-02-27 11:16:24 +00:00
Jorge Gonzalez Gonzalez
65d06a82a4 Updated Spanish translation by Francisco Vila
svn path=/branches/gimp-2-6/; revision=28072
2009-02-25 18:58:01 +00:00
Marco Ciampa
d4b044f512 Updated italian translation
svn path=/branches/gimp-2-6/; revision=28066
2009-02-23 07:11:31 +00:00
Duarte Loreto
eabf706b5f Updated Portuguese translation by Bruno Queiros <bqueiros@gmail.com>.
2009-02-23  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation by Bruno Queiros
	<bqueiros@gmail.com>.

svn path=/branches/gimp-2-6/; revision=28064
2009-02-23 01:10:59 +00:00
Marco Ciampa
252210e43b Updated italian translation
svn path=/branches/gimp-2-6/; revision=28062
2009-02-22 18:34:51 +00:00
Sven Neumann
34499e896e reverted last change. No changes in the stable branch without commit
2009-02-22  Sven Neumann  <sven@gimp.org>

	* app/actions/image-actions.c: reverted last change. No changes 
in
	the stable branch without commit approval. And definitely no
	string changes.


svn path=/branches/gimp-2-6/; revision=28061
2009-02-22 17:13:58 +00:00
Marco Ciampa
15fc16a251 fixed duplicated keyboard shortcut
2009-02-22  Marco Ciampa  <ciampix@libero.it>

        * app/actions/image-actions.c: fixed duplicated keyboard shortcut


svn path=/branches/gimp-2-6/; revision=28058
2009-02-22 16:44:29 +00:00
Marco Ciampa
0c2d85f92f Updated italian translation.
svn path=/branches/gimp-2-6/; revision=28057
2009-02-22 16:43:32 +00:00
Michael Natterer
314d55876a Merged from trunk:
2009-02-20  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1

	* app/display/gimpstatusbar.c
	(gimp_statusbar_push_coords)
	(gimp_statusbar_update_cursor): fix braino for
	GIMP_CURSOR_PRECISION_PIXEL_CENTER: going to the pixel's
	center doesn't need any rounding, it simply needs clipping
	away the coordinates' fractional parts, gah...

	Review all tools' cursor precision:

	* app/tools/gimpblendtool.c (gimp_blend_tool_init): set cursor
	precision to SUBPIXEL.

	* app/tools/gimptexttool.c (gimp_text_tool_init)
	* app/tools/gimpmeasuretool.c (gimp_measure_tool_init)
	* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
	set cursor precision to PIXEL_BORDER.


svn path=/branches/gimp-2-6/; revision=28054
2009-02-20 16:58:22 +00:00
Marco Ciampa
4d61209fbd Small fix in web plugin italian translation
svn path=/branches/gimp-2-6/; revision=28051
2009-02-19 21:18:21 +00:00
Sven Neumann
0be09b1ca4 Merged from trunk:
2009-02-18  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 472644 – Rotate with clipping crops the whole layer

	* app/core/gimp-transform-resize.c: applied patch as attached to
	bug #472644. Supposedly fixes the problem of the disappearing
	image.


svn path=/branches/gimp-2-6/; revision=28048
2009-02-18 00:19:59 +00:00
Sven Neumann
b08c9ebc48 bumped version to 2.6.6 (interface age 6).
2009-02-15  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version to 2.6.6 (interface age 6).


svn path=/branches/gimp-2-6/; revision=28042
2009-02-15 17:27:30 +00:00
Sven Neumann
35b2c982d5 Made 2.6.5 release.
2009-02-15  Sven Neumann  <sven@gimp.org>

        * Made 2.6.5 release.


svn path=/branches/gimp-2-6/; revision=28040
2009-02-15 17:24:47 +00:00
Og B. Maciel
fd6577c8e9 Updated Brazilian Portuguese translation.
svn path=/branches/gimp-2-6/; revision=28038
2009-02-15 16:14:03 +00:00
Sven Neumann
c3ec6c150f update for 2.6.5
svn path=/branches/gimp-2-6/; revision=28035
2009-02-14 21:54:45 +00:00
Goran Rakic
19b413179b Updated Serbian translation (by Miloš Popović)
svn path=/branches/gimp-2-6/; revision=28032
2009-02-14 13:58:54 +00:00
Sven Neumann
6004b79f6f Merged from trunk:
2009-02-13  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 571628 – Scaling image to 25% turn background from white to 
grey

	* app/paint-funcs/scale-region.c (pixel_average2): fixed 
right-shift
	for GRAYA pixels.


svn path=/branches/gimp-2-6/; revision=28024
2009-02-13 20:44:28 +00:00
Sven Neumann
820706dfff news update for 2.6.5
svn path=/branches/gimp-2-6/; revision=28023
2009-02-13 20:12:49 +00:00
Marco Ciampa
11ab81cf79 Updated italian translation.
svn path=/branches/gimp-2-6/; revision=28021
2009-02-13 15:12:15 +00:00
Michael Natterer
0415626dcc Merged from trunk:
2009-02-12  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	* plug-ins/file-faxg3/Makefile.am
	* plug-ins/help/Makefile.am
	* plug-ins/metadata/Makefile.am: add $(libgimpconfig) to LDADD
	where it was missing. Libgimp pulls in libgimpconfig and these
	plug-ins were linking against the installed libgimpconfig under
	some #$&%*#%&%$& .la file circumstances.


svn path=/branches/gimp-2-6/; revision=28019
2009-02-12 20:36:52 +00:00
Michael Natterer
5f82368f2e Merged from trunk:
2009-02-12  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	Bug 567840 – GIMP's GtkScaleButton conflicts with GTK's

	* app/widgets/gtkscalebutton.c: rename the type to
	"GimpGtkScaleButton" so we don't crash if the real
	GtkScaleButton type is registered too.


svn path=/branches/gimp-2-6/; revision=28018
2009-02-12 20:36:18 +00:00
Sven Neumann
0c288325b8 updated list of updated translations
svn path=/branches/gimp-2-6/; revision=28014
2009-02-12 16:19:07 +00:00
Priit Laes
c3eb7614ad Translation updated by Mattias Põldaru
2009-02-11  Priit Laes  <plaes at svn dot gnome dot org>

	* et.po: Translation updated by Mattias Põldaru

svn path=/branches/gimp-2-6/; revision=28012
2009-02-11 11:53:18 +00:00
Jani Monoses
b589cc6507 Updated Romanian translation from Cristian Secară
svn path=/branches/gimp-2-6/; revision=28008
2009-02-09 16:59:33 +00:00
Stanislav Brabec
8235bb5c74 zh_CN.po: Fixed invalid charset tag.
svn path=/branches/gimp-2-6/; revision=27984
2009-02-05 18:23:12 +00:00
Felix I
573e19a537 tamil translation updated
svn path=/branches/gimp-2-6/; revision=27981
2009-02-02 12:26:55 +00:00
Felix I
eceaa5324f tamil translation updated
svn path=/branches/gimp-2-6/; revision=27980
2009-02-02 12:16:43 +00:00
Sven Neumann
bec9fec249 Merged from trunk:
2009-01-29  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* app/core/gimpchannel-combine.c 
(gimp_channel_combine_ellipse_rect):
	fixed incorrect optimization that caused glitches in the rounded
	corners on the left side of rectangular selections.


svn path=/branches/gimp-2-6/; revision=27969
2009-01-29 14:51:55 +00:00
Sven Neumann
dfaa0750ae if compiling for GEGL >= 0.0.23, use double parameters with
2009-01-28  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate): if
	compiling for GEGL >= 0.0.23, use double parameters with
	gegl_color_get_rgba().


svn path=/branches/gimp-2-6/; revision=27966
2009-01-28 12:31:19 +00:00
Michael Natterer
b1d1e412e8 Merged from trunk:
2009-01-26  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	* libgimpwidgets/gimpbutton.c (gimp_button_clicked): chain up if a
	parent impl exists to be safe against future gtk versions doing
	something in GtkButton::clicked() (as happened in GTK+ trunk).


svn path=/branches/gimp-2-6/; revision=27959
2009-01-26 20:25:14 +00:00
Sven Neumann
c15e63a8f1 format ChangeLog entries and updated NEWS
svn path=/branches/gimp-2-6/; revision=27956
2009-01-26 07:07:00 +00:00
Aron Xu
8362b7417e Updated zh_CN.po
svn path=/branches/gimp-2-6/; revision=27955
2009-01-26 05:52:49 +00:00
Aron Xu
c6c036ba56 Updated zh_CN.po
svn path=/branches/gimp-2-6/; revision=27954
2009-01-26 05:51:30 +00:00
Aron Xu
20f49f6e40 Updated zh_CN.po
svn path=/branches/gimp-2-6/; revision=27953
2009-01-26 05:49:18 +00:00
Aron Xu
62f7444fde Updated zh_CN.po
svn path=/branches/gimp-2-6/; revision=27952
2009-01-26 05:48:20 +00:00
Sven Neumann
60d1b65fd9 news update for the upcoming 2.6.5 release
svn path=/branches/gimp-2-6/; revision=27943
2009-01-25 14:36:29 +00:00
Sven Neumann
cd94a2b71b mention the bug number
svn path=/branches/gimp-2-6/; revision=27942
2009-01-25 14:29:35 +00:00
Sven Neumann
8039fe5865 Merged from trunk:
2009-01-25  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* app/tools/gimpgegltool.c (gimp_gegl_tool_get_config): 
	(gimp_gegl_tool_get_config): canonicalize the type name of the
	created config class.


svn path=/branches/gimp-2-6/; revision=27941
2009-01-25 12:47:41 +00:00
Michael Natterer
2e42394adb Merged from trunk:
2009-01-24  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	Bug 568890 – don't rely on GtkAction implementation details

	* app/widgets/gimpuimanager.c (gimp_ui_manager_menu_item_select):
	use gtk_widget_get_action() instead of g_object_get_data(),
	which relies on the name of the data key.


svn path=/branches/gimp-2-6/; revision=27940
2009-01-24 17:56:27 +00:00
Kevin Cozens
5b0bb5a28f Merged from trunk:
2009-01-23  Kevin Cozens  <kcozens@cvs.gimp.org>

	Merged from trunk:

	* libgimpcolor/gimprgb-parse.c: Applied patch from Andreas Turtschan
	to fix more RGB colour values. Fixes bug #568909.

svn path=/branches/gimp-2-6/; revision=27938
2009-01-23 21:52:02 +00:00
Aron Xu
7b27e7dce5 Fixed a small bug of zh_CN.po
svn path=/branches/gimp-2-6/; revision=27936
2009-01-23 18:12:37 +00:00
Aron Xu
4ded95bcb5 Updated Simplified Chinese translations by Shawn Syu <shawn@msn.cn>.
svn path=/branches/gimp-2-6/; revision=27935
2009-01-23 18:08:19 +00:00
Kevin Cozens
1b540417a5 Merged from trunk:
2009-01-23  Kevin Cozens  <kcozens@cvs.gimp.org>

	Merged from trunk:

	* libgimpcolor/gimprgb-parse.c: Applied patch from Andreas Turtschan
	to fix colour values for slategray and slategray. Fixes bug #568839.

svn path=/branches/gimp-2-6/; revision=27934
2009-01-23 16:55:55 +00:00
Alexandre Prokoudine
50dac2d667 updated and improved Russian translation
svn path=/branches/gimp-2-6/; revision=27933
2009-01-23 16:20:58 +00:00
Aron Xu
0660dabfd6 Updated Simplified Chinese translations.
svn path=/branches/gimp-2-6/; revision=27930
2009-01-22 17:02:24 +00:00
Sven Neumann
47060bab7a news update
svn path=/branches/gimp-2-6/; revision=27929
2009-01-22 08:52:18 +00:00
Tor Lillqvist
582f0d5455 Bug 559408 - Brushes dragged to the image window look strange
2009-01-22  Tor Lillqvist  <tml@iki.fi>

	Bug 559408 - Brushes dragged to the image window look strange 

	* app/widgets/gimppixbuf.c (gimp_pixbuf_format_compare): Drop
	Windows-specific code to prefer BMP. The BMP format written by
	gdk-pixbuf doesn't support alpha. PNG is better. Note that the
	same bug report also takes up a different problem.


svn path=/branches/gimp-2-6/; revision=27927
2009-01-22 00:41:39 +00:00
Aron Xu
443ba5aee9 Updated Simplified Chinese translations
svn path=/branches/gimp-2-6/; revision=27925
2009-01-21 17:21:12 +00:00
Aron Xu
6fb62f7688 Updated Simplified Chinese translations.
svn path=/branches/gimp-2-6/; revision=27924
2009-01-21 14:23:27 +00:00
Sven Neumann
c52492818c news update
svn path=/branches/gimp-2-6/; revision=27921
2009-01-18 16:25:10 +00:00
Aron Xu
eb75e1a7dc Updated zh_CN.po in gimp-libgimp
svn path=/branches/gimp-2-6/; revision=27916
2009-01-18 10:27:37 +00:00
Martin Nordholts
a9cee72400 Merged from trunk:
Bug 563337 – Rectangle Select Tool does not allow 1:1 fixed ratio

* libgimpwidgets/gimpnumberpairentry.c: When testing if the value
changed on focus-out we shall test against the current values, not
the default values.

svn path=/branches/gimp-2-6/; revision=27915
2009-01-18 08:22:20 +00:00
Sven Neumann
3b65308404 Merged from trunk:
2009-01-17  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 568016 – Black pullout parameter of plug-in-newsprint has
	no effect

	* plug-ins/common/newsprint.c: fixed the documentation of the
	colorspace parameter.


svn path=/branches/gimp-2-6/; revision=27909
2009-01-17 13:58:19 +00:00
Rajesh Ranjan
f40a196707 hindi update
svn path=/branches/gimp-2-6/; revision=27907
2009-01-16 12:02:09 +00:00
Rajesh Ranjan
3f932d338a hindi update
svn path=/branches/gimp-2-6/; revision=27906
2009-01-15 10:55:38 +00:00
Rajesh Ranjan
5f0e5ab5c6 hindi update
svn path=/branches/gimp-2-6/; revision=27905
2009-01-15 10:45:51 +00:00
Rajesh Ranjan
1a3cf63b8b hindi update
svn path=/branches/gimp-2-6/; revision=27904
2009-01-15 10:31:02 +00:00
Sven Neumann
029dd34c00 should also commit ChangeLog
svn path=/branches/gimp-2-6/; revision=27903
2009-01-13 21:10:02 +00:00
Sven Neumann
5f493b06c8 INSTALL autogen.sh looks like we need intltool >= 0.36.3 (and we recommend
2009-01-13  Sven Neumann  <sven@gimp.org>

	* INSTALL
	* autogen.sh
	* configure.in: looks like we need intltool >= 0.36.3 (and we
	recommend using an even newer version).


svn path=/branches/gimp-2-6/; revision=27901
2009-01-13 21:00:07 +00:00
Rajesh Ranjan
3cef306d30 hindi update by rajesh ranjan
svn path=/branches/gimp-2-6/; revision=27897
2009-01-07 09:19:50 +00:00
Martin Nordholts
a753356a2c Make the file compile...
svn path=/branches/gimp-2-6/; revision=27894
2009-01-04 14:27:32 +00:00
Martin Nordholts
effd83be85 Merged from trunk:
Bug 562818 – First image opened in GIMP offset

* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
Only rely on disp_width/height for border calculation if they are
larger than 1. If not, special-case the calculation so we don't
get a severly mispositioned image.

svn path=/branches/gimp-2-6/; revision=27893
2009-01-04 14:25:59 +00:00
Martin Nordholts
c4596bf7d8 Merged from trunk:
Bug 562213 – Align Tool doesn't work properly if it is the active
tool at startup

* app/tools/gimpaligntool.c: Perform NULL-pointer dodging to avoid
crashing.

svn path=/branches/gimp-2-6/; revision=27890
2009-01-04 12:19:11 +00:00
Jorge Gonzalez Gonzalez
496ff36bba Updated Spanish translation by Francisco Vila
svn path=/branches/gimp-2-6/; revision=27878
2009-01-02 12:10:05 +00:00
Rajesh Ranjan
92412d87a5 hindi update for gimp by Rajesh Ranjan
svn path=/branches/gimp-2-6/; revision=27877
2009-01-02 12:08:47 +00:00
Jorge Gonzalez Gonzalez
d5ad17cb67 Updated Spanish translation by Francisco Vila
svn path=/branches/gimp-2-6/; revision=27876
2009-01-02 11:43:47 +00:00
Jorge Gonzalez Gonzalez
54765ea504 Updated Spanish translation by Francisco Vila
svn path=/branches/gimp-2-6/; revision=27875
2009-01-02 10:56:14 +00:00
Jorge Gonzalez Gonzalez
3e26f4c0e6 Updated Spanish translation by Francisco Vila
svn path=/branches/gimp-2-6/; revision=27874
2009-01-02 10:51:16 +00:00
Sven Neumann
860a8c461c bumped version to 2.6.5 (interface age 5).
2009-01-01  Sven Neumann  <sven@gimp.org>

        * configure.in: bumped version to 2.6.5 (interface age 5).


svn path=/branches/gimp-2-6/; revision=27872
2009-01-01 15:02:24 +00:00
Sven Neumann
f9e8fb9991 Made 2.6.4 release.
2009-01-01  Sven Neumann  <sven@gimp.org>

        * Made 2.6.4 release.


svn path=/branches/gimp-2-6/; revision=27870
2009-01-01 14:58:45 +00:00
Sven Neumann
c295f28c4d Merged from trunk:
2009-01-01  Sven Neumann  <sven@gimp.org>

        Merged from trunk:

        Bug 565223 – Perspective transformation jagged edges / comb effect

        * app/core/gimp-transform-region.c: reverted the code change, but
        not the cleanups, from commit r26786.


svn path=/branches/gimp-2-6/; revision=27867
2009-01-01 13:58:08 +00:00
Rajesh Ranjan
487e416c42 hindi update
svn path=/branches/gimp-2-6/; revision=27865
2008-12-31 11:48:18 +00:00
Rajesh Ranjan
efd5c8f4bc hindi update
svn path=/branches/gimp-2-6/; revision=27864
2008-12-31 11:46:20 +00:00
Sven Neumann
0d669e76f6 updated list of translation updates
svn path=/branches/gimp-2-6/; revision=27858
2008-12-30 20:08:20 +00:00
Marco Ciampa
815c8c6af6 Updated italian translation
svn path=/branches/gimp-2-6/; revision=27855
2008-12-29 14:40:15 +00:00
Rajesh Ranjan
a988981c8f hindi gimp updated
svn path=/branches/gimp-2-6/; revision=27854
2008-12-29 12:16:34 +00:00
Duarte Loreto
0bd92c01ac Updated Portuguese translation by Bruno Queiros
2008-12-28  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation by Bruno Queiros
	<brunoqueiros@portugalmail.com>.

svn path=/branches/gimp-2-6/; revision=27852
2008-12-28 17:37:41 +00:00
Duarte Loreto
76d43759b6 Updated Portuguese translation by Bruno Queiros
2008-12-28  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation by Bruno Queiros
	<brunoqueiros@portugalmail.com>.

svn path=/branches/gimp-2-6/; revision=27851
2008-12-28 17:36:29 +00:00
Sven Neumann
f9d0c373d1 fixed handling of GEGL minor version number in compile-time check.
2008-12-28  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate): fixed
	handling of GEGL minor version number in compile-time check.


svn path=/branches/gimp-2-6/; revision=27847
2008-12-28 02:30:30 +00:00
Sven Neumann
2f8cf85eeb updated
svn path=/branches/gimp-2-6/; revision=27846
2008-12-28 02:20:37 +00:00
Sven Neumann
72ef363094 fixed typo in GEGL version number check.
2008-12-28  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate): fixed 
typo
	in GEGL version number check.


svn path=/branches/gimp-2-6/; revision=27845
2008-12-28 02:19:50 +00:00
Sven Neumann
0dbac3183b Merged from trunk:
2008-12-28  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 563985 – jpg save dialog: "cancel" is treated like "commit"
	for settings

	* plug-ins/file-jpeg/jpeg.c (run): only attach the comment and
	settings to the image if the save was successful.


svn path=/branches/gimp-2-6/; revision=27844
2008-12-28 02:11:31 +00:00
Sven Neumann
9d0e60e1bf news update for 2.6.4 release
svn path=/branches/gimp-2-6/; revision=27838
2008-12-27 23:39:44 +00:00
Sven Neumann
1eada4e802 Merged from trunk:
2008-12-27  Sven Neumann  <sven@gimp.org>

        Merged from trunk:

        Bug 564087 – Using clone tool on a layer with a part out of 
canvas
        causes crashes

        * app/paint/gimppaintcore.c (gimp_paint_core_paste): intersect 
the
        rectangle with the extents of the saved projection.


svn path=/branches/gimp-2-6/; revision=27836
2008-12-27 16:05:10 +00:00
Sven Neumann
1dec860bd1 Merged from trunk:
2008-12-27  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 564593 – crash when the drawable is changed while a color
	tools is active

	* app/core/gimpdrawable-shadow.c 
(gimp_drawable_merge_shadow_tiles):
	keep a reference to the shadow tiles because it might otherwise 
be
	free'd under our feet.


svn path=/branches/gimp-2-6/; revision=27833
2008-12-27 15:15:18 +00:00
Sven Neumann
502458b5d2 also commit the ChangeLog entry
svn path=/branches/gimp-2-6/; revision=27821
2008-12-21 15:50:36 +00:00
Sven Neumann
5cde3344f5 Merged from trunk:
2008-12-21  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 564869 – GIMP crashes on selecting Tools->GEGL operation

	* app/tools/gimptool.c (gimp_tool_initialize): check if the tool
	has set an error.


svn path=/branches/gimp-2-6/; revision=27820
2008-12-21 15:50:08 +00:00
Sven Neumann
952efd1fc2 Merged from trunk:
2008-12-21  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 565138 – python-fu-foggify does not check if image is in rgb 
mode

	* plug-ins/pygimp/plug-ins/foggify.py (foggify): fixed handling 
of
	grayscale images.


svn path=/branches/gimp-2-6/; revision=27818
2008-12-21 15:33:56 +00:00
Felix I
00532e4c68 tamil translation updated
svn path=/branches/gimp-2-6/; revision=27811
2008-12-18 10:29:47 +00:00
Gabor Kelemen
8cb2399a6d Translation updated.
2008-12-18  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.

svn path=/branches/gimp-2-6/; revision=27809
2008-12-18 08:58:03 +00:00
Sven Neumann
c7519202cc reverted last change, it was bogus
svn path=/branches/gimp-2-6/; revision=27807
2008-12-17 19:32:01 +00:00
Sven Neumann
4ef9010e25 Merged from trunk:
2008-12-17  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* plug-ins/common/file-png.c (load_image) (save_image): use a 
tile
	cache to optimize pixel access.


svn path=/branches/gimp-2-6/; revision=27806
2008-12-17 19:26:09 +00:00
Gabor Kelemen
c805ee969a Translation updated by Arpad Biro.
2008-12-17  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated by Arpad Biro.

svn path=/branches/gimp-2-6/; revision=27803
2008-12-17 00:26:48 +00:00
Gabor Kelemen
0098ac4fbd Translation updated by Arpad Biro.
2008-12-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated by Arpad Biro.

svn path=/branches/gimp-2-6/; revision=27794
2008-12-15 00:41:21 +00:00
Gabor Kelemen
e9f606917e Translation updated by Arpad Biro.
2008-12-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated by Arpad Biro.

svn path=/branches/gimp-2-6/; revision=27793
2008-12-15 00:14:11 +00:00
Gabor Kelemen
05cc3ef351 Translation updated by Arpad Biro.
2008-12-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated by Arpad Biro.

svn path=/branches/gimp-2-6/; revision=27792
2008-12-14 23:43:32 +00:00
Gabor Kelemen
72a27966aa Translation updated by Arpad Biro.
2008-12-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated by Arpad Biro.

svn path=/branches/gimp-2-6/; revision=27791
2008-12-14 23:38:57 +00:00
Gabor Kelemen
ba6ccc8e16 Translation updated by Arpad Biro.
2008-12-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated by Arpad Biro.

svn path=/branches/gimp-2-6/; revision=27790
2008-12-14 23:34:51 +00:00
Gabor Kelemen
1a996fa051 Translation updated.
2008-12-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.

svn path=/branches/gimp-2-6/; revision=27789
2008-12-14 23:12:28 +00:00
Aron Xu
216b0f2e76 Fixed problem of zh_CN.po
svn path=/branches/gimp-2-6/; revision=27786
2008-12-13 15:52:30 +00:00
Aron Xu
bcbd2fb9ea Updated Simplified Chinese translation
svn path=/branches/gimp-2-6/; revision=27785
2008-12-13 15:42:47 +00:00
Aron Xu
eca52e47ba Updated Simplified Chinese translations for gimp-2.6
svn path=/branches/gimp-2-6/; revision=27769
2008-12-07 14:42:16 +00:00
Aron Xu
6b7134cc16 Updated Simplified Chinese translation by kappa0806.
svn path=/branches/gimp-2-6/; revision=27767
2008-12-06 08:52:41 +00:00
Sven Neumann
e74df7b28d Merged from trunk:
2008-12-04  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 563130 – Hue selection mode does not cross the 0-360 degrees 
line

	* app/core/gimpimage-contiguous-region.c (pixel_difference):
	applied patch from Daniel Hornung.


svn path=/branches/gimp-2-6/; revision=27765
2008-12-04 20:59:42 +00:00
Martin Nordholts
627736b8d1 Merged from trunk:
Bug 563179 – Scrollbars not resized when we extend the canvas size

* app/display/gimpdisplayshell-handlers.c
(gimp_display_shell_size_changed_detailed_handler): Add explicit
call to gimp_display_shell_scroll_clamp_and_update() at the end to
make sure it is called.

svn path=/branches/gimp-2-6/; revision=27763
2008-12-04 20:26:14 +00:00
Sven Neumann
9a3e7c5557 Merged from trunk:
2008-12-04  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* tools/pdbgen/pdb/convert.pdb: fixed an error in the 
documentation
	of the gimp-image-convert-rgb procedure.

	* app/pdb/convert-cmds.c
	* libgimp/gimpconvert_pdb.c: regenerated.


svn path=/branches/gimp-2-6/; revision=27759
2008-12-04 11:10:14 +00:00
Simos Xenitellis
30130874e9 Updated Greek translation by Nikolaos Pantazis.
svn path=/branches/gimp-2-6/; revision=27752
2008-12-03 14:54:23 +00:00
Sven Neumann
beaca73f41 when compiling against GEGL from trunk, use "gegl:translate" instead of
2008-12-03  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_apply): when compiling
	against GEGL from trunk, use "gegl:translate" instead of 
"shift".


svn path=/branches/gimp-2-6/; revision=27748
2008-12-03 11:25:28 +00:00
Aron Xu
71fe89d878 Updated zh_CN.po for gimp-2.6
svn path=/branches/gimp-2-6/; revision=27747
2008-12-02 15:50:43 +00:00
Sven Neumann
420ff86aa2 Merged from trunk:
2008-11-27  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 562459 – PF_PALETTE: 'TypeError' when used in a plugin that 
is
	registered in <Image>

	* plug-ins/pygimp/gimpui.defs (gimp_palette_select_button_new):
	the 'title' parameter is optional.


svn path=/branches/gimp-2-6/; revision=27736
2008-11-27 20:50:03 +00:00
Daniel Nylander
9dfd140dc2 sv.po: Updated Swedish translation
svn path=/branches/gimp-2-6/; revision=27734
2008-11-27 20:08:30 +00:00
Michael Natterer
dcc79eec24 Merged from trunk:
2008-11-27  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	Bug 562427 – Compilation with --as-needed

	* app/Makefile.am (gimp_console_2_7_LDADD): add $(GLIB_LIBS) so
	libgthread gets pulled in explicitely.


svn path=/branches/gimp-2-6/; revision=27733
2008-11-27 19:24:24 +00:00
Sven Neumann
b4459bb65b Merged from trunk:
2008-11-27  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 562386 – PF_SLIDER and PF_SPINNER 'Step' values do not 
change
	consistently...

	* plug-ins/pygimp/gimpfu.py (SliderEntry): set the precision on
	the slider just as we do it for the spin-button.


svn path=/branches/gimp-2-6/; revision=27731
2008-11-27 12:58:16 +00:00
Sven Neumann
95438acb2e Merged from trunk:
2008-11-27  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* plug-ins/pygimp/gimpfu.py (SpinnerEntry): let SpinnerEntry
	return a float instead of trying to convert the value to an int.


svn path=/branches/gimp-2-6/; revision=27729
2008-11-27 11:53:11 +00:00
Sven Neumann
50bf14ad79 Merged from trunk:
2008-11-27  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 562386 – PF_SLIDER and PF_SPINNER 'Step' values do not 
change
	consistently...

	* plug-ins/pygimp/gimpfu.py (SpinnerEntry): initialize the
	spin-button the way that gtk_spin_button_new_with_range() is
	implemented.


svn path=/branches/gimp-2-6/; revision=27727
2008-11-27 10:25:59 +00:00
Martin Nordholts
87a36289f6 Merged from trunk:
Bug 562366 – Default image dimensions are not correctly
transferred in the file/new dialog box

* app/dialogs/preferences-dialog.c
(prefs_template_select_callback): We need to copy the template in
the same way as in the New Image dialog.

* app/dialogs/image-new-dialog.c (image_new_dialog_set): ... and
when we copy the template to the New Image dialog.

svn path=/branches/gimp-2-6/; revision=27725
2008-11-27 07:28:38 +00:00
Matic Žgur
bb701a93ce Updated Slovenian translation.
svn path=/branches/gimp-2-6/; revision=27723
2008-11-26 20:44:51 +00:00
Martin Nordholts
12a1ab7e11 Merged from trunk:
Bug 562366 – Default image dimensions are not correctly
transferred in the file/new dialog box

* app/dialogs/preferences-dialog.c
(prefs_template_select_callback): We need to copy the template in
the same way as in the New Image dialog.

svn path=/branches/gimp-2-6/; revision=27721
2008-11-26 19:18:37 +00:00
Changwoo Ryu
323b5c63f4 Updated Korean translation by Choi, Ji-Hui
svn path=/branches/gimp-2-6/; revision=27717
2008-11-25 13:15:27 +00:00
Takeshi AIHANA
a9afbf144f Fixed Japanese translation by Kiyotaka Nishibori.
2008-11-24  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Fixed Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27713
2008-11-24 00:21:45 +00:00
Sven Neumann
bb5288edb2 Merged from trunk:
2008-11-22  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 561899 – GIMP can't save to mounted filesystem if file 
exists

	* plug-ins/file-uri/uri-backend-gvfs.c (copy_uri): pass the
	G_FILE_COPY_OVERWRITE flag to g_file_copy().


svn path=/branches/gimp-2-6/; revision=27710
2008-11-22 16:56:12 +00:00
Aron Xu
9c1a56ca48 Updated Simplified Chinese translations
svn path=/branches/gimp-2-6/; revision=27706
2008-11-22 11:22:35 +00:00
Aron Xu
ddeaefad21 Updated Simplified Chinese translations.
svn path=/branches/gimp-2-6/; revision=27705
2008-11-22 08:03:08 +00:00
Sven Neumann
1cf264c333 bumped version to 2.6.4 (interface age 4).
2008-11-21  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version to 2.6.4 (interface age 4).


svn path=/branches/gimp-2-6/; revision=27701
2008-11-21 19:57:19 +00:00
Sven Neumann
9b77a17ab1 Made 2.6.3 release.
2008-11-21  Sven Neumann  <sven@gimp.org>

	* Made 2.6.3 release.


svn path=/branches/gimp-2-6/; revision=27699
2008-11-21 19:53:42 +00:00
Sven Neumann
231478f87e news update
svn path=/branches/gimp-2-6/; revision=27687
2008-11-19 10:22:53 +00:00
Sven Neumann
e88b920e95 fixed typo
svn path=/branches/gimp-2-6/; revision=27686
2008-11-19 08:19:52 +00:00
Sven Neumann
59e86cd7f7 Merged from trunk:
2008-11-19  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 558454 – Plugin Map Color Range disapears from GIMP

	* plug-ins/script-fu/scripts/Makefile.am

	* plug-ins/script-fu/scripts/plug-in-compat.init: new file
	providing compatibility with plug-ins from older GIMP
	versions. Contains a reimplementation of plug-in-color-map based
	on ideas and code from Eric Lamarque.

	* plug-ins/script-fu/scheme-wrapper.c (tinyscheme_init): load 
the
	plug-in-compat.init file.


svn path=/branches/gimp-2-6/; revision=27684
2008-11-19 08:17:55 +00:00
Martin Nordholts
da51068265 Merged from trunk:
Bug 559239 – Error while loading psd-data

* plug-ins/file-psd/psd-layer-res-load.c (load_layer_resource):
Layer resource data should not be padded.

svn path=/branches/gimp-2-6/; revision=27681
2008-11-18 19:56:53 +00:00
Sven Neumann
bf06538f08 added list of updated translations
svn path=/branches/gimp-2-6/; revision=27678
2008-11-17 12:52:44 +00:00
Ihar Hrachyshka
f589f79dad Updated Belarusian translation.
svn path=/branches/gimp-2-6/; revision=27673
2008-11-16 20:16:24 +00:00
Sven Neumann
4d960c813c updated list of bug-fixes for the 2.6.3 release
svn path=/branches/gimp-2-6/; revision=27665
2008-11-15 18:44:15 +00:00
Sven Neumann
5e7fea1fa0 Merged from trunk:
2008-11-15  Sven Neumann  <sven@gimp.org>

 	Merged from trunk:

	* app/display/gimpdisplayshell-scroll.[ch]: removed function
	gimp_display_shell_scroll_get_scaled_viewport_offset() as it was
	only returning -shell->offset_x and -shell->offset_y and it
	started to show up in profiles.

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpdisplayshell-scale.c: use the shell offsets
	directly.


svn path=/branches/gimp-2-6/; revision=27664
2008-11-15 18:41:58 +00:00
Martin Nordholts
7b16775970 Format ChangeLog..
svn path=/branches/gimp-2-6/; revision=27655
2008-11-15 10:40:35 +00:00
Martin Nordholts
4a69180038 Merged from trunk:
Bug 560903 – Explicit zooming with e.g. '1' should handle
zoom-focus better

* app/display/display-enums.h: Added
GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS.

* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_get_zoom_focus): Take the new enum into
account; if the image is centered, keep it centered, else use the
best-guess method.

* app/actions/view-commands.c (view_zoom_explicit_cmd_callback):
Use the new enum for explicit zooming.

svn path=/branches/gimp-2-6/; revision=27654
2008-11-15 10:30:36 +00:00
Martin Nordholts
deeb37611d Merged from trunk:
Bug 560245 – Zoom selection always centered in the Navigation tab

* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
Also take the image center and not only the zoom focus point into
account when deciding whether or not to center the image after
zoom.

svn path=/branches/gimp-2-6/; revision=27652
2008-11-15 08:07:43 +00:00
Sven Neumann
7e613cb725 added a missing entry and changed list order
svn path=/branches/gimp-2-6/; revision=27648
2008-11-14 08:06:27 +00:00
Sven Neumann
579196d85f news update in preparation of 2.6.3 release
svn path=/branches/gimp-2-6/; revision=27647
2008-11-14 08:02:28 +00:00
Sven Neumann
f7a24e615a Bug 559490 – Wrong lang tags for 'no'
2008-11-14  Sven Neumann  <sven@gimp.org>

	Bug 559490 – Wrong lang tags for 'no'

	* nb.po
	* nn.po: fixed tips locales.


svn path=/branches/gimp-2-6/; revision=27645
2008-11-14 07:24:35 +00:00
Sven Neumann
46df773a7c Merged from trunk:
2008-11-14  Sven Neumann  <sven@gimp.org>

 	Merged from trunk:

	* app/display/gimpdisplayshell-preview.c
	(gimp_display_shell_draw_quad): check that the resulting area 
has
	positive width and height.


svn path=/branches/gimp-2-6/; revision=27643
2008-11-13 23:15:10 +00:00
Sven Neumann
b9f26b0878 Merged from trunk:
2008-11-13  Sven Neumann  <sven@gimp.org>

 	Merged from trunk:

	Bug 559292 – SOTA Chrome cannot accept different textures

	* app/pdb/gimppdb-utils.c (gimp_pdb_image_is_base_type)
	(gimp_pdb_image_is_not_base_type): gimp_object_get_name() may 
	return NULL for images. Use gimp_image_get_uri() instead.


svn path=/branches/gimp-2-6/; revision=27636
2008-11-13 08:21:47 +00:00
Sven Neumann
39bc923949 Merged from trunk:
2008-11-11  Sven Neumann  <sven@gimp.org>

 	Merged from trunk:

	Bug 560375 – Clearing an already empty document history crashes 
GIMP

	* app/actions/documents-commands.c 
(documents_clear_cmd_callback):
	gtk_recent_manager_purge_items() may return 0 but not set an
	error.


svn path=/branches/gimp-2-6/; revision=27621
2008-11-11 20:10:53 +00:00
Mugurel Tudor
97090b5e83 Updated Romanian translation by Cristian Secară <cristi AT secarica DOT
2008-11-11  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation
	by Cristian Secară <cristi AT secarica DOT ro>

svn path=/branches/gimp-2-6/; revision=27619
2008-11-11 18:36:33 +00:00
Michael Natterer
d0f8b82b49 Merged from trunk:
2008-11-11  Michael Natterer  <mitch@gimp.org>

 	Merged from trunk:

	Bug 559580 – Image windows need better default locations

	* app/display/gimpdisplayshell.c (gimp_display_shell_style_set):
	Only set GDK_HINT_USER_POS on the empty display because it gets a
	position set by gimp. All other displays should be placed by the
	window manager. Fixes all displays appearing at 0,0.


svn path=/branches/gimp-2-6/; revision=27616
2008-11-11 10:16:41 +00:00
Sven Neumann
3bde105cc6 Merged from trunk:
2008-11-11  Sven Neumann  <sven@gimp.org>

 	Merged from trunk:

	Bug 560283 – "Scale image..." causes distortion around edges.

	* app/paint-funcs/scale-region.c (scale): corrected fix for
	bug #556248.


svn path=/branches/gimp-2-6/; revision=27613
2008-11-11 07:48:13 +00:00
Sven Neumann
8e76c83094 Merged from trunk:
2008-11-11  Sven Neumann  <sven@gimp.org>

 	Merged from trunk:

	* plug-ins/common/file-pdf.c: fixed size of the GimpParam array
	used for the return values.


svn path=/branches/gimp-2-6/; revision=27611
2008-11-10 23:18:28 +00:00
Martin Nordholts
22ca0ca2ec Merged from trunk:
Bug 559716 – Changing crop size in Crop Tool Options can make UI
unresponsive

* app/tools/gimprectangletool.c: Accept a broader range of x, y,
width and height values from the tool options so we don't end up
in an infinite signal emission loop.

svn path=/branches/gimp-2-6/; revision=27606
2008-11-10 20:19:59 +00:00
Michael Natterer
2363b9da61 Merged from trunk:
2008-11-10  Michael Natterer  <mitch@gimp.org>

 	Merged from trunk:

	* app/core/gimpdrawable-curves.c (gimp_drawable_curves_explicit):
	use GIMP_CURVE_FREE, not _SMOOTH. Fixes the resp. PDB call.


svn path=/branches/gimp-2-6/; revision=27602
2008-11-10 15:19:21 +00:00
Sven Neumann
ce84deadad updated German translation.
2008-11-10  Sven Neumann  <sven@gimp.org>

	* de.po: updated German translation.


svn path=/branches/gimp-2-6/; revision=27596
2008-11-10 08:50:03 +00:00
Sven Neumann
822c75a811 added file with a new string that was needed to fix a crash.
2008-11-10  Sven Neumann  <sven@gimp.org>

	* POTFILES.in: added file with a new string that was needed to 
fix
	a crash.


svn path=/branches/gimp-2-6/; revision=27594
2008-11-10 08:07:35 +00:00
Martin Nordholts
bdd117f7a3 Merged from trunk:
Bug 558549 – Stroking a single-point path with a paint tool
crashes GIMP

* app/paint/gimppaintcore-stroke.c
(gimp_paint_core_stroke_vectors): Return an error message if there
were not enough points to stroke.

* app/dialogs/stroke-dialog.c (stroke_dialog_response): Guard
against crashes if an implementator forgets to set an error.

svn path=/branches/gimp-2-6/; revision=27590
2008-11-09 20:49:44 +00:00
Martin Nordholts
1adaf5d4bb Merged from trunk:
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_update_rulers): Avoid critical warnings
when converting an image window with a unit other than pixels into
a the empty image window. Probably fixes some of the crashes
reported by Windows users.

svn path=/branches/gimp-2-6/; revision=27587
2008-11-09 19:59:40 +00:00
Wadim Dziedzic
e0569162a7 Updated Polish translation by Bartosz Kosiorek
2008-11-08  Wadim Dziedzic  <wdziedzic@aviary.pl>

	* pl.po: Updated Polish translation by Bartosz Kosiorek

svn path=/branches/gimp-2-6/; revision=27575
2008-11-08 21:05:58 +00:00
Sven Neumann
6793220b35 Merged from trunk:
2008-11-04  Sven Neumann  <sven@gimp.org>

 	Merged from trunk:

	* app/display/gimpdisplayshell-dnd.c
	(gimp_display_shell_drop_uri_list): when dropping multiple 
images
	to the empty image window, open them as seperate images.


svn path=/branches/gimp-2-6/; revision=27555
2008-11-04 22:34:45 +00:00
Sven Neumann
c962de9995 app/file/file-procedure.c app/file/file-save.c be careful when passing
2008-11-04  Sven Neumann  <sven@gimp.org>

	* app/file/file-procedure.c
	* app/file/file-save.c
	* app/pdb/gimpprocedure.c: be careful when passing literal 
strings
	to g_set_error().


svn path=/branches/gimp-2-6/; revision=27550
2008-11-04 12:36:01 +00:00
Michael Natterer
734d303422 Merged from trunk:
2008-11-03  Michael Natterer  <mitch@gimp.org>

 	Merged from trunk:

	Bug 559015 – Move tool gives bad information about px moved

	* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
	set cursor precision to PIXEL_BORDER because that's what the move
	tool snaps to.

	Unrelated: set CENTER_CROSS_SIZE to an odd number so it's drawn
	symmetrically.


svn path=/branches/gimp-2-6/; revision=27534
2008-11-03 19:33:07 +00:00
Wouter Bolsterlee
18271766d8 Updated Dutch translations by Filip Vervloesem.
2008-11-01  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* Updated Dutch translations by Filip Vervloesem.

svn path=/branches/gimp-2-6/; revision=27516
2008-11-01 14:58:14 +00:00
Takeshi AIHANA
4b331aa251 Fixed Japanese translation by Kiyotaka Nishibori.
2008-11-01  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Fixed Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27508
2008-11-01 02:15:36 +00:00
Takeshi AIHANA
862570bb91 Fixed Japanese translation by Kiyotaka Nishibori.
2008-11-01  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Fixed Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27507
2008-11-01 02:14:13 +00:00
Takeshi AIHANA
6d9b3ce298 Fixed Japanese translation by Kiyotaka Nishibori.
2008-11-01  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Fixed Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27506
2008-11-01 02:12:20 +00:00
Takeshi AIHANA
392935c9fe Fixed Japanese translation by Kiyotaka Nishibori.
2008-11-01  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Fixed Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27505
2008-11-01 02:10:58 +00:00
Takeshi AIHANA
d939fcb1e4 Fixed Japanese translation by Kiyotaka Nishibori.
2008-11-01  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Fixed Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27504
2008-11-01 02:09:34 +00:00
Takeshi AIHANA
bf73252534 Fixed Japanese translation by Kiyotaka Nishibori.
2008-11-01  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Fixed Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27503
2008-11-01 02:08:11 +00:00
Sven Neumann
ca80cf72b4 Bug 558660 – help behavior for locales without manual translation
2008-10-31  Sven Neumann  <sven@gimp.org>

	Bug 558660 – help behavior for locales without manual 
translation
	
	* app/widgets/gimphelp.c (gimp_help_user_manual_is_installed):
	as a fallback check for the english user manual.


svn path=/branches/gimp-2-6/; revision=27501
2008-10-31 20:01:24 +00:00
Žygimantas Beručka
a4bd329270 Updated Lithuanian translation.
2008-10-30  Žygimantas Beručka  <zygis@gnome.org>

        * lt.po: Updated Lithuanian translation.

svn path=/branches/gimp-2-6/; revision=27479
2008-10-30 13:47:12 +00:00
Sven Neumann
28ba204bb5 bumped version to 2.6.3 (interface age 3).
2008-10-30  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version to 2.6.3 (interface age 3).


svn path=/branches/gimp-2-6/; revision=27478
2008-10-30 12:19:12 +00:00
Sven Neumann
f9b8861f17 Made 2.6.2 release.
2008-10-30  Sven Neumann  <sven@gimp.org>

        * Made 2.6.2 release.


svn path=/branches/gimp-2-6/; revision=27476
2008-10-30 12:17:26 +00:00
Sven Neumann
e3a95e0625 Backed out this change for now as it causes problem with some window
2008-10-30  Sven Neumann  <sven@gimp.org>

	Backed out this change for now as it causes problem with some
	window managers:

        Bug 556896 – Dialogs don't get minimized with single image 
window

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplay-foreach.[ch]
	* app/widgets/gimpdialogfactory.[ch]: merged changes from trunk.
	Hide the toolbox and docks if the last display is iconified.
	Unhide them if a display is uniconified.


svn path=/branches/gimp-2-6/; revision=27475
2008-10-29 23:27:16 +00:00
Sven Neumann
b9a232a130 another news update for 2.6.2
svn path=/branches/gimp-2-6/; revision=27474
2008-10-29 23:08:20 +00:00
Sven Neumann
c7062fbe13 Merged from trunk:
2008-10-29  Sven Neumann  <sven@gimp.org>

 	Merged from trunk:

	Bug 557950 – Scaling in Gimp 2.6 is much slower than in Gimp 2.4

        * app/paint-funcs/scale-region.c: don't do multi-pass scaling
	when we are scaling up.


svn path=/branches/gimp-2-6/; revision=27473
2008-10-29 22:51:29 +00:00
Martin Nordholts
ff3915faad Merged from trunk:
Bug 558215 – unit and zoom entries in Statusbar not visible

* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_size_allocate): Don't try to be clever,
call gimp_display_shell_scaled() whenever the canvas size changes
so a newly created display shell gets updated properly.

svn path=/branches/gimp-2-6/; revision=27471
2008-10-29 22:38:03 +00:00
Sven Neumann
c49a888f90 Merged from trunk:
2008-10-29  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 558451 – Cannot build GIMP using Sun CC on Solaris 2.8

	* app/pdb/gimp-pdb-compat.c
	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c
	* app/tools/gimpgegltool.c: applied patches from Eric Lamarque
	fixing the build using Sun CC on Solaris.


svn path=/branches/gimp-2-6/; revision=27468
2008-10-29 22:25:13 +00:00
Sven Neumann
da52731c61 news update for 2.6.2
svn path=/branches/gimp-2-6/; revision=27463
2008-10-29 19:46:38 +00:00
Sven Neumann
9b6b2150f3 Merged from trunk:
2008-10-29  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 558420 – projection incorrect with alpha-less layers

	* app/core/gimpprojection-construct.c 
(gimp_projection_initialize):
	need to initialize the projection if the covering layer is not
	opaque.


svn path=/branches/gimp-2-6/; revision=27461
2008-10-29 19:18:37 +00:00
Martin Nordholts
c7da31ff67 Merged from trunk:
Bug 556603 – Zoom region always zooms in center of image

* app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
When zooming with a click, use gimp_display_shell_scale() instead
of local zoom logic.

svn path=/branches/gimp-2-6/; revision=27454
2008-10-28 18:24:42 +00:00
Petr Kovář
f141af3118 Fixed Czech translation (bug #517967).
svn path=/branches/gimp-2-6/; revision=27447
2008-10-27 23:28:56 +00:00
Leonardo Ferreira Fontenelle
e116ec86f6 Updated Brazilian Portuguese translation.
2008-10-26  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>

	* pt_BR.po: Updated Brazilian Portuguese translation.

svn path=/branches/gimp-2-6/; revision=27414
2008-10-26 16:07:36 +00:00
Michael Natterer
22df4530dd Merged from trunk:
2008-10-25  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	Bug 557870 – "Qmask" message popping up here and there

	* app/display/gimpdisplayshell-title.c
	(gimp_display_shell_format_title): use
	gimp_viewable_get_description() instead of gimp_object_get_name()
	for displaying the active drawable's name so the quick mask and
	the floating selection have the same names as in the
	layers/channels dialogs.


svn path=/branches/gimp-2-6/; revision=27406
2008-10-25 15:30:28 +00:00
Sven Neumann
b431ad5b7c Bug 557705 – compatibility with GEGL > 0.0.20
2008-10-24  Sven Neumann  <sven@gimp.org>

	Bug 557705 – compatibility with GEGL > 0.0.20

	* app/core/gimpdrawable-brightness-contrast.c
	* app/core/gimpdrawable-invert.c
	* app/tools/gimpbrightnesscontrasttool.c: choose GEGL operation
	names based on the GEGL version we are being used with.


svn path=/branches/gimp-2-6/; revision=27391
2008-10-24 18:39:48 +00:00
Sven Neumann
546bad8d6c added gimp_gegl_check_version(), a run-time GEGL version check.
2008-10-24  Sven Neumann  <sven@gimp.org>

	* app/gegl/gimp-gegl-utils.[ch]: added 
gimp_gegl_check_version(),
	a run-time GEGL version check.

	* app/core/gimpimagemap.c (gimp_image_map_apply): use the new
	function to determine the names of the GEGL ops to use.


svn path=/branches/gimp-2-6/; revision=27389
2008-10-24 15:56:57 +00:00
Sven Neumann
5c4e7329cc also commit ChangeLog entry...
svn path=/branches/gimp-2-6/; revision=27387
2008-10-24 07:25:18 +00:00
Sven Neumann
3f3b0629f2 Bug 556896 – Dialogs don't get minimized with single image window
2008-10-24  Sven Neumann  <sven@gimp.org>

        Bug 556896 – Dialogs don't get minimized with single image 
window

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplay-foreach.[ch]
	* app/widgets/gimpdialogfactory.[ch]: merged changes from trunk.
	Hide the toolbox and docks if the last display is iconified.
	Unhide them if a display is uniconified.


svn path=/branches/gimp-2-6/; revision=27386
2008-10-24 07:23:52 +00:00
Sven Neumann
b3fc164e3a Merged from trunk:
2008-10-24  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

        Bug 556248 – Scaling gives 'jagged' edges

        * app/paint-funcs/scale-region.c (scale): calculate pixel
        contributions based on pixel centers, not on pixel origins.


svn path=/branches/gimp-2-6/; revision=27381
2008-10-23 22:11:02 +00:00
Michael Natterer
5fec7a5fec Merged from trunk:
2008-10-23  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	* app/plug-in/gimppluginprocframe.c
	(gimp_plug_in_proc_frame_dispose): set proc_frame->procedure to
	NULL *after* calling gimp_plug_in_cleanup(). Fixes the crash on
	windows in bug #557061 (but not the bug).


svn path=/branches/gimp-2-6/; revision=27377
2008-10-23 17:14:22 +00:00
Sven Neumann
05f306be9a fixed configure output
svn path=/branches/gimp-2-6/; revision=27373
2008-10-22 22:08:40 +00:00
Sven Neumann
c827e2f876 Merged from trunk:
2008-10-23  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* configure.in: removed check for Carbon and added a test for 
the
	target OS being Darwin instead.

	* app/config/gimpguiconfig.c: use PLATFORM_OSX instead of
	HAVE_CARBON to determine the default "web-browser" command.


svn path=/branches/gimp-2-6/; revision=27371
2008-10-22 22:05:18 +00:00
Sven Neumann
506c041b6c Merged from trunk:
2008-10-22  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* plug-ins/print/print-preview.c 
(print_preview_leave_notify_event):
	check the crossing mode and don't unset the "inside" flag when 
the
	event is caused by a pointer grab/ungrab.


svn path=/branches/gimp-2-6/; revision=27369
2008-10-22 20:34:59 +00:00
Martin Nordholts
8e0eec5e24 Bug 556804 – Zoom drop down doesn't update
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-callbacks.c: Fix calls to
gimp_display_shell_scaled() when Resize window on zoom is enabled.

svn path=/branches/gimp-2-6/; revision=27367
2008-10-22 19:03:41 +00:00
Sven Neumann
61fce9da50 Merged from trunk:
2008-10-22  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 524615 – Print not to scale

	* plug-ins/print/print.c: set the unit for dimensions on the 
Cairo
	context used for printing to GTK_UNIT_PIXELS.

	* plug-ins/print/print-draw-page.c (print_draw_page): changed 
the
	Cairo scale factors accordingly. Seems to fix printing on 
Windows.


svn path=/branches/gimp-2-6/; revision=27365
2008-10-22 15:02:26 +00:00
Sven Neumann
7eddc7067e Merged from trunk:
2008-10-22  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* app/widgets/gimpprogressbox.c: set box->progress to NULL in
	destroy() and check for progress being NULL in various places so
	we don't crash on API calls after the widget is destroyed.


svn path=/branches/gimp-2-6/; revision=27363
2008-10-22 11:04:48 +00:00
Sven Neumann
f40d14687e Merged from trunk:
2008-10-22  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 555246 – gimp crashes when a file is opened while a preview 
is
	generating

	* app/widgets/gimpthumbbox.c: set box->progress to NULL in
	destroy() and check for progress being NULL in various places so
	we don't crash on API calls after the widget is destroyed.


svn path=/branches/gimp-2-6/; revision=27361
2008-10-22 07:28:33 +00:00
Sven Neumann
74099ec043 Merged from trunk:
2008-10-22  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 556741 – Alpha layer automatically added (in psd format) but
	not desired

	* plug-ins/file-psd/psd-save.c: applied patch from Dennis Ranke
	that flattens the projection for indexed images.


svn path=/branches/gimp-2-6/; revision=27359
2008-10-22 06:48:02 +00:00
Sven Neumann
8ea8575729 Merged from trunk:
2008-10-22  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 555246 – gimp crashes when a file is opened while a preview 
is
	generating

        * app/widgets/gimpfiledialog.c: set dialog->progress to NULL in
        destroy() and check for progress being NULL in various places so
        we don't crash on API calls after the widget is destroyed.


svn path=/branches/gimp-2-6/; revision=27355
2008-10-22 05:58:20 +00:00
Sven Neumann
66878a5596 Merged from trunk:
2008-10-21  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate):
	GEGL_IS_PARAM_SPEC_PATH() became GEGL_IS_PARAM_SPEC_FILE_PATH()
	in GEGL 0.0.21.

	* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): for the
	combo-box, strip known prefixes from the GEGL operation names 
and
	use icons instead.


svn path=/branches/gimp-2-6/; revision=27352
2008-10-21 14:37:06 +00:00
Sven Neumann
48bb457d2d no need for "gimp:" in the 2.6 blacklist
svn path=/branches/gimp-2-6/; revision=27349
2008-10-21 11:08:30 +00:00
Sven Neumann
01f7d36fb7 make the operations blacklist work with GEGL >= 0.0.21.
2008-10-21  Sven Neumann  <sven@sven>

	* app/tools/gimpgegltool.c 
(gimp_gegl_tool_operation_blacklisted):
	make the operations blacklist work with GEGL >= 0.0.21.


svn path=/branches/gimp-2-6/; revision=27348
2008-10-21 11:05:56 +00:00
Sven Neumann
98d91c753c Merged from trunk:
2008-10-21  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* app/actions/file-commands.c (file_open_recent_cmd_callback): 
ref
	the GimpDisplay and GimpImageFile objects while holding a
	reference to them. Fixes a potential crash if GIMP is closed 
while
	the image is being loaded.


svn path=/branches/gimp-2-6/; revision=27347
2008-10-21 07:52:15 +00:00
Kenneth Nielsen
8635688949 Updated Danish translation
svn path=/branches/gimp-2-6/; revision=27344
2008-10-20 20:59:52 +00:00
Sven Neumann
e74d529b5b Merged from trunk:
2008-10-20  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* app/widgets/gimperrorconsole.c (gimp_error_console_init): 
don't
	make the font size even smaller. We already use a smaller font 
in
	the dock windows.


svn path=/branches/gimp-2-6/; revision=27342
2008-10-20 13:49:34 +00:00
Timo Jyrinki
d748c9b6e0 updated Finnish translation
svn path=/branches/gimp-2-6/; revision=27336
2008-10-20 12:47:38 +00:00
Gil Forcada Codinachs
c9bd78cd16 Updated Catalan translation by Joaquim Perez
svn path=/branches/gimp-2-6/; revision=27313
2008-10-18 17:07:35 +00:00
Sven Neumann
1dedf9dd93 Merged from trunk:
2008-10-17  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* plug-ins/file-psd/psd-save.c (xfwrite): fixed handling of 
empty
	strings. Don't quit silently, write an error message to stderr 
at
	least.


svn path=/branches/gimp-2-6/; revision=27303
2008-10-17 20:30:54 +00:00
Sven Neumann
fd440511ec another ChangeLog entry fix
svn path=/branches/gimp-2-6/; revision=27300
2008-10-17 16:35:45 +00:00
Sven Neumann
d1ece07d46 fixed ChangeLog entry
svn path=/branches/gimp-2-6/; revision=27299
2008-10-17 16:35:08 +00:00
Sven Neumann
fd794dcd81 Merged from trunk:
2008-10-17  Sven Neumann  <sven@sven>

	Merged from trunk:

	* app/core/gimp.[ch]: added signal Gimp::image-opened to 
announce
	that an image has been loaded and a display was created for it.

	* app/file/file-open.c (file_open_with_proc_and_display): call
	gimp_opened() to emit the new signal.

	* app/gui/dbus-service.xml
	* app/gui/gimpdbusservice.[ch]: propagate the 'opened' signal to
	listeners of the "org.gimp.GIMP.UI" DBus service.

	* app/gui/gui-unique.c: formatting.


svn path=/branches/gimp-2-6/; revision=27298
2008-10-17 12:04:32 +00:00
Kenneth Nielsen
0f1c045e6e Updated Danish translation
svn path=/branches/gimp-2-6/; revision=27295
2008-10-16 22:11:24 +00:00
Wadim Dziedzic
1509ad199a Updated Polish translation by Bartosz Kosiorek
2008-10-15  Wadim Dziedzic  <wdziedzic@aviary.pl>

	* pl.po: Updated Polish translation by Bartosz Kosiorek

svn path=/branches/gimp-2-6/; revision=27291
2008-10-15 19:34:00 +00:00
Sven Neumann
ee0700eab4 Merged from trunk:
2008-10-14  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* themes/Default/images/stock-gegl.svg
	* themes/Default/images/stock-gegl-22.svg
	* themes/Default/images/stock-gegl-22.png: remove white from the
	shadow to render correctly on dark backgrounds.


svn path=/branches/gimp-2-6/; revision=27289
2008-10-15 16:22:21 +00:00
Sven Neumann
1f964d809b Merged from trunk:
2008-10-14  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* app/widgets/gimpdialogfactory.c 
(gimp_dialog_factory_add_dialog):
	let new docks appear at the pointer position.


svn path=/branches/gimp-2-6/; revision=27283
2008-10-14 21:59:35 +00:00
Kenneth Nielsen
295aaddec6 Updated Danish translation by Joe Dalton
svn path=/branches/gimp-2-6/; revision=27280
2008-10-14 20:31:55 +00:00
Sven Neumann
3cb4decc3e Merged from trunk:
2008-10-13  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 556182 – Could you please explain a few strings [I18N]
	
	* plug-ins/pygimp/plug-ins/py-slice.py: added translator 
comments.


svn path=/branches/gimp-2-6/; revision=27273
2008-10-13 20:34:14 +00:00
Timo Jyrinki
a1dba13e8b updated Finnish translation
svn path=/branches/gimp-2-6/; revision=27267
2008-10-13 18:42:55 +00:00
Takeshi AIHANA
d1605dff42 Updated Japanese translation by Kiyotaka Nishibori.
2008-10-13  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27264
2008-10-13 10:46:35 +00:00
Takeshi AIHANA
6462994811 Updated Japanese translation by Kiyotaka Nishibori.
2008-10-13  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27263
2008-10-13 10:45:27 +00:00
Takeshi AIHANA
eea2cb805a Updated Japanese translation by Kiyotaka Nishibori.
2008-10-13  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation by
                  Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27262
2008-10-13 10:44:14 +00:00
Takeshi AIHANA
74b9c377d1 Updated Japanese translation by Kiyotaka Nishibori.
2008-10-13  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27261
2008-10-13 10:43:00 +00:00
Takeshi AIHANA
1054e1f3dc Updated Japanese translation by Kiyotaka Nishibori.
2008-10-13  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation by
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27260
2008-10-13 10:42:02 +00:00
Takeshi AIHANA
2145d1b848 Updated Japanese translation by Kiyotaka Nishibori.
2008-10-13  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation by 
                 Kiyotaka Nishibori.

svn path=/branches/gimp-2-6/; revision=27259
2008-10-13 10:40:55 +00:00
Aron Xu
2e55bbad69 Updated zh_CN translation.
svn path=/branches/gimp-2-6/; revision=27225
2008-10-11 08:34:24 +00:00
Aron Xu
49095c2b72 Updated zh_CN translations by kappa8086.
svn path=/branches/gimp-2-6/; revision=27224
2008-10-11 05:20:25 +00:00
Aron Xu
a057214ad6 Updated zh_CN translations by kappa8086.
svn path=/branches/gimp-2-6/; revision=27223
2008-10-11 05:18:09 +00:00
Aron Xu
fdfff5d785 Updated zh_CN translations by kappa8086.
svn path=/branches/gimp-2-6/; revision=27222
2008-10-11 05:17:49 +00:00
Aron Xu
c77ab8f021 Updated zh_CN translations by kappa8086.
svn path=/branches/gimp-2-6/; revision=27221
2008-10-11 05:17:17 +00:00
Aron Xu
bb8427568c Updated zh_CN translations by kappa8086.
svn path=/branches/gimp-2-6/; revision=27220
2008-10-11 05:15:38 +00:00
Aron Xu
69f584c215 Updated zh_CN translations by kappa8086.
svn path=/branches/gimp-2-6/; revision=27219
2008-10-11 05:15:13 +00:00
Claude Paroz
8ab4012d0b Updated French translation.
2008-10-10  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation.

svn path=/branches/gimp-2-6/; revision=27215
2008-10-10 20:29:11 +00:00
Claude Paroz
8e607bf30c Updated French translation by Julien Hardelin.
2008-10-10  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation by Julien Hardelin.

svn path=/branches/gimp-2-6/; revision=27213
2008-10-10 20:24:20 +00:00
Michael Natterer
cae04603dd Merged from trunk:
2008-10-10  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	* app/tools/gimpmovetool.c (gimp_move_tool_button_release): flush
	the image after setting active items back from temporarily
	selected ones. Fixes menu item sensitivity.


svn path=/branches/gimp-2-6/; revision=27210
2008-10-10 15:42:13 +00:00
Daniel Nylander
4e35289b4b sv.po: Updated Swedish translation
svn path=/branches/gimp-2-6/; revision=27201
2008-10-09 20:19:59 +00:00
Sven Neumann
fb58d98168 updated German translation.
2008-10-09  Sven Neumann  <sven@gimp.org>

	* de.po: updated German translation.



svn path=/branches/gimp-2-6/; revision=27198
2008-10-09 18:54:10 +00:00
Sven Neumann
e97a0a1900 Merged from trunk:
2008-10-09  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	Bug 555697 – build fails if configured with --without-libjpeg
	
	* plug-ins/Makefile.am: applied patch from Simon Zilliken that
	disables the build of the PSD plug-in if JPEG support is 
disabled.


svn path=/branches/gimp-2-6/; revision=27197
2008-10-09 16:36:04 +00:00
Michael Natterer
d8a1a39157 Merged from trunk:
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	This is not exactly a bugfix-only commit, but fixing this bug
	was the original reason for all the curve and image map tool
	refactorings that went into 2.6. It would be silly not to
	fix it just because I simply forgot to hack the final step of
	enabling all the new code. The two new translatable strings are
	a PITA, sorry about that; but better than still only exporting
	the old curves and levels formats in 2.6.

	Bug 134956 – Curves tool doesn't save free curves

	* app/core/gimpmarshal.list
	* app/widgets/gimpsettingsbox.[ch]: add signal "file-dialog-setup"
	and emit it when the export/import file chooser is fully
	constructed. Callbacks can then do additional things to the
	dialog, like adding custom buttons.

	* app/tools/gimpcurvestool.h
	* app/tools/gimplevelstool.h: add boolean member
	"export_old_format".

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c (gimp_*_tool_dialog): connect to
	the settings box' "file-dialog-setup".

	(gimp_*_tool_export_setup): new callback which adds a toggle to
	the file choosers that allows to export to the old format.
	Default saving the new format, we defaulted to the old one before.

	(gimp_*_tool_settings_export): check the "export_old_format"
	boolean and only save the cruft format if it is TRUE; chain up
	otherwise, which generically saves the new format.

	* app/tools/gimplevelstool.c (gimp_levels_tool_settings_import):
	add the same file format detection code as in the curves tool
	so it transparently loads old and new levels files.


svn path=/branches/gimp-2-6/; revision=27195
2008-10-09 15:32:24 +00:00
Michael Natterer
27967223ef Merged from trunk:
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Merged from trunk:

	* app/gegl/gimpcurvesconfig.c (gimp_curves_config_save_cruft):
	when saving a curve of type GIMP_CURVE_FREE, don't use
	gimp_curve_get_point() because that returns nothing for free
	curves.

	(gimp_curves_config_load_cruft): reset the curve before loading it.

	* app/core/gimpcurve.c (gimp_curve_get_point): instead of above
	mentioned uninitialized nonsense, at least return -1,-1 for free
	curves.


svn path=/branches/gimp-2-6/; revision=27191
2008-10-09 09:44:56 +00:00
Sven Neumann
3c261c36db bumped version to 2.6.2 (interface age 2).
2008-10-09  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version to 2.6.2 (interface age 2).


svn path=/branches/gimp-2-6/; revision=27186
2008-10-08 22:43:22 +00:00
479 changed files with 295255 additions and 182754 deletions

41
.gitignore vendored Normal file
View File

@@ -0,0 +1,41 @@
/ChangeLog
/Makefile
/Makefile.in
/aclocal.m4
/autom4te.cache
/compile
/config.cache
/config.guess
/config.h
/config.h.in
/config.h.in~
/config.log
/config.status
/config.status.lineno
/config.sub
/configure
/depcomp
/gimp-2.0.pc
/gimpthumb-2.0.pc
/gimpui-2.0.pc
/gimp-zip
/gtk-doc.make
/install-sh
/intltool-extract
/intltool-extract.in
/intltool-merge
/intltool-merge.in
/intltool-modules
/intltool-update
/intltool-update.in
/libtool
/ltmain.sh
/missing
/mkinstalldirs
/py-compile
/stamp-h
/stamp-h.in
/stamp-h1
*.la
*.lo
*.o

313
ChangeLog
View File

@@ -1,313 +0,0 @@
2008-10-09 Sven Neumann <sven@gimp.org>
* Made 2.6.1 release.
2008-10-08 Martin Nordholts <martinn@svn.gnome.org>
Bug 555587 PSD file crashes PSD plug-in
* plug-ins/file-psd/psd-load.c (add_merged_image): Handle
img_a->alpha_names being NULL.
2008-10-08 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpruler.c: cosmetics.
2008-10-08 Michael Natterer <mitch@gimp.org>
Quick hack I needed for debugging and which doesn't hurt:
* tools/test-clipboard.c (test_clipboard_paste): allow to paste to
STDOUT by passing '-' as filename.
2008-10-08 Martin Nordholts <martinn@svn.gnome.org>
* plug-ins/file-psd/psd-load.c (add_layers): Decrease scope of
comp_mode and initialize it.
2008-10-08 Martin Nordholts <martinn@svn.gnome.org>
Bug 555222 PSD Load Plugin: unsupported compression mode
* plug-ins/file-psd/psd-load.c (add_layers): Some PSD files can
have channels where a compression method used for the channel data
is specified, but without any actual channel data. Handle this
case. Fix inspired by patch from Chris Mohler.
2008-10-08 Sven Neumann <sven@gimp.org>
* app/base/tile-cache.c: use a GMutex instead of a GStaticMutex
as the latter needs API that causes compiler warnings about
dereferencing of type-punned pointers.
2008-10-07 Michael Natterer <mitch@gimp.org>
Bug 555362 gimp-remote is not working properly
* app/widgets/gimptoolbox-dnd.c (gimp_toolbox_dnd_init): add the
window itself as drop traget again so gimp-remote works.
2008-10-07 Michael Natterer <mitch@gimp.org>
* app/*/Makefile.am: reorder sections consistently. Remove
redundant CFLAGS.
2008-10-06 Sven Neumann <sven@gimp.org>
Bug 555280 some gif files will not be open
* plug-ins/common/file-gif-load.c (GetCode): be more tolerant and
continue loading with a warning message if there are bits missing
at the end of the file.
2008-10-06 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c (scale_region): removed debug
output.
2008-10-06 Michael Natterer <mitch@gimp.org>
* plug-ins/common/file-gih.c
* plug-ins/common/file-xbm.c: setting a spin button's
page_increment to 1 is of no use, set it to 10 instead.
2008-10-06 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-menu-path.c (menu_path_mappings): add a
fallback mapping from <Toolbox> to <Image> so we catch really
everything that wants to go to <Toolbox>.
2008-10-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.c (gimp_context_real_set_display): paranoia
fix for hypothetical but harmful misbehavior: when setting the
display from !=NULL to NULL, also set the image to NULL instead of
relying on whatever obscure implicit behavior of other parts of
GIMP which set a new display right away or make sure the image
goes away together with the display.
2008-10-06 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.c (gimp_layer_add_mask): g_return_if_fail()
on the mask's image being the same as the layer's image. The PDB
already checks for this.
* app/core/gimpimage.c (gimp_image_add_layer,channel,vectors):
remove calls to gimp_item_set_image() because we only accept
itmes of this image anyway.
2008-10-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin-cleanup.c
* app/vectors/gimpanchor.c: #include <glib-object.h>, not
"glib-object.h".
2008-10-05 Michael Natterer <mitch@gimp.org>
* app/gegl/gegl-types.h: including ourselves serves no purpose.
2008-10-05 Michael Natterer <mitch@gimp.org>
Allow to "Open as Layers" in the empty display:
* app/widgets/gimpfiledialog.[ch]: add member
"gboolean open_as_layers". Rename gimp_file_dialog_set_image() to
gimp_file_dialog_set_save_image() and add
gimp_file_dialog_set_open_image() which sets both the image to
load layers into and the "open_as_layers" boolean.
* app/dialogs/file-open-dialog.c (file_open_dialog_response): look
at dialog->open_as_layers instead of dialog->image to decide whether
to open as layers (that's much more obvious). Enable open as layers
without existing image by creating the image if it doesn't exist.
* app/actions/file-commands.c (file_open_dialog_show): add "title"
parameter and take the uri from the image if none was passed. Use the
new gimp_file_dialog_set_open_image() instead of poking into the
dialog struct. Change callers to pass the title and not get the
uri from the image; instead always pass the image.
* app/actions/file-actions.c (file_actions_update): keep
"Open as Layers" sensitive even without image.
2008-10-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-contiguous-region.c: some formatting cleanups.
(find_contiguous_segment): changed to return gboolean not gint.
2008-10-05 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpruler.c: cache the PangoLayout. Use it not
only for drawing the numbers, but also to calculate the size
requisition depending on the actual font size.
2008-10-05 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpruler.c: instead of hardcoding a size
request, implement GtkWidget::size_request and set the size
depending on the font-scale.
2008-10-05 Sven Neumann <sven@gimp.org>
Bug 554890 JPEG Save Options Dialog does not remember
Subsampling mode
* plug-ins/file-jpeg/jpeg.c (run): fixed problem introduced by the
use of an enum for the subsampling factor.
2008-10-04 Michael Natterer <mitch@gimp.org>
* plug-ins/common/web-browser.c: return errors via return_vals
instead of displaying them with g_message().
2008-10-04 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpruler.c: increased ruler font scale from
X_SMALL to SMALL as it appears to be too small for many users.
* themes/Default/gtkrc: follow that change here, but keep the
ruler font extra small in the Small theme.
2008-10-04 Sven Neumann <sven@gimp.org>
* plug-ins/file-jpeg/jpeg-save.c: some cleanups to the subsampling
code; in an attempt to fix bug #555031.
2008-10-04 Sven Neumann <sven@gimp.org>
* INSTALL: updated GTK+ requirement.
2008-10-04 Michael Natterer <mitch@gimp.org>
* configure.in: depend on GTK+ 2.12.5 so motion history events of
extended input devices have proper timestamps needed by paint
tools.
2008-10-04 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpruler.c: make the font scale factor
configurable in gtkrc.
* themes/Default/gtkrc
* themes/Small/gtkrc: for documentation, add the default value here.
2008-10-03 Sven Neumann <sven@gimp.org>
* plug-ins/common/web-browser.c (browser_open_url): removed
trailing whitespace and corrected error message.
2008-10-03 Hans Breuer <hans@breuer.org>
* plug-ins/common/web-browser.c : when ShellExecute() is failing give
the detailed (currently intentionally untranslated) error message via
g_message()
* **/makefie.msc gimpdefs.msc app/gimpcore.def : updated
* app/core/gimpcurve.c : include <string.h> for memcmp()
* app/gegl/gimpcurvesconfig.c : include <string.h> for strcmp()
2008-10-03 Sven Neumann <sven@gimp.org>
Bug 554966 Gimp crashes creating a new image using a template
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_update_scrollbars)
(gimp_display_shell_scale_update_rulers): bail out early if
shell->display is NULL.
2008-10-03 Michael Natterer <mitch@gimp.org>
Bug 554785 Compile failure on uri-backend-libcurl
* plug-ins/file-uri/uri-backend-libcurl.c: apply patch from Robby
Workman which fixes the build for this file.
2008-10-03 Sven Neumann <sven@gimp.org>
* configure.in: removed custom error message from checks for babl
and GEGL. The default error message is a lot more helpful.
2008-10-02 Sven Neumann <sven@gimp.org>
* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
add "text" to the list of blacklisted operations.
2008-10-02 Michael Natterer <mitch@gimp.org>
Bug 554646 Opening Help crashes GIMP with lqr-plugin installed
* app/widgets/gimphelp.c (gimp_help_get_help_domains): need to
assign (*foo)[i] and not *foo[i] of a gchar** returned via return
value location.
2008-10-02 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginprocframe.c: keep a reference to the
proc_frame's procedure. We can't asume it's always there since it
could be a temporary one and its plug-in might die during
procedure execution, taking the temp_proc with it.
2008-10-02 Martin Nordholts <martinn@svn.gnome.org>
Bug 553534 centering issues after image scaling and setting zoom
to 100%
* app/display/display-enums.h: Added a GimpZoomFocus enum with
'best guess', 'pointer' or 'image center' values.
* app/display/gimpdisplayshell-scale.[ch]
(gimp_display_shell_scale): Take a GimpZoomFocus parameter and
pass it on to
(gimp_display_shell_scale_get_zoom_focus): which returns the
requested zoom focus point if one was given, else makes a best
guess.
* app/actions/view-commands.c
* app/display/gimpstatusbar.c
* app/display/gimpnavigationeditor.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-scale-dialog.c: For explicit-zoom
commands like "zoom to 100%", always use the image center as the
zoom focus point. For all other zooming, continue to use the
best-guess method.
* app/display/display-enums.c: Regenerated.
2008-10-02 Sven Neumann <sven@gimp.org>
Bug 554898 Compile failure on uri-backend-wget.c
* plug-ins/file-uri/uri-backend-wget.c: removed spurious commas
that broke the build.
2008-10-01 Sven Neumann <sven@gimp.org>
* Makefile.am (EXTRA_DIST): added ChangeLog.pre-2-6 and NEWS.pre-2-6.
2008-10-01 Sven Neumann <sven@gimp.org>
* tools/gimptool.c: create the target directory and intermediate
parent directories as needed. Restores the behavior of the
gimptool shell script.
2008-10-01 Sven Neumann <sven@gimp.org>
* menus/Makefile.am (%.xml): added a dependency on configure.in to
make sure that the image-menu.xml file is rebuilt when the version
number is changed.
2008-10-01 Tor Lillqvist <tml@novell.com>
* app/plug-in/gimpplugin.c
* app/widgets/gtkscalebutton.c: : Don't #define _GNU_SOURCE on
Windows as it confuses newest mingw headers.
2008-10-01 Sven Neumann <sven@gimp.org>
* configure.in: bumped version to 2.6.1 (interface age 1).
2008-09-30 Sven Neumann <sven@gimp.org>
* Made 2.6.0 release.

1453
ChangeLog.pre-git Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -30,7 +30,7 @@ header files installed.
1. You need to have installed a recent version of pkg-config available
from http://www.freedesktop.org/software/pkgconfig/.
2. You need intltool (at least 0.35.5, but preferably a newer version).
2. You need intltool (at least 0.36.3, but preferably a newer version).
Intltool can be downloaded from
http://ftp.gnome.org/pub/gnome/sources/intltool/

View File

@@ -95,3 +95,24 @@ endif
all-local: AUTHORS
dist-hook: check-defs validate-authors
CHANGELOG_START = f8f3c41320320cb07af2956eca48007a464f14d7
ChangeLog: $(srcdir)/ChangeLog $(srcdir)/ChangeLog.pre-git
$(srcdir)/ChangeLog:
@echo Creating $@ based on git log
@if test -d "$(srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git ./missing --run \
git log $(CHANGELOG_START)^.. --stat) | fmt --split-only > $@.tmp \
&& mv -f $@.tmp $@ && echo Appending ChangeLog.pre-git && cat ChangeLog.pre-git >> $@ \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
(test -f $@ || echo git-log is required to generate this file >> $@)); \
else \
test -f $@ || \
(echo A git checkout and git-log is required to generate ChangeLog >&2 && \
echo A git checkout and git-log is required to generate this file >> $@); \
fi
.PHONY: $(srcdir)/ChangeLog

276
NEWS
View File

@@ -7,6 +7,282 @@ This is the stable branch of GIMP. No new features are being added
here, just bug-fixes.
Overview of Changes from GIMP 2.6.7 to GIMP 2.6.8
=================================================
* Bugs fixed:
470698 - MapObject cannot modify highlight
593848 - FG color changed to black when FG-BG Editor tab created
594651 - layer.scale() raises RuntimeError
594998 - Keyboard shortcuts does not work for first image when dock
is focused
599765 - F1 key on gimp-tool-align in menu have wrong link and it
open gimp-tool-move
600484 - Gimp BMP Integer Overflow Vulnerability
600741 - "read_channel_data()" Integer Overflow Vulnerability
601891 - gimp_image_get_selection returns None
602761 - plug-in-grid: Parameters Horizontal/Vertical Spacing and
Horizontal/Vertical Offset are reversed.
603995 - PCX plugin doesn't sanitize input to avoid allocation overflows.
603998 - PCX: Calculating amount of memory to allocate may overflow.
604000 - SGI: sanitize input
604001 - SGI: Calculating amount of memory to allocate may overflow.
604002 - SGI: RLE encoded input data may write beyond allocated buffers
604004 - SGI: allocate memory consistently
604008 - GBR, PAT: sanitize input data
604078 - Crash when pressing Backspace with Free Select Tool
* Updated and new translations:
Basque (eu)
British English (en_GB)
Czech (cs)
French (fr)
Greek (el)
Italian (it)
Japanese (ja)
Norwegian Nynorsk (nn)
Polish (pl)
Romanian (ro)
Russian (ru)
Simplified Chinese (zh_CN)
Overview of Changes from GIMP 2.6.6 to GIMP 2.6.7
=================================================
* Bugs fixed:
591017 Tablet pan is not working as fast as it should
577581 Crashes when using any colors tool/function on Windows
589667 GIMP crashes when clicking GEGL Operation on Windows
569833 file-jpeg-save erroneous with small quality values
590638 Changing palettes from list to grid view loses "locked to dock"
status
589674 "Send by Email" does not update "Filename"
586851 Transparent BMP files fail to load
589205 help-browser uses deprecated (and sometimes broken) webkit call
582821 'Sphere Designer' does not reset correctly...
570353 first time open of .svg file ignores the requested units
555777 Export to MNG animation fails
577301 Dithering with transparency is broken for "positioned" method
493778 metadata plug-in crashes on some images
567466 PNG comment not found if more than 1 tEXt chunks
585665 Exporting to PSD with a blank text layer creates a corrupt file
586316 Levels tool does not adjust output levels correctly if input
levels are changed
569661 Import from PDF throws errors when entering resolution in
pixels per millimetre
567262 Black pixels appear in "Spread" filter preview
554658 Path Dialog: Path preview pics not to see constantly
167604 gimp_gradient_get_color_at() may return out-of-bounds values
567393 Rectangle select tool size shrinks to 0 if size is larger than
the image and the up or down arrow is pressed
587543 crash when invoking certain actions by keyboard shortcut
563029 - Closing maximized image doesn't restore document window size
585488 Perspective transformation on a layer with a mask causes crash
586008 - GIMP crashes when right-click canceling a drawing action initiated
outside layer boundaries
584345 when printing, the number of copies should be reset to 1
557061 Alpha to Logo
472644 Rotate with clipping crops the whole layer
577575 transform tool fills underlying extracted area wrongly
555738 Image display is wrong after undoing canvas size
577024 help-browser plugin crashes when used with webkit 1.1.3
555025 Action GEGL box widgets weirdness
* Updated and new translations:
Czech (cs)
Danish (da)
German (de)
Spanish (es)
Basque (eu)
Finnish (fi)
Hungarian (hu)
Italian (it)
Gujarati (gu)
Japanese (ja)
Kannada (kn)
Marathi (mr)
Norwegian bokmål (nb)
Oriya (or)
Portuguese (pt)
Romanian (ro)
Sinhala (si)
Swedish (sv)
Simplified Chinese (zh_CN)
Traditional Chinese - Hong Kong (zh_HK)
Traditional Chinese - Taiwan (zh_TW)
Overview of Changes from GIMP 2.6.5 to GIMP 2.6.6
=================================================
* Bugs fixed:
571117 lcms plug-in crashes on broken profile
575154 changing the help browser preference may not work
573542 blur plugin: bug in the first line
572403 gimp-2.6 crashed with SIGSEGV in IA__g_object_get()
573695 1-bit white background saved as PBM becomes all black
573488 Small bug in Filter>Distorts>Ripple
572156 top left pixel position/coordinate is not 0,0 but 1,1
472644 Rotate with clipping crops the whole layer
* Updated translations:
German (de)
Spanish (es)
Estonian (et)
Basque (eu)
French (fr)
Italian (it)
Portuguese (pt)
Simplified Chinese (zh_CN)
Overview of Changes from GIMP 2.6.4 to GIMP 2.6.5
=================================================
* Bugs fixed:
571628 Scaling image to 25% turn background from white to grey
567840 GIMP's GtkScaleButton conflicts with GTK's
569043 GEGL tool - missing Operation Settings for all sub-tools
568890 don't rely on GtkAction implementation details
568909 wrong RGB values for color names in libgimpcolor/gimprgb-parse.c
568839 wrong hex RGB value for the color names slategrey and slategray
559408 - Brushes dragged to the image window look strange
563337 Rectangle Select Tool does not allow 1:1 fixed ratio
568016 Black pullout parameter of plug-in-newsprint has no effect
562818 First image opened in GIMP offset
562213 Align Tool doesn't work properly if it is the active tool
at startup
* Updated translations:
Spanish (es)
Estonian (et)
Hindi (hi)
Italian (it)
Brazilian Portuguese (pt_BR)
Romanian (ro)
Russian (ru)
Serbian (sr)
Tamil (ta)
Simplified Chinese (zh_CN)
Overview of Changes from GIMP 2.6.3 to GIMP 2.6.4
=================================================
* Bugs fixed:
565223 Perspective transformation jagged edges / comb effect
563985 jpg save dialog: "cancel" is treated like "commit"
for settings
564087 Using clone tool on a layer with a part out of canvas
causes crashes
564593 crash when the drawable is changed while a color tool
is active
564869 GIMP crashes on selecting Tools->GEGL operation
565138 python-fu-foggify does not check if image is in rgb mode
563130 Hue selection mode does not cross the 0-360 degrees line
563179 Scrollbars not resized when we extend the canvas size
562459 PF_PALETTE: 'TypeError' when used in a plugin that is
registered in <Image>
562427 Compilation with --as-needed
562386 PF_SLIDER and PF_SPINNER 'Step' values do not change
consistently...
562366 Default image dimensions are not correctly
transferred in the file/new dialog box
561899 GIMP can't save to mounted filesystem if file exists
* Updated translations:
Greek (el)
Hindi (hi)
Hungarian (hu)
Italian (it)
Japanese (ja)
Korean (ko)
Slovenian (sl)
Swedish (sv)
Tamil (ta)
Simplified Chinese (zh_CN)
Overview of Changes from GIMP 2.6.2 to GIMP 2.6.3
=================================================
* Bugs fixed:
558454 Plugin Map Color Range disappears from GIMP
559239 Error while loading psd-data
560903 Explicit zooming with e.g. '1' should handle
zoom-focus better
560245 Zoom selection always centered in the Navigation tab
559490 Wrong lang tags for 'no'
559292 SOTA Chrome cannot accept different textures
560375 Clearing an already empty document history crashes GIMP
559580 Image windows need better default locations
560283 "Scale image..." causes distortion around edges
559716 Changing crop size in Crop Tool Options can make UI
unresponsive
558549 Stroking a single-point path with a paint tool
crashes GIMP
559015 Move tool gives bad information about px moved
558660 help behavior for locales without manual translation
* Updated translations:
Belarusian (be)
Dutch (nl)
German (de)
Japanese (ja)
Lithuanian (lt)
Norwegian Bokmål (nb)
Norwegian Nynorsk (nn)
Polish (pl)
Romanian (ro)
Overview of Changes from GIMP 2.6.1 to GIMP 2.6.2
=================================================
* Bugs fixed:
557950 Scaling in Gimp 2.6 is much slower than in Gimp 2.4
558215 unit and zoom entries in Statusbar not visible
558451 Cannot build GIMP using Sun CC on Solaris 2.8
558420 projection incorrect with alpha-less layers
556603 Zoom region always zooms in center of image
557870 "Qmask" message popping up here and there
557705 compatibility with GEGL > 0.0.20
556248 Scaling gives 'jagged' edges
556804 Zoom drop down doesn't update
524615 Print not to scale
555246 gimp crashes when a file is opened while a preview is generating
556741 Alpha layer automatically added (in psd format)
556182 Could you please explain a few strings [I18N]
555697 build fails if configured with --without-libjpeg
134956 Curves tool doesn't save free curves
* Updated translations:
Czech (cs)
Danish (da)
Finnish (fi)
French (fr)
Japanese (ja)
Polish (pl)
Brazilian Portuguese (pt_BR)
Swedish (sv)
Simplified Chinese (zh_CN)
Overview of Changes from GIMP 2.6.0 to GIMP 2.6.1
=================================================

7
app/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
/Makefile
/Makefile.in
/makefile.mingw
/.deps
/.libs
/gimp-2.*
/gimp-console-2.*

View File

@@ -182,6 +182,7 @@ gimp_console_2_6_LDADD = \
$(FONTCONFIG_LIBS) \
$(FREETYPE_LIBS) \
$(GEGL_LIBS) \
$(GLIB_LIBS) \
$(RT_LIBS) \
$(INTLLIBS) \
$(GIMPICONRC)

7
app/actions/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/libappactions.a
/libappactions.la

View File

@@ -191,6 +191,9 @@ dockable_toggle_view_cmd_callback (GtkAction *action,
GimpDocked *new;
gboolean show;
gimp_dockable_set_locked (GIMP_DOCKABLE (new_dockable),
gimp_dockable_is_locked (dockable));
old = GIMP_DOCKED (gtk_bin_get_child (GTK_BIN (dockable)));
new = GIMP_DOCKED (gtk_bin_get_child (GTK_BIN (new_dockable)));

View File

@@ -232,8 +232,10 @@ documents_clear_cmd_callback (GtkAction *action,
gimp_container_clear (gimp->documents);
if (! gtk_recent_manager_purge_items (gtk_recent_manager_get_default (),
&error))
gtk_recent_manager_purge_items (gtk_recent_manager_get_default (),
&error);
if (error)
{
gimp_message (gimp, G_OBJECT (dialog), GIMP_MESSAGE_ERROR,
"%s", error->message);

View File

@@ -165,6 +165,9 @@ file_open_recent_cmd_callback (GtkAction *action,
GError *error = NULL;
return_if_no_display (display, data);
g_object_ref (display);
g_object_ref (imagefile);
progress = display->image ? NULL : GIMP_PROGRESS (display);
image = file_open_with_display (gimp, action_data_get_context (data),
@@ -184,6 +187,9 @@ file_open_recent_cmd_callback (GtkAction *action,
g_free (filename);
}
g_object_unref (imagefile);
g_object_unref (display);
}
}

View File

@@ -773,7 +773,7 @@ gradient_editor_right_color_update (GimpColorDialog *dialog,
gimp_gradient_segment_range_blend (gradient,
editor->control_sel_l,
editor->control_sel_r,
&editor->control_sel_r->left_color,
&editor->control_sel_l->left_color,
color,
TRUE, TRUE);
break;
@@ -782,7 +782,7 @@ gradient_editor_right_color_update (GimpColorDialog *dialog,
gimp_gradient_segment_range_blend (gradient,
editor->control_sel_l,
editor->control_sel_r,
&editor->control_sel_r->left_color,
&editor->control_sel_l->left_color,
color,
TRUE, TRUE);
gimp_gradient_segments_free (editor->right_saved_segments);

View File

@@ -218,7 +218,7 @@ view_zoom_explicit_cmd_callback (GtkAction *action,
gimp_display_shell_scale (shell,
GIMP_ZOOM_TO,
(gdouble) value / 10000,
GIMP_ZOOM_FOCUS_IMAGE_CENTER);
GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS);
}
}

7
app/base/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/libappbase.a
/libappbase.la

View File

@@ -91,12 +91,12 @@ levels_lut_func (Levels *levels,
inten = (gdouble) (255.0 * inten - levels->low_input[j]);
}
/* clamp to new black and white points */
inten = CLAMP (inten, 0.0, 1.0);
if (levels->gamma[j] != 0.0)
{
if (inten >= 0.0)
inten = pow ( inten, (1.0 / levels->gamma[j]));
else
inten = -pow (-inten, (1.0 / levels->gamma[j]));
inten = pow ( inten, (1.0 / levels->gamma[j]));
}
/* determine the output intensity */

16
app/composite/.gitignore vendored Normal file
View File

@@ -0,0 +1,16 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/*.a
/libappcomposite.la
/ns.pyc
/gimp-composite-test
/test-composite
/gimp-composite-3dnow-test
/gimp-composite-altivec-test
/gimp-composite-mmx-test
/gimp-composite-sse-test
/gimp-composite-sse2-test
/gimp-composite-vis-test

9
app/config/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/foorc
/libappconfig.a
/libappconfig.la
/test-config

View File

@@ -42,7 +42,7 @@
#ifdef G_OS_WIN32
# define DEFAULT_WEB_BROWSER "not used on Windows"
#elif HAVE_CARBON
#elif PLATFORM_OSX
# define DEFAULT_WEB_BROWSER "open %s"
#else
# define DEFAULT_WEB_BROWSER "firefox %s"
@@ -130,7 +130,7 @@ gimp_gui_config_class_init (GimpGuiConfigClass *klass)
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_TRUST_DIRTY_FLAG,
"trust-dirty-flag",
TRUST_DIRTY_FLAG_BLURB,
TRUE,
FALSE,
GIMP_PARAM_STATIC_STRINGS);
GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SAVE_DEVICE_STATUS,
"save-device-status",

9
app/core/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/libappcore.a
/libappcore.la
/gimpmarshal.c
/gimpmarshal.h

View File

@@ -206,7 +206,7 @@ struct _GimpCoords
};
#include "gegl/gegl-types.h"
#include "gegl/gimp-gegl-types.h"
#include "paint/paint-types.h"
#include "text/text-types.h"
#include "vectors/vectors-types.h"

View File

@@ -105,8 +105,8 @@ static void gimp_transform_region_lanczos (TileManager *orig_tiles,
GimpProgress *progress);
static inline void untransform_coords (const GimpMatrix3 *m,
gint x,
gint y,
const gint x,
const gint y,
gdouble *tu,
gdouble *tv,
gdouble *tw);
@@ -126,21 +126,22 @@ static inline gboolean supersample_dtest (const gdouble u0,
const gdouble u3,
const gdouble v3);
static void sample_adapt (PixelSurround *surround,
const gdouble uc,
const gdouble vc,
const gdouble u0,
const gdouble v0,
const gdouble u1,
const gdouble v1,
const gdouble u2,
const gdouble v2,
const gdouble u3,
const gdouble v3,
const gint level,
static void sample_adapt (TileManager *tm,
const gdouble xc,
const gdouble yc,
const gdouble x0,
const gdouble y0,
const gdouble x1,
const gdouble y1,
const gdouble x2,
const gdouble y2,
const gdouble x3,
const gdouble y3,
const gint level,
guchar *color,
const gint bpp,
const gint alpha);
const guchar *bg_color,
gint bpp,
gint alpha);
static void sample_linear (PixelSurround *surround,
const gdouble u,
@@ -431,14 +432,14 @@ gimp_transform_region_linear (TileManager *orig_tiles,
if (supersample_dtest (u[1], v[1], u[2], v[2],
u[3], v[3], u[4], v[4]))
{
sample_adapt (surround,
sample_adapt (orig_tiles,
u[0] - u1, v[0] - v1,
u[1] - u1, v[1] - v1,
u[2] - u1, v[2] - v1,
u[3] - u1, v[3] - v1,
u[4] - u1, v[4] - v1,
recursion_level,
d, destPR->bytes, alpha);
d, bg_color, destPR->bytes, alpha);
}
else
{
@@ -533,14 +534,14 @@ gimp_transform_region_cubic (TileManager *orig_tiles,
if (supersample_dtest (u[1], v[1], u[2], v[2],
u[3], v[3], u[4], v[4]))
{
sample_adapt (surround,
sample_adapt (orig_tiles,
u[0] - u1, v[0] - v1,
u[1] - u1, v[1] - v1,
u[2] - u1, v[2] - v1,
u[3] - u1, v[3] - v1,
u[4] - u1, v[4] - v1,
recursion_level,
d, destPR->bytes, alpha);
d, bg_color, destPR->bytes, alpha);
}
else
{
@@ -641,14 +642,14 @@ gimp_transform_region_lanczos (TileManager *orig_tiles,
if (supersample_dtest (u[1], v[1], u[2], v[2],
u[3], v[3], u[4], v[4]))
{
sample_adapt (surround,
sample_adapt (orig_tiles,
u[0] - u1, v[0] - v1,
u[1] - u1, v[1] - v1,
u[2] - u1, v[2] - v1,
u[3] - u1, v[3] - v1,
u[4] - u1, v[4] - v1,
recursion_level,
d, destPR->bytes, alpha);
d, bg_color, destPR->bytes, alpha);
}
else
{
@@ -838,42 +839,49 @@ sample_linear (PixelSurround *surround,
bilinear interpolation of a fixed point pixel
*/
static void
sample_bi (PixelSurround *surround,
const gint x,
const gint y,
guchar *color,
const gint bpp,
const gint alpha)
sample_bi (TileManager *tm,
const gint x,
const gint y,
guchar *color,
const guchar *bg_color,
const gint bpp,
const gint alpha)
{
const gint xscale = x & (FIXED_UNIT - 1);
const gint yscale = y & (FIXED_UNIT - 1);
const gint x0 = x >> FIXED_SHIFT;
const gint y0 = y >> FIXED_SHIFT;
gint rowstride;
const guchar *src = pixel_surround_lock (surround, x0, y0, &rowstride);
const guchar *s0 = src;
const guchar *s1 = src + bpp;
const guchar *s2 = src + rowstride;
const guchar *s3 = src + rowstride + bpp;
gint i;
const gint xscale = (x & (FIXED_UNIT-1));
const gint yscale = (y & (FIXED_UNIT-1));
const gint x0 = x >> FIXED_SHIFT;
const gint y0 = y >> FIXED_SHIFT;
const gint x1 = x0 + 1;
const gint y1 = y0 + 1;
guchar C[4][4];
gint i;
/* fill the color with default values, since read_pixel_data_1
* does nothing, when accesses are out of bounds.
*/
for (i = 0; i < 4; i++)
*(guint*) (&C[i]) = *(guint*) (bg_color);
read_pixel_data_1 (tm, x0, y0, C[0]);
read_pixel_data_1 (tm, x1, y0, C[2]);
read_pixel_data_1 (tm, x0, y1, C[1]);
read_pixel_data_1 (tm, x1, y1, C[3]);
#define lerp(v1, v2, r) \
(((guint)(v1) * (FIXED_UNIT - (guint)(r)) + \
(guint)(v2) * (guint)(r)) >> FIXED_SHIFT)
color[alpha]= lerp (lerp (s0[alpha], s1[alpha], yscale),
lerp (s2[alpha], s3[alpha], yscale), xscale);
color[alpha]= lerp (lerp (C[0][alpha], C[1][alpha], yscale),
lerp (C[2][alpha], C[3][alpha], yscale), xscale);
if (color[alpha])
{
/* to avoid problems, calculate with premultiplied alpha */
for (i = 0; i < alpha; i++)
{
color[i] = lerp (lerp (s0[i] * s0[alpha] / 255,
s1[i] * s1[alpha] / 255, yscale),
lerp (s2[i] * s2[alpha] / 255,
s3[i] * s3[alpha] / 255, yscale), xscale);
}
color[i] = lerp (lerp (C[0][i] * C[0][alpha] / 255,
C[1][i] * C[1][alpha] / 255, yscale),
lerp (C[2][i] * C[2][alpha] / 255,
C[3][i] * C[3][alpha] / 255, yscale), xscale);
}
else
{
@@ -936,29 +944,30 @@ supersample_dtest (const gdouble x0, const gdouble y0,
0..3 is a cycle around the quad
*/
static void
get_sample (PixelSurround *surround,
const gint xc,
const gint yc,
const gint x0,
const gint y0,
const gint x1,
const gint y1,
const gint x2,
const gint y2,
const gint x3,
const gint y3,
gint *cc,
const gint level,
guint *color,
const gint bpp,
const gint alpha)
get_sample (TileManager *tm,
const gint xc,
const gint yc,
const gint x0,
const gint y0,
const gint x1,
const gint y1,
const gint x2,
const gint y2,
const gint x3,
const gint y3,
gint *cc,
const gint level,
guint *color,
const guchar *bg_color,
const gint bpp,
const gint alpha)
{
if (!level || !supersample_test (x0, y0, x1, y1, x2, y2, x3, y3))
{
gint i;
guchar C[4];
sample_bi (surround, xc, yc, C, bpp, alpha);
sample_bi (tm, xc, yc, C, bg_color, bpp, alpha);
for (i = 0; i < bpp; i++)
color[i]+= C[i];
@@ -992,30 +1001,30 @@ get_sample (PixelSurround *surround,
bry = (y2 + yc) / 2;
by = (y3 + y2) / 2;
get_sample (surround,
get_sample (tm,
tlx,tly,
x0,y0, tx,ty, xc,yc, lx,ly,
cc, level-1, color, bpp, alpha);
cc, level-1, color, bg_color, bpp, alpha);
get_sample (surround,
get_sample (tm,
trx,try,
tx,ty, x1,y1, rx,ry, xc,yc,
cc, level-1, color, bpp, alpha);
cc, level-1, color, bg_color, bpp, alpha);
get_sample (surround,
get_sample (tm,
brx,bry,
xc,yc, rx,ry, x2,y2, bx,by,
cc, level-1, color, bpp, alpha);
cc, level-1, color, bg_color, bpp, alpha);
get_sample (surround,
get_sample (tm,
blx,bly,
lx,ly, xc,yc, bx,by, x3,y3,
cc, level-1, color, bpp, alpha);
cc, level-1, color, bg_color, bpp, alpha);
}
}
static void
sample_adapt (PixelSurround *surround,
sample_adapt (TileManager *tm,
const gdouble xc,
const gdouble yc,
const gdouble x0,
@@ -1028,6 +1037,7 @@ sample_adapt (PixelSurround *surround,
const gdouble y3,
const gint level,
guchar *color,
const guchar *bg_color,
const gint bpp,
const gint alpha)
{
@@ -1037,13 +1047,13 @@ sample_adapt (PixelSurround *surround,
C[0] = C[1] = C[2] = C[3] = 0;
get_sample (surround,
get_sample (tm,
DOUBLE2FIXED (xc), DOUBLE2FIXED (yc),
DOUBLE2FIXED (x0), DOUBLE2FIXED (y0),
DOUBLE2FIXED (x1), DOUBLE2FIXED (y1),
DOUBLE2FIXED (x2), DOUBLE2FIXED (y2),
DOUBLE2FIXED (x3), DOUBLE2FIXED (y3),
&cc, level, C, bpp, alpha);
&cc, level, C, bg_color, bpp, alpha);
if (!cc)
cc=1;
@@ -1124,8 +1134,8 @@ sample_cubic (PixelSurround *surround,
gint i;
const gint iu = floor(u);
const gint iv = floor(v);
gdouble du, dv;
gint rowstride;
gdouble du, dv;
const guchar *data;
/* lock the pixel surround */

View File

@@ -148,6 +148,7 @@ gimp_transform_resize_boundary (const GimpMatrix3 *inv,
*x2 = u2;
*y2 = v2;
/* if clipping then just return the original rectangle */
if (resize == GIMP_TRANSFORM_RESIZE_CLIP)
return;
@@ -163,20 +164,21 @@ gimp_transform_resize_boundary (const GimpMatrix3 *inv,
! FINITE (dx4) || ! FINITE (dy4))
{
g_warning ("invalid transform matrix");
resize = GIMP_TRANSFORM_RESIZE_CLIP;
/* since there is no sensible way to deal with this, just do the same as
* with GIMP_TRANSFORM_RESIZE_CLIP: return
*/
return;
}
switch (resize)
{
case GIMP_TRANSFORM_RESIZE_ADJUST:
/* return smallest rectangle (with sides parallel to x- and y-axis)
* that surrounds the new points */
gimp_transform_resize_adjust (dx1, dy1, dx2, dy2, dx3, dy3, dx4, dy4,
x1, y1, x2, y2);
break;
case GIMP_TRANSFORM_RESIZE_CLIP:
/* we are all done already */
break;
case GIMP_TRANSFORM_RESIZE_CROP:
gimp_transform_resize_crop (dx1, dy1, dx2, dy2, dx3, dy3, dx4, dy4,
0.0,
@@ -190,6 +192,7 @@ gimp_transform_resize_boundary (const GimpMatrix3 *inv,
break;
}
/* ensure that resulting rectangle has at least area 1 */
if (*x1 == *x2)
(*x2)++;
@@ -197,6 +200,9 @@ gimp_transform_resize_boundary (const GimpMatrix3 *inv,
(*y2)++;
}
/* this calculates the smallest rectangle (with sides parallel to x- and
* y-axis) that contains the points d1 to d4
*/
static void
gimp_transform_resize_adjust (gdouble dx1,
gdouble dy1,
@@ -235,45 +241,42 @@ gimp_transform_resize_crop (gdouble dx1,
{
Point points[4];
Rectangle r;
gint ax, ay, tx, ty;
Point t,a;
gint i, j;
gint min;
/* fill in the points array */
points[0].x = floor (dx1);
points[0].y = floor (dy1);
points[1].x = floor (dx2);
points[1].y = floor (dy2);
points[2].x = floor (dx3);
points[2].y = floor (dy3);
points[3].x = floor (dx4);
points[3].y = floor (dy4);
/* first, translate the vertices into the first quadrant */
ax = 0;
ay = 0;
points[0].x = dx1;
points[0].y = dy1;
points[1].x = dx2;
points[1].y = dy2;
points[2].x = dx3;
points[2].y = dy3;
points[3].x = dx4;
points[3].y = dy4;
/* find lowest, rightmost corner of surrounding rectangle */
a.x = 0;
a.y = 0;
for (i = 0; i < 4; i++)
{
if (points[i].x < ax)
ax = points[i].x;
if (points[i].x < a.x)
a.x = points[i].x;
if (points[i].y < ay)
ay = points[i].y;
if (points[i].y < a.y)
a.y = points[i].y;
}
/* and translate all the points to the first quadrant */
for (i = 0; i < 4; i++)
{
points[i].x += (-ax) * 2;
points[i].y += (-ay) * 2;
points[i].x += (-a.x) * 2;
points[i].y += (-a.y) * 2;
}
/* find the convex hull using Jarvis's March as the points are passed
* in different orders due to gimp_matrix3_transform_point()
*/
min = 0;
for (i = 0; i < 4; i++)
{
@@ -281,14 +284,9 @@ gimp_transform_resize_crop (gdouble dx1,
min = i;
}
tx = points[0].x;
ty = points[0].y;
points[0].x = points[min].x;
points[0].y = points[min].y;
points[min].x = tx;
points[min].y = ty;
t = points[0];
points[0] = points[min];
points[min] = t;
for (i = 1; i < 4; i++)
{
@@ -314,35 +312,21 @@ gimp_transform_resize_crop (gdouble dx1,
theta_v = theta_m;
tx = points[i].x;
ty = points[i].y;
points[i].x = points[min].x;
points[i].y = points[min].y;
points[min].x = tx;
points[min].y = ty;
t = points[i];
points[i] = points[min];
points[min] = t;
}
/* reverse the order of points */
t = points[0];
points[0] = points[3];
points[3] = t;
tx = points[0].x;
ty = points[0].y;
t = points[1];
points[1] = points[2];
points[2] = t;
points[0].x = points[3].x;
points[0].y = points[3].y;
points[3].x = tx;
points[3].y = ty;
tx = points[1].x;
ty = points[1].y;
points[1].x = points[2].x;
points[1].y = points[2].y;
points[2].x = tx;
points[2].y = ty;
r.a.x = r.a.y = r.b.x = r.b.y = r.c.x = r.c.x = r.d.x = r.d.x = r.area = 0;
r.a.x = r.a.y = r.b.x = r.b.y = r.c.x = r.c.y = r.d.x = r.d.y = r.area = 0;
r.aspect = aspect;
if (aspect != 0)
@@ -361,16 +345,28 @@ gimp_transform_resize_crop (gdouble dx1,
}
}
*x1 = floor (r.a.x + 0.5);
*y1 = floor (r.a.y + 0.5);
*x2 = ceil (r.c.x - 0.5);
*y2 = ceil (r.c.y - 0.5);
*x1 = *x1 - ((-ax) * 2);
*y1 = *y1 - ((-ay) * 2);
*x2 = *x2 - ((-ax) * 2);
*y2 = *y2 - ((-ay) * 2);
if (r.area == 0)
{
/* saveguard if something went wrong, adjust and give warning */
gimp_transform_resize_adjust (dx1, dy1, dx2, dy2, dx3, dy3, dx4, dy4,
x1, y1, x2, y2);
g_warning ("no rectangle found by algorith, no cropping done");
return;
}
else
{
/* round and translate the calculated points back */
*x1 = floor (r.a.x + 0.5);
*y1 = floor (r.a.y + 0.5);
*x2 = ceil (r.c.x - 0.5);
*y2 = ceil (r.c.y - 0.5);
*x1 = *x1 - ((-a.x) * 2);
*y1 = *y1 - ((-a.y) * 2);
*x2 = *x2 - ((-a.x) * 2);
*y2 = *y2 - ((-a.y) * 2);
return;
}
}
static void
@@ -380,31 +376,31 @@ find_three_point_rectangle (Rectangle *r,
{
Point a = points[p % 4]; /* 0 1 2 3 */
Point b = points[(p + 1) % 4]; /* 1 2 3 0 */
Point c = points[(p + 2) % 4]; /* 2 3 0 2 */
Point d = points[(p + 3) % 4]; /* 3 0 1 1 */
Point c = points[(p + 2) % 4]; /* 2 3 0 1 */
Point d = points[(p + 3) % 4]; /* 3 0 1 2 */
Point i1; /* intersection point */
Point i2; /* intersection point */
Point i3; /* intersection point */
if (intersect_x (b, c, a, &i1) &&
intersect_y (c, d, i1, &i2) &&
intersect_x (d, a, i2, &i3))
if (intersect_x (b, c, a, &i1) &&
intersect_y (c, d, i1, &i2) &&
intersect_x (d, a, i2, &i3))
add_rectangle (points, r, i3, i3, i1, i1);
if (intersect_y (b, c, a, &i1) &&
intersect_x (c, d, i1, &i2) &&
intersect_y (a, i1, i2, &i3))
add_rectangle (points, r, i3, i3, i1, i2);
if (intersect_y (b, c, a, &i1) &&
intersect_x (c, d, i1, &i2) &&
intersect_y (d, a, i2, &i3))
add_rectangle (points, r, i3, i3, i1, i1);
if (intersect_x (c, d, a, &i1) &&
intersect_y (b, c, i1, &i2) &&
intersect_x (a, i1, i2, &i3))
add_rectangle (points, r, i3, i3, i1, i2);
if (intersect_x (d, c, a, &i1) &&
intersect_y (c, b, i1, &i2) &&
intersect_x (b, a, i2, &i3))
add_rectangle (points, r, i3, i3, i1, i1);
if (intersect_y (c, d, a, &i1) &&
intersect_x (b, c, i1, &i2) &&
intersect_y (a, i1, i2, &i3))
add_rectangle (points, r, i3, i3, i1, i2);
if (intersect_y (d, c, a, &i1) &&
intersect_x (c, b, i1, &i2) &&
intersect_y (b, a, i2, &i3))
add_rectangle (points, r, i3, i3, i1, i1);
}
static void
@@ -415,7 +411,7 @@ find_three_point_rectangle_corner (Rectangle *r,
Point a = points[p % 4]; /* 0 1 2 3 */
Point b = points[(p + 1) % 4]; /* 1 2 3 0 */
Point c = points[(p + 2) % 4]; /* 2 3 0 2 */
Point d = points[(p + 3) % 4]; /* 3 0 1 1 */
Point d = points[(p + 3) % 4]; /* 3 0 2 1 */
Point i1; /* intersection point */
Point i2; /* intersection point */
@@ -443,8 +439,8 @@ find_two_point_rectangle (Rectangle *r,
{
Point a = points[ p % 4]; /* 0 1 2 3 */
Point b = points[(p + 1) % 4]; /* 1 2 3 0 */
Point c = points[(p + 2) % 4]; /* 2 3 0 2 */
Point d = points[(p + 3) % 4]; /* 2 3 0 2 */
Point c = points[(p + 2) % 4]; /* 2 3 0 1 */
Point d = points[(p + 3) % 4]; /* 3 0 1 2 */
Point i1; /* intersection point */
Point i2; /* intersection point */
Point mid; /* Mid point */
@@ -469,8 +465,8 @@ find_three_point_rectangle_triangle (Rectangle *r,
{
Point a = points[p % 4]; /* 0 1 2 3 */
Point b = points[(p + 1) % 4]; /* 1 2 3 0 */
Point c = points[(p + 2) % 4]; /* 2 3 0 2 */
Point d = points[(p + 3) % 4]; /* 3 0 1 1 */
Point c = points[(p + 2) % 4]; /* 2 3 0 1 */
Point d = points[(p + 3) % 4]; /* 3 0 1 2 */
Point i1; /* intersection point */
Point i2; /* intersection point */
Point mid;
@@ -502,8 +498,8 @@ find_maximum_aspect_rectangle (Rectangle *r,
{
Point a = points[ p % 4]; /* 0 1 2 3 */
Point b = points[(p + 1) % 4]; /* 1 2 3 0 */
Point c = points[(p + 2) % 4]; /* 2 3 0 2 */
Point d = points[(p + 3) % 4]; /* 2 3 0 2 */
Point c = points[(p + 2) % 4]; /* 2 3 0 1 */
Point d = points[(p + 3) % 4]; /* 3 0 1 2 */
Point i1; /* intersection point */
Point i2; /* intersection point */
Point i3; /* intersection point */
@@ -513,6 +509,18 @@ find_maximum_aspect_rectangle (Rectangle *r,
i2.x = i1.x + 1.0 * r->aspect;
i2.y = i1.y + 1.0;
if (intersect (d, a, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
if (intersect (a, b, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
if (intersect (c, d, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
i2.x = i1.x - 1.0 * r->aspect;
i2.y = i1.y + 1.0;
if (intersect (d, a, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
@@ -523,8 +531,20 @@ find_maximum_aspect_rectangle (Rectangle *r,
add_rectangle (points, r, i1, i3, i1, i3);
}
if (intersect_x (b, c, a, &i1))
if (intersect_y (b, c, a, &i1))
{
i2.x = i1.x + 1.0 * r->aspect;
i2.y = i1.y + 1.0;
if (intersect (d, a, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
if (intersect (a, b, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
if (intersect (c, d, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
i2.x = i1.x - 1.0 * r->aspect;
i2.y = i1.y + 1.0;
@@ -543,6 +563,18 @@ find_maximum_aspect_rectangle (Rectangle *r,
i2.x = i1.x + 1.0 * r->aspect;
i2.y = i1.y + 1.0;
if (intersect (d, a, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
if (intersect (a, b, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
if (intersect (b, c, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
i2.x = i1.x - 1.0 * r->aspect;
i2.y = i1.y + 1.0;
if (intersect (d, a, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
@@ -553,8 +585,20 @@ find_maximum_aspect_rectangle (Rectangle *r,
add_rectangle (points, r, i1, i3, i1, i3);
}
if (intersect_x (c, d, a, &i1))
if (intersect_y (c, d, a, &i1))
{
i2.x = i1.x + 1.0 * r->aspect;
i2.y = i1.y + 1.0;
if (intersect (d, a, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
if (intersect (a, b, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
if (intersect (b, c, i1, i2, &i3))
add_rectangle (points, r, i1, i3, i1, i3);
i2.x = i1.x - 1.0 * r->aspect;
i2.y = i1.y + 1.0;
@@ -569,6 +613,9 @@ find_maximum_aspect_rectangle (Rectangle *r,
}
}
/* check if point is inside the polygon "points", if point is on border
* its still inside.
*/
static gboolean
in_poly (Point points[4],
Point p)
@@ -611,6 +658,8 @@ in_poly (Point points[4],
return (counter % 2 != 0);
}
/* check if the point p lies on the polygon "points"
*/
static gboolean
point_on_border (Point points[4],
Point p)
@@ -637,6 +686,9 @@ point_on_border (Point points[4],
return FALSE;
}
/* calculate the intersection point of the line a-b with the line c-d
* and write it to i, if existing.
*/
static gboolean
intersect (Point a,
Point b,
@@ -662,66 +714,41 @@ intersect (Point a,
return TRUE;
}
/* calculate the intersection point of the line a-b with the vertical line
* through c and write it to i, if existing.
*/
static gboolean
intersect_x (Point a,
Point b,
Point c,
Point *i)
{
gdouble a1, b1, c1;
gdouble a2, b2, c2;
gdouble det;
Point d = c;
d.y += 1;
a1 = (b.y - a.y);
b1 = (a.x - b.x);
c1 = a1 * a.x + b1 * a.y;
a2 = (d.y - c.y);
b2 = (c.x - d.x);
c2 = a2 * c.x + b2 * c.y;
det = a1 * b2 - a2 * b1;
if (det == 0)
return FALSE;
i->x = (b2 * c1 - b1 * c2) / det;
i->y = (a1 * c2 - a2 * c1) / det;
return TRUE;
return intersect(a,b,c,d,i);
}
/* calculate the intersection point of the line a-b with the horizontal line
* through c and write it to i, if existing.
*/
static gboolean
intersect_y (Point a,
Point b,
Point c,
Point *i)
{
gdouble a1, b1, c1, a2, b2, c2;
gdouble det;
Point d = c;
d.x += 1;
a1 = (b.y - a.y);
b1 = (a.x - b.x);
c1 = a1 * a.x + b1 * a.y;
a2 = (d.y - c.y);
b2 = (c.x - d.x);
c2 = a2 * c.x + b2 * c.y;
det = a1 * b2 - a2 * b1;
if (det == 0)
return FALSE;
i->x = (b2 * c1 - b1 * c2) / det;
i->y = (a1 * c2 - a2 * c1) / det;
return TRUE;
return intersect(a,b,c,d,i);
}
/* this takes the smallest ortho-aligned (the sides of the rectangle are
* parallel to the x- and y-axis) rectangle fitting around the points a to d,
* checks if the whole rectangle is inside the polygon described by points and
* writes it to r if the area is bigger than the rectangle already stored in r.
*/
static void
add_rectangle (Point points[4],
Rectangle *r,
@@ -734,8 +761,10 @@ add_rectangle (Point points[4],
gdouble height;
gdouble minx, maxx;
gdouble miny, maxy;
gint i;
/* get the orthoaligned (the sides of the rectangle are parallel to the x-
* and y-axis) rectangle surrounding the points a to d.
*/
minx = MIN4 (a.x, b.x, c.x, d.x);
maxx = MAX4 (a.x, b.x, c.x, d.x);
miny = MIN4 (a.y, b.y, c.y, d.y);
@@ -756,31 +785,33 @@ add_rectangle (Point points[4],
width = maxx - minx;
height = maxy - miny;
for ( i = 0 ; i < 4 ; i++)
/* check if this rectangle is inside the polygon "points" */
if (in_poly (points, a) &&
in_poly (points, b) &&
in_poly (points, c) &&
in_poly (points, d))
{
if (in_poly (points, a) &&
in_poly (points, b) &&
in_poly (points, c) &&
in_poly (points, d))
gdouble area = width * height;
/* check if the new rectangle is larger (in terms of area)
* than the currently stored rectangle in r, if yes store
* new rectangle to r
*/
if (r->area <= area)
{
gdouble area = width * height;
r->a.x = a.x;
r->a.y = a.y;
if (r->area <= area)
{
r->a.x = a.x;
r->a.y = a.y;
r->b.x = b.x;
r->b.y = b.y;
r->b.x = b.x;
r->b.y = b.y;
r->c.x = c.x;
r->c.y = c.y;
r->c.x = c.x;
r->c.y = c.y;
r->d.x = d.x;
r->d.y = d.y;
r->d.x = d.x;
r->d.y = d.y;
r->area = area;
}
r->area = area;
}
}
}

View File

@@ -84,6 +84,7 @@ enum
RESTORE,
EXIT,
BUFFER_CHANGED,
IMAGE_OPENED,
LAST_SIGNAL
};
@@ -161,6 +162,15 @@ gimp_class_init (GimpClass *klass)
gimp_marshal_VOID__VOID,
G_TYPE_NONE, 0);
gimp_signals[IMAGE_OPENED] =
g_signal_new ("image-opened",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GimpClass, image_opened),
NULL, NULL,
gimp_marshal_VOID__STRING,
G_TYPE_NONE, 1, G_TYPE_STRING);
object_class->dispose = gimp_dispose;
object_class->finalize = gimp_finalize;
@@ -1072,6 +1082,16 @@ gimp_message_valist (Gimp *gimp,
g_free (message);
}
void
gimp_image_opened (Gimp *gimp,
const gchar *uri)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
g_return_if_fail (uri != NULL);
g_signal_emit (gimp, gimp_signals[IMAGE_OPENED], 0, uri);
}
gboolean
gimp_use_gegl (Gimp *gimp)
{

View File

@@ -129,6 +129,10 @@ struct _GimpClass
gboolean force);
void (* buffer_changed) (Gimp *gimp);
/* emitted if an image is loaded and opened with a display */
void (* image_opened) (Gimp *gimp,
const gchar *uri);
};
@@ -188,6 +192,9 @@ void gimp_message_valist (Gimp *gimp,
const gchar *format,
va_list args);
void gimp_image_opened (Gimp *gimp,
const gchar *uri);
gboolean gimp_use_gegl (Gimp *gimp);

View File

@@ -394,16 +394,17 @@ gimp_channel_combine_ellipse_rect (GimpChannel *mask,
xj = ABS (cur_x + 0.5 - ellipse_center_x);
if (yi < b)
xdist = xj - a * sqrt (1 - yi * yi / b_sqr);
xdist = xj - a * sqrt (1 - SQR (yi) / b_sqr);
else
xdist = 100.0; /* anything large will work */
xdist = 1000.0; /* anything large will work */
if (xj < a)
ydist = yi - b * sqrt (1 - xj * xj / a_sqr);
ydist = yi - b * sqrt (1 - SQR (xj) / a_sqr);
else
ydist = 100.0; /* anything large will work */
ydist = 1000.0; /* anything large will work */
r = hypot (xdist, ydist);
if (r < 0.001)
dist = 0.;
else
@@ -430,19 +431,21 @@ gimp_channel_combine_ellipse_rect (GimpChannel *mask,
{
x_start = cur_x;
last_val = val;
}
/* because we are symetric accross the y axis we can
* skip ahead a bit if we are inside. Do this if we
* have reached a value of 255 OR if we have passed
* the center of the leftmost ellipse.
*/
if ((val == 255 || cur_x >= x + a) && cur_x < x + w / 2)
{
last_val = val = 255;
cur_x = (ellipse_center_x +
(ellipse_center_x - cur_x) - 1 +
floor (straight_width));
}
/* because we are symetric accross the y axis we can
* skip ahead a bit if we are inside. Do this if we
* have reached a value of 255 OR if we have passed
* the center of the leftmost ellipse.
*/
if ((val == 255 || cur_x >= x + a) && cur_x < x + w / 2)
{
x_start = cur_x;
last_val = val = 255;
cur_x = (ellipse_center_x +
(ellipse_center_x - cur_x) - 1 +
floor (straight_width));
}
/* Time to change center? */
@@ -450,7 +453,6 @@ gimp_channel_combine_ellipse_rect (GimpChannel *mask,
{
ellipse_center_x = x + a + straight_width;
}
}
gimp_channel_combine_segment (mask, op, x_start,

View File

@@ -809,7 +809,12 @@ gimp_curve_get_point (GimpCurve *curve,
g_return_if_fail (point >= 0 && point < curve->n_points);
if (curve->curve_type == GIMP_CURVE_FREE)
return;
{
if (x) *x = -1.0;
if (y) *y = -1.0;
return;
}
if (x) *x = curve->points[point].x;
if (y) *y = curve->points[point].y;

View File

@@ -25,9 +25,10 @@
#include "base/gimplut.h"
#include "base/lut-funcs.h"
#include "gegl/gimp-gegl-utils.h"
#include "gegl/gimpbrightnesscontrastconfig.h"
/* temp */
/* temporary */
#include "gimp.h"
#include "gimpimage.h"
@@ -60,10 +61,14 @@ gimp_drawable_brightness_contrast (GimpDrawable *drawable,
if (gimp_use_gegl (GIMP_ITEM (drawable)->image->gimp))
{
GeglNode *node;
GeglNode *node;
const gchar *name;
name = (gimp_gegl_check_version (0, 0, 21) ?
"gegl:brightness-contrast" : "brightness-contrast");
node = g_object_new (GEGL_TYPE_NODE,
"operation", "brightness-contrast",
"operation", name,
NULL);
gimp_brightness_contrast_config_set_node (config, node);

View File

@@ -129,7 +129,7 @@ gimp_drawable_curves_explicit (GimpDrawable *drawable,
gimp_data_freeze (GIMP_DATA (curve));
gimp_curve_set_curve_type (curve, GIMP_CURVE_SMOOTH);
gimp_curve_set_curve_type (curve, GIMP_CURVE_FREE);
for (i = 0; i < 256; i++)
gimp_curve_set_curve (curve,

View File

@@ -25,7 +25,9 @@
#include "base/gimplut.h"
#include "base/lut-funcs.h"
/* temp */
#include "gegl/gimp-gegl-utils.h"
/* temporary */
#include "gimp.h"
#include "gimpimage.h"
@@ -48,9 +50,12 @@ gimp_drawable_invert (GimpDrawable *drawable,
if (gimp_use_gegl (GIMP_ITEM (drawable)->image->gimp))
{
GeglNode *invert;
GeglNode *invert;
const gchar *name;
invert = g_object_new (GEGL_TYPE_NODE, "operation", "invert", NULL);
name = gimp_gegl_check_version (0, 0, 21) ? "gegl:invert" : "invert";
invert = g_object_new (GEGL_TYPE_NODE, "operation", name, NULL);
gimp_drawable_apply_operation (drawable, progress, _("Invert"),
invert, TRUE);

View File

@@ -89,14 +89,16 @@ gimp_drawable_merge_shadow_tiles (GimpDrawable *drawable,
*/
if (gimp_drawable_mask_intersect (drawable, &x, &y, &width, &height))
{
PixelRegion shadowPR;
TileManager *tiles = tile_manager_ref (drawable->shadow);
PixelRegion shadowPR;
pixel_region_init (&shadowPR, drawable->shadow,
x, y, width, height, FALSE);
pixel_region_init (&shadowPR, tiles, x, y, width, height, FALSE);
gimp_drawable_apply_region (drawable, &shadowPR,
push_undo, undo_desc,
GIMP_OPACITY_OPAQUE, GIMP_REPLACE_MODE,
NULL, x, y);
tile_manager_unref (tiles);
}
}

View File

@@ -577,6 +577,22 @@ gimp_drawable_transform_affine (GimpDrawable *drawable,
if (GIMP_IS_CHANNEL (drawable) && tile_manager_bpp (orig_tiles) == 1)
clip_result = GIMP_TRANSFORM_RESIZE_CLIP;
/* also transform the mask if we are transforming an entire layer */
if (GIMP_IS_LAYER (drawable) &&
gimp_layer_get_mask (GIMP_LAYER (drawable)) &&
gimp_channel_is_empty (gimp_image_get_mask (image)))
{
GimpLayerMask *mask = gimp_layer_get_mask (GIMP_LAYER (drawable));
gimp_item_transform (GIMP_ITEM (mask), context,
matrix,
direction,
interpolation_type,
recursion_level,
clip_result,
progress);
}
/* transform the buffer */
new_tiles = gimp_drawable_transform_tiles_affine (drawable, context,
orig_tiles,
@@ -664,6 +680,19 @@ gimp_drawable_transform_flip (GimpDrawable *drawable,
if (GIMP_IS_CHANNEL (drawable) && tile_manager_bpp (orig_tiles) == 1)
clip_result = TRUE;
/* also transform the mask if we are transforming an entire layer */
if (GIMP_IS_LAYER (drawable) &&
gimp_layer_get_mask (GIMP_LAYER (drawable)) &&
gimp_channel_is_empty (gimp_image_get_mask (image)))
{
GimpLayerMask *mask = gimp_layer_get_mask (GIMP_LAYER (drawable));
gimp_item_flip (GIMP_ITEM (mask), context,
flip_type,
axis,
clip_result);
}
/* transform the buffer */
if (orig_tiles)
{
@@ -740,6 +769,20 @@ gimp_drawable_transform_rotate (GimpDrawable *drawable,
if (GIMP_IS_CHANNEL (drawable) && tile_manager_bpp (orig_tiles) == 1)
clip_result = TRUE;
/* also transform the mask if we are transforming an entire layer */
if (GIMP_IS_LAYER (drawable) &&
gimp_layer_get_mask (GIMP_LAYER (drawable)) &&
gimp_channel_is_empty (gimp_image_get_mask (image)))
{
GimpLayerMask *mask = gimp_layer_get_mask (GIMP_LAYER (drawable));
gimp_item_rotate (GIMP_ITEM (mask), context,
rotate_type,
center_x,
center_y,
clip_result);
}
/* transform the buffer */
new_tiles = gimp_drawable_transform_tiles_rotate (drawable, context,
orig_tiles,

View File

@@ -379,36 +379,44 @@ pixel_difference (const guchar *col1,
break;
case GIMP_SELECT_CRITERION_H:
av0 = (gint)col1[0];
av1 = (gint)col1[1];
av2 = (gint)col1[2];
bv0 = (gint)col2[0];
bv1 = (gint)col2[1];
bv2 = (gint)col2[2];
av0 = (gint) col1[0];
av1 = (gint) col1[1];
av2 = (gint) col1[2];
bv0 = (gint) col2[0];
bv1 = (gint) col2[1];
bv2 = (gint) col2[2];
gimp_rgb_to_hsv_int (&av0, &av1, &av2);
gimp_rgb_to_hsv_int (&bv0, &bv1, &bv2);
max = abs (av0 - bv0);
/* wrap around candidates for the actual distance */
{
gint dist1 = abs (av0 - bv0);
gint dist2 = abs (av0 - 360 - bv0);
gint dist3 = abs (av0 - bv0 + 360);
max = MIN (dist1, dist2);
if (max > dist3)
max = dist3;
}
break;
case GIMP_SELECT_CRITERION_S:
av0 = (gint)col1[0];
av1 = (gint)col1[1];
av2 = (gint)col1[2];
bv0 = (gint)col2[0];
bv1 = (gint)col2[1];
bv2 = (gint)col2[2];
av0 = (gint) col1[0];
av1 = (gint) col1[1];
av2 = (gint) col1[2];
bv0 = (gint) col2[0];
bv1 = (gint) col2[1];
bv2 = (gint) col2[2];
gimp_rgb_to_hsv_int (&av0, &av1, &av2);
gimp_rgb_to_hsv_int (&bv0, &bv1, &bv2);
max = abs (av1 - bv1);
break;
case GIMP_SELECT_CRITERION_V:
av0 = (gint)col1[0];
av1 = (gint)col1[1];
av2 = (gint)col1[2];
bv0 = (gint)col2[0];
bv1 = (gint)col2[1];
bv2 = (gint)col2[2];
av0 = (gint) col1[0];
av1 = (gint) col1[1];
av2 = (gint) col1[2];
bv0 = (gint) col2[0];
bv1 = (gint) col2[1];
bv2 = (gint) col2[2];
gimp_rgb_to_hsv_int (&av0, &av1, &av2);
gimp_rgb_to_hsv_int (&bv0, &bv1, &bv2);
max = abs (av2 - bv2);

View File

@@ -2959,7 +2959,7 @@ median_cut_pass2_fixed_dither_gray (QuantizeObj *quantobj,
if (alpha_dither)
{
if ((src[ALPHA_G_PIX] << 6) < (255 * dmval))
if (src[ALPHA_G_PIX] < dmval)
transparent = TRUE;
}
else
@@ -3193,7 +3193,7 @@ median_cut_pass2_fixed_dither_rgb (QuantizeObj *quantobj,
if (alpha_dither)
{
if ((src[alpha_pix] << 6) < (255*dmval))
if (src[alpha_pix] < dmval)
transparent = TRUE;
}
else

View File

@@ -29,6 +29,8 @@
#include "paint-funcs/paint-funcs.h"
#include "gegl/gimp-gegl-utils.h"
#include "gimpdrawable.h"
#include "gimpdrawable-shadow.h"
#include "gimpimage.h"
@@ -455,6 +457,8 @@ gimp_image_map_apply (GimpImageMap *image_map,
{
if (! image_map->gegl)
{
const gchar *shift_name;
image_map->gegl = gegl_node_new ();
if (g_object_class_find_property (
@@ -466,9 +470,12 @@ gimp_image_map_apply (GimpImageMap *image_map,
"operation", "gimp-tilemanager-source",
NULL);
shift_name =
gimp_gegl_check_version (0, 0, 21) ? "gegl:translate" : "shift";
image_map->shift =
gegl_node_new_child (image_map->gegl,
"operation", "shift",
"operation", shift_name,
NULL);
gegl_node_add_child (image_map->gegl, image_map->operation);
@@ -510,9 +517,15 @@ gimp_image_map_apply (GimpImageMap *image_map,
* source OP, blend its result on top of the original
* pixels.
*/
GeglNode *over = gegl_node_new_child (image_map->gegl,
"operation", "over",
NULL);
const gchar *over_name;
GeglNode *over;
over_name =
gimp_gegl_check_version (0, 0, 21) ? "gegl:over" : "over";
over = gegl_node_new_child (image_map->gegl,
"operation", over_name,
NULL);
gegl_node_link_many (image_map->input,
image_map->shift,

View File

@@ -913,8 +913,9 @@ gimp_layer_transform_color (GimpImage *image,
PixelRegion *destPR,
GimpImageType dest_type)
{
GimpImageBaseType base_type = GIMP_IMAGE_TYPE_BASE_TYPE (src_type);
gboolean alpha = GIMP_IMAGE_TYPE_HAS_ALPHA (src_type);
GimpImageBaseType base_type = GIMP_IMAGE_TYPE_BASE_TYPE (src_type);
gboolean src_alpha = GIMP_IMAGE_TYPE_HAS_ALPHA (src_type);
gboolean dest_alpha = GIMP_IMAGE_TYPE_HAS_ALPHA (dest_type);
gpointer pr;
for (pr = pixel_regions_register (2, srcPR, destPR);
@@ -935,9 +936,9 @@ gimp_layer_transform_color (GimpImage *image,
{
gimp_image_transform_color (image, dest_type, d, base_type, s);
/* alpha channel */
d[destPR->bytes - 1] = (alpha ?
s[srcPR->bytes - 1] : OPAQUE_OPACITY);
if (dest_alpha)
d[destPR->bytes - 1] = (src_alpha ?
s[srcPR->bytes - 1] : OPAQUE_OPACITY);
s += srcPR->bytes;
d += destPR->bytes;

View File

@@ -44,6 +44,7 @@ VOID: INT
VOID: INT, INT
VOID: INT, INT, INT, INT
VOID: OBJECT
VOID: OBJECT, BOOLEAN
VOID: OBJECT, INT
VOID: OBJECT, OBJECT
VOID: OBJECT, POINTER

View File

@@ -361,13 +361,14 @@ gimp_projection_initialize (GimpProjection *proj,
gimp_item_offsets (item, &off_x, &off_y);
if (gimp_item_get_visible (item) &&
! gimp_drawable_has_alpha (GIMP_DRAWABLE (item)) &&
! gimp_layer_get_mask (GIMP_LAYER (item)) &&
gimp_layer_get_mode (GIMP_LAYER (item)) == GIMP_NORMAL_MODE &&
(off_x <= x) &&
(off_y <= y) &&
(off_x + gimp_item_width (item) >= x + w) &&
if (gimp_item_get_visible (item) &&
! gimp_drawable_has_alpha (GIMP_DRAWABLE (item)) &&
! gimp_layer_get_mask (GIMP_LAYER (item)) &&
gimp_layer_get_mode (GIMP_LAYER (item)) == GIMP_NORMAL_MODE &&
gimp_layer_get_opacity (GIMP_LAYER (item)) == GIMP_OPACITY_OPAQUE &&
(off_x <= x) &&
(off_y <= y) &&
(off_x + gimp_item_width (item) >= x + w) &&
(off_y + gimp_item_height (item) >= y + h))
{
coverage = TRUE;

8
app/dialogs/.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
/Makefile
/Makefile.in
/authors.h
/.deps
/.libs
/*.lo
/libappdialogs.a
/libappdialogs.la

View File

@@ -187,7 +187,11 @@ image_new_dialog_set (GtkWidget *widget,
template = gimp_image_new_get_last_template (dialog->context->gimp,
image);
gimp_config_sync (G_OBJECT (template), G_OBJECT (dialog->template), 0);
/* make sure the resolution values are copied first (see bug #546924) */
gimp_config_sync (G_OBJECT (template), G_OBJECT (dialog->template),
GIMP_TEMPLATE_PARAM_COPY_FIRST);
gimp_config_sync (G_OBJECT (template), G_OBJECT (dialog->template),
0);
g_object_unref (template);
}

View File

@@ -425,7 +425,13 @@ prefs_template_select_callback (GimpContainerView *view,
GimpTemplate *edit_template)
{
if (template)
gimp_config_sync (G_OBJECT (template), G_OBJECT (edit_template), 0);
{
/* make sure the resolution values are copied first (see bug #546924) */
gimp_config_sync (G_OBJECT (template), G_OBJECT (edit_template),
GIMP_TEMPLATE_PARAM_COPY_FIRST);
gimp_config_sync (G_OBJECT (template), G_OBJECT (edit_template),
0);
}
}
static void

View File

@@ -318,9 +318,10 @@ stroke_dialog_response (GtkWidget *widget,
if (! gimp_item_stroke (item, drawable, context, desc, FALSE, NULL,
&error))
{
gimp_message (context->gimp, G_OBJECT (widget),
gimp_message (context->gimp,
G_OBJECT (widget),
GIMP_MESSAGE_WARNING,
error->message);
error ? error->message : "NULL");
g_clear_error (&error);
return;
}

7
app/display/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/libappdisplay.a
/libappdisplay.la

View File

@@ -166,6 +166,7 @@ gimp_zoom_focus_get_type (void)
{ GIMP_ZOOM_FOCUS_BEST_GUESS, "GIMP_ZOOM_FOCUS_BEST_GUESS", "best-guess" },
{ GIMP_ZOOM_FOCUS_POINTER, "GIMP_ZOOM_FOCUS_POINTER", "pointer" },
{ GIMP_ZOOM_FOCUS_IMAGE_CENTER, "GIMP_ZOOM_FOCUS_IMAGE_CENTER", "image-center" },
{ GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS, "GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS", "retain-centering-else-best-guess" },
{ 0, NULL, NULL }
};
@@ -174,6 +175,7 @@ gimp_zoom_focus_get_type (void)
{ GIMP_ZOOM_FOCUS_BEST_GUESS, "GIMP_ZOOM_FOCUS_BEST_GUESS", NULL },
{ GIMP_ZOOM_FOCUS_POINTER, "GIMP_ZOOM_FOCUS_POINTER", NULL },
{ GIMP_ZOOM_FOCUS_IMAGE_CENTER, "GIMP_ZOOM_FOCUS_IMAGE_CENTER", NULL },
{ GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS, "GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS", NULL },
{ 0, NULL, NULL }
};

View File

@@ -87,9 +87,20 @@ GType gimp_zoom_focus_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_ZOOM_FOCUS_BEST_GUESS, /* Make a best guess */
GIMP_ZOOM_FOCUS_POINTER, /* Use the mouse cursor (if within canvas) */
GIMP_ZOOM_FOCUS_IMAGE_CENTER /* Use the image center */
/* Make a best guess */
GIMP_ZOOM_FOCUS_BEST_GUESS,
/* Use the mouse cursor (if within canvas) */
GIMP_ZOOM_FOCUS_POINTER,
/* Use the image center */
GIMP_ZOOM_FOCUS_IMAGE_CENTER,
/* If the image is centered, retain the centering. Else use
* _BEST_GUESS
*/
GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS
} GimpZoomFocus;

View File

@@ -350,7 +350,6 @@ gimp_display_shell_canvas_size_allocate (GtkWidget *widget,
}
gimp_display_shell_scroll_clamp_and_update (shell);
gimp_display_shell_scaled (shell);
/* Reset */
@@ -1138,14 +1137,15 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
active_tool = tool_manager_get_active (gimp);
if (active_tool &&
gimp_tool_control_get_motion_mode (active_tool->control) ==
GIMP_MOTION_MODE_COMPRESS)
if (shell->scrolling ||
(active_tool &&
gimp_tool_control_get_motion_mode (active_tool->control) ==
GIMP_MOTION_MODE_COMPRESS))
{
compressed_motion = gimp_display_shell_compress_motion (shell);
}
if (compressed_motion)
if (compressed_motion && ! shell->scrolling)
{
GdkDevice *device = gimp_devices_get_current (gimp);
@@ -1160,8 +1160,7 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
&display_coords,
&image_coords);
if (active_tool &&
gimp_tool_control_get_snap_to (active_tool->control))
if (gimp_tool_control_get_snap_to (active_tool->control))
{
gint x, y, width, height;
@@ -1187,10 +1186,17 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
if (shell->scrolling)
{
const gint x = (compressed_motion
? ((GdkEventMotion *) compressed_motion)->x
: mevent->x);
const gint y = (compressed_motion
? ((GdkEventMotion *) compressed_motion)->y
: mevent->y);
gimp_display_shell_scroll (shell,
(shell->scroll_start_x - mevent->x -
(shell->scroll_start_x - x -
shell->offset_x),
(shell->scroll_start_y - mevent->y -
(shell->scroll_start_y - y -
shell->offset_y));
}
else if (state & GDK_BUTTON1_MASK)
@@ -1842,9 +1848,9 @@ gimp_display_shell_key_to_state (gint key)
static GdkEvent *
gimp_display_shell_compress_motion (GimpDisplayShell *shell)
{
GList *requeued_events = NULL;
GList *list;
GdkEvent *last_motion = NULL;
GList *requeued_events = NULL;
const GList *list;
GdkEvent *last_motion = NULL;
/* Move the entire GDK event queue to a private list, filtering
* out any motion events for the desired widget.

View File

@@ -461,9 +461,12 @@ gimp_display_shell_drop_uri_list (GtkWidget *widget,
GimpImage *image = shell->display->image;
GimpContext *context = gimp_get_user_context (shell->display->gimp);
GList *list;
gboolean open_as_layers;
GIMP_LOG (DND, NULL);
open_as_layers = (shell->display->image != NULL);
for (list = uri_list; list; list = g_list_next (list))
{
const gchar *uri = list->data;
@@ -471,17 +474,7 @@ gimp_display_shell_drop_uri_list (GtkWidget *widget,
GError *error = NULL;
gboolean warn = FALSE;
if (! shell->display->image)
{
image = file_open_with_display (shell->display->gimp, context,
GIMP_PROGRESS (shell->display),
uri, FALSE,
&status, &error);
if (! image && status != GIMP_PDB_CANCEL)
warn = TRUE;
}
else
if (open_as_layers)
{
GList *new_layers;
@@ -510,6 +503,30 @@ gimp_display_shell_drop_uri_list (GtkWidget *widget,
warn = TRUE;
}
}
else if (shell->display->image)
{
/* open any subsequent images in a new display */
GimpImage *new_image;
new_image = file_open_with_display (shell->display->gimp, context,
NULL,
uri, FALSE,
&status, &error);
if (! new_image && status != GIMP_PDB_CANCEL)
warn = TRUE;
}
else
{
/* open the first image in the empty display */
image = file_open_with_display (shell->display->gimp, context,
GIMP_PROGRESS (shell->display),
uri, FALSE,
&status, &error);
if (! image && status != GIMP_PDB_CANCEL)
warn = TRUE;
}
if (warn)
{

View File

@@ -573,7 +573,9 @@ gimp_display_shell_draw_area (const GimpDisplayShell *shell,
if (! shell->display->image)
return;
gimp_display_shell_scroll_get_scaled_viewport_offset (shell, &sx, &sy);
sx = - shell->offset_x;
sy = - shell->offset_y;
gimp_display_shell_draw_get_scaled_image_size (shell, &sw, &sh);
/* check if the passed in area intersects with

View File

@@ -538,6 +538,15 @@ gimp_display_shell_size_changed_detailed_handler (GimpImage *image,
shell->offset_y + scaled_previous_origin_y);
gimp_display_shell_scroll_center_image (shell, horizontally, vertically);
/* The above calls might not lead to a call to
* gimp_display_shell_scroll_clamp_and_update() in all cases we
* need it to be called, so simply call it explicitly here at
* the end
*/
gimp_display_shell_scroll_clamp_and_update (shell);
gimp_display_shell_expose_full (shell);
}
}

View File

@@ -349,14 +349,13 @@ gimp_display_shell_draw_quad (GimpDrawable *texture,
gfloat *v,
guchar opacity)
{
gint x2[3], y2[3];
gfloat u2[3], v2[3];
gint minx, maxx, miny, maxy; /* screen bounds of the quad */
gint dwidth, dheight; /* dimensions of dest */
GdkPixbuf *area; /* quad sized area with dest pixels */
gint c;
gint x2[3], y2[3];
gfloat u2[3], v2[3];
gint minx, maxx, miny, maxy; /* screen bounds of the quad */
gint dwidth, dheight; /* dimensions of dest */
gint c;
g_return_if_fail(GDK_IS_DRAWABLE (dest));
g_return_if_fail (GDK_IS_DRAWABLE (dest));
x2[0] = x[3]; y2[0] = y[3]; u2[0] = u[3]; v2[0] = v[3];
x2[1] = x[2]; y2[1] = y[2]; u2[1] = u[2]; v2[1] = v[2];
@@ -382,21 +381,27 @@ gimp_display_shell_draw_quad (GimpDrawable *texture,
}
if (minx < 0) minx = 0;
if (miny < 0) miny = 0;
if (maxx > dwidth - 1) maxx=dwidth - 1;
if (maxy > dheight - 1) maxy=dheight - 1;
if (maxx > dwidth - 1) maxx = dwidth - 1;
if (maxy > dheight - 1) maxy = dheight - 1;
area = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8,
maxx - minx + 1, maxy - miny + 1);
g_return_if_fail (area != NULL);
if (minx <= maxx && miny <= maxy)
{
GdkPixbuf *area;
gimp_display_shell_draw_tri (texture, dest, area, minx, miny,
mask, mask_offx, mask_offy,
x, y, u, v, opacity);
gimp_display_shell_draw_tri (texture, dest, area, minx, miny,
mask, mask_offx, mask_offy,
x2, y2, u2, v2, opacity);
area = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8,
maxx - minx + 1, maxy - miny + 1);
g_object_unref (area);
g_return_if_fail (area != NULL);
gimp_display_shell_draw_tri (texture, dest, area, minx, miny,
mask, mask_offx, mask_offy,
x, y, u, v, opacity);
gimp_display_shell_draw_tri (texture, dest, area, minx, miny,
mask, mask_offx, mask_offy,
x2, y2, u2, v2, opacity);
g_object_unref (area);
}
}
/**

View File

@@ -59,13 +59,19 @@ static gboolean gimp_display_shell_scale_image_starts_to_fit
gdouble current_scale,
gboolean *vertically,
gboolean *horizontally);
static void gimp_display_shell_scale_viewport_coord_almost_centered
static gboolean gimp_display_shell_scale_viewport_coord_almost_centered
(GimpDisplayShell *shell,
gint x,
gint y,
gboolean *horizontally,
gboolean *vertically);
static void gimp_display_shell_scale_get_image_center_viewport
(GimpDisplayShell *shell,
gint *image_center_x,
gint *image_center_y);
static void gimp_display_shell_scale_get_zoom_focus (GimpDisplayShell *shell,
gdouble new_scale,
gdouble current_scale,
@@ -162,8 +168,6 @@ gimp_display_shell_scale_update_rulers (GimpDisplayShell *shell)
gdouble vertical_lower;
gdouble vertical_upper;
gdouble vertical_max_size;
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
if (! shell->display)
return;
@@ -211,24 +215,22 @@ gimp_display_shell_scale_update_rulers (GimpDisplayShell *shell)
/* Adjust due to scrolling */
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
horizontal_lower -= img2real (shell, TRUE,
FUNSCALEX (shell,
(gdouble) scaled_viewport_offset_x));
horizontal_upper -= img2real (shell, TRUE,
FUNSCALEX (shell,
(gdouble) scaled_viewport_offset_x));
vertical_lower -= img2real (shell, FALSE,
FUNSCALEY (shell,
(gdouble) scaled_viewport_offset_y));
vertical_upper -= img2real (shell, FALSE,
FUNSCALEY (shell,
(gdouble) scaled_viewport_offset_y));
if (image)
{
horizontal_lower += img2real (shell, TRUE,
FUNSCALEX (shell,
(gdouble) shell->offset_x));
horizontal_upper += img2real (shell, TRUE,
FUNSCALEX (shell,
(gdouble) shell->offset_x));
vertical_lower += img2real (shell, FALSE,
FUNSCALEY (shell,
(gdouble) shell->offset_y));
vertical_upper += img2real (shell, FALSE,
FUNSCALEY (shell,
(gdouble) shell->offset_y));
}
/* Finally setup the actual rulers */
@@ -367,14 +369,20 @@ gimp_display_shell_scale (GimpDisplayShell *shell,
* get things rolling
*/
gimp_zoom_model_zoom (shell->zoom, GIMP_ZOOM_TO, real_new_scale);
gimp_display_shell_scaled (shell);
gimp_display_shell_shrink_wrap (shell, FALSE);
}
else
{
gboolean starts_fitting_horizontally;
gboolean starts_fitting_vertically;
gboolean almost_centered_horizontally;
gboolean almost_centered_vertically;
gboolean starts_fitting_horiz;
gboolean starts_fitting_vert;
gboolean zoom_focus_almost_centered_horiz;
gboolean zoom_focus_almost_centered_vert;
gboolean image_center_almost_centered_horiz;
gboolean image_center_almost_centered_vert;
gint image_center_x;
gint image_center_y;
gimp_display_shell_scale_get_zoom_focus (shell,
real_new_scale,
@@ -382,6 +390,9 @@ gimp_display_shell_scale (GimpDisplayShell *shell,
&x,
&y,
zoom_focus);
gimp_display_shell_scale_get_image_center_viewport (shell,
&image_center_x,
&image_center_y);
gimp_display_shell_scale_to (shell, real_new_scale, x, y);
@@ -393,18 +404,27 @@ gimp_display_shell_scale (GimpDisplayShell *shell,
gimp_display_shell_scale_image_starts_to_fit (shell,
real_new_scale,
current_scale,
&starts_fitting_horizontally,
&starts_fitting_vertically);
&starts_fitting_horiz,
&starts_fitting_vert);
gimp_display_shell_scale_viewport_coord_almost_centered (shell,
x,
y,
&almost_centered_horizontally,
&almost_centered_vertically);
&zoom_focus_almost_centered_horiz,
&zoom_focus_almost_centered_vert);
gimp_display_shell_scale_viewport_coord_almost_centered (shell,
image_center_x,
image_center_y,
&image_center_almost_centered_horiz,
&image_center_almost_centered_vert);
gimp_display_shell_scroll_center_image (shell,
starts_fitting_horizontally ||
almost_centered_horizontally,
starts_fitting_vertically ||
almost_centered_vertically);
starts_fitting_horiz ||
(zoom_focus_almost_centered_horiz &&
image_center_almost_centered_horiz),
starts_fitting_vert ||
(zoom_focus_almost_centered_vert &&
image_center_almost_centered_vert));
}
}
}
@@ -448,7 +468,7 @@ gimp_display_shell_scale_fit_in (GimpDisplayShell *shell)
GIMP_ZOOM_TO,
zoom_factor,
GIMP_ZOOM_FOCUS_BEST_GUESS);
gimp_display_shell_scroll_center_image (shell, TRUE, TRUE);
}
@@ -865,21 +885,43 @@ gimp_display_shell_scale_image_stops_to_fit (GimpDisplayShell *shell,
* @vertically:
*
**/
static void
static gboolean
gimp_display_shell_scale_viewport_coord_almost_centered (GimpDisplayShell *shell,
gint x,
gint y,
gboolean *horizontally,
gboolean *vertically)
{
gint center_x = shell->disp_width / 2;
gint center_y = shell->disp_height / 2;
gboolean local_horizontally;
gboolean local_vertically;
gint center_x = shell->disp_width / 2;
gint center_y = shell->disp_height / 2;
*horizontally = x > center_x - ALMOST_CENTERED_THRESHOLD &&
x < center_x + ALMOST_CENTERED_THRESHOLD;
local_horizontally = (x > center_x - ALMOST_CENTERED_THRESHOLD &&
x < center_x + ALMOST_CENTERED_THRESHOLD);
*vertically = y > center_y - ALMOST_CENTERED_THRESHOLD &&
y < center_y + ALMOST_CENTERED_THRESHOLD;
local_vertically = (y > center_y - ALMOST_CENTERED_THRESHOLD &&
y < center_y + ALMOST_CENTERED_THRESHOLD);
if (horizontally) *horizontally = local_horizontally;
if (vertically) *vertically = local_vertically;
return local_horizontally && local_vertically;
}
static void
gimp_display_shell_scale_get_image_center_viewport (GimpDisplayShell *shell,
gint *image_center_x,
gint *image_center_y)
{
gint sw, sh;
gimp_display_shell_draw_get_scaled_image_size (shell,
&sw,
&sh);
if (image_center_x) *image_center_x = -shell->offset_x + sw / 2;
if (image_center_y) *image_center_y = -shell->offset_y + sh / 2;
}
/**
@@ -900,19 +942,14 @@ gimp_display_shell_scale_get_zoom_focus (GimpDisplayShell *shell,
gint *y,
GimpZoomFocus zoom_focus)
{
gint image_center_x, image_center_y;
gint other_x, other_y;
GimpZoomFocus real_zoom_focus = zoom_focus;
gint image_center_x, image_center_y;
gint other_x, other_y;
/* Calculate stops-to-fit focus point */
{
gint sw, sh;
gimp_display_shell_draw_get_scaled_image_size (shell,
&sw,
&sh);
image_center_x = -shell->offset_x + sw / 2;
image_center_y = -shell->offset_y + sh / 2;
}
gimp_display_shell_scale_get_image_center_viewport (shell,
&image_center_x,
&image_center_y);
/* Calculate other focus point */
{
@@ -964,7 +1001,25 @@ gimp_display_shell_scale_get_zoom_focus (GimpDisplayShell *shell,
}
/* Decide which one to use for each axis */
switch (zoom_focus)
if (zoom_focus == GIMP_ZOOM_FOCUS_RETAIN_CENTERING_ELSE_BEST_GUESS)
{
gboolean centered;
centered = gimp_display_shell_scale_viewport_coord_almost_centered (shell,
image_center_x,
image_center_y,
NULL,
NULL);
real_zoom_focus = (centered ?
GIMP_ZOOM_FOCUS_IMAGE_CENTER :
GIMP_ZOOM_FOCUS_BEST_GUESS);
}
else
{
real_zoom_focus = zoom_focus;
}
switch (real_zoom_focus)
{
case GIMP_ZOOM_FOCUS_POINTER:
*x = other_x;

View File

@@ -432,18 +432,12 @@ gimp_display_shell_scroll_get_scaled_viewport (const GimpDisplayShell *shell,
gint *w,
gint *h)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
if (x) *x = -scaled_viewport_offset_x;
if (y) *y = -scaled_viewport_offset_y;
if (w) *w = shell->disp_width;
if (h) *h = shell->disp_height;
*x = shell->offset_x;
*y = shell->offset_y;
*w = shell->disp_width;
*h = shell->disp_height;
}
/**
@@ -466,30 +460,10 @@ gimp_display_shell_scroll_get_viewport (const GimpDisplayShell *shell,
{
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
if (x) *x = shell->offset_x / shell->scale_x;
if (y) *y = shell->offset_y / shell->scale_y;
if (w) *w = shell->disp_width / shell->scale_x;
if (h) *h = shell->disp_height / shell->scale_y;
}
/**
* gimp_display_shell_scroll_get_scaled_viewport_offset:
* @shell:
* @x:
* @y:
*
* Gets the scaled image offset in viewport coordinates
*
**/
void
gimp_display_shell_scroll_get_scaled_viewport_offset (const GimpDisplayShell *shell,
gint *x,
gint *y)
{
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
if (x) *x = -shell->offset_x;
if (y) *y = -shell->offset_y;
*x = shell->offset_x / shell->scale_x;
*y = shell->offset_y / shell->scale_y;
*w = shell->disp_width / shell->scale_x;
*h = shell->disp_height / shell->scale_y;
}
/**
@@ -551,8 +525,8 @@ gimp_display_shell_scroll_get_render_start_offset (const GimpDisplayShell *shell
{
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
if (offset_x) *offset_x = MAX (0, shell->offset_x);
if (offset_y) *offset_y = MAX (0, shell->offset_y);
*offset_x = MAX (0, shell->offset_x);
*offset_y = MAX (0, shell->offset_y);
}
/**

View File

@@ -53,9 +53,6 @@ void gimp_display_shell_scroll_get_viewport (const GimpDisplaySh
gdouble *y,
gdouble *w,
gdouble *h);
void gimp_display_shell_scroll_get_scaled_viewport_offset (const GimpDisplayShell *shell,
gint *x,
gint *y);
void gimp_display_shell_scroll_get_disp_offset (const GimpDisplayShell *shell,
gint *disp_xoffset,
gint *disp_yoffset);

View File

@@ -181,7 +181,8 @@ gimp_display_shell_selection_control (GimpDisplayShell *shell,
break;
case GIMP_SELECTION_LAYER_ON:
selection_layer_draw (selection);
if (! selection->layer_hidden)
selection_layer_draw (selection);
break;
case GIMP_SELECTION_ON:

View File

@@ -331,10 +331,20 @@ gimp_display_shell_format_title (GimpDisplayShell *shell,
GimpDrawable *drawable = gimp_image_get_active_drawable (image);
if (drawable)
i += print (title, title_len, i, "%s",
gimp_object_get_name (GIMP_OBJECT (drawable)));
{
gchar *desc;
desc = gimp_viewable_get_description (GIMP_VIEWABLE (drawable),
NULL);
i += print (title, title_len, i, "%s", desc);
g_free (desc);
}
else
i += print (title, title_len, i, "%s", _("(none)"));
{
i += print (title, title_len, i, "%s", _("(none)"));
}
}
break;

View File

@@ -49,9 +49,6 @@ gimp_display_shell_transform_coordinate (const GimpDisplayShell *shell,
GimpCoords *image_coords,
GimpCoords *display_coords)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
g_return_if_fail (image_coords != NULL);
g_return_if_fail (display_coords != NULL);
@@ -61,12 +58,8 @@ gimp_display_shell_transform_coordinate (const GimpDisplayShell *shell,
display_coords->x = SCALEX (shell, image_coords->x);
display_coords->y = SCALEY (shell, image_coords->y);
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
display_coords->x += scaled_viewport_offset_x;
display_coords->y += scaled_viewport_offset_y;
display_coords->x -= shell->offset_x;
display_coords->y -= shell->offset_y;
}
/**
@@ -83,21 +76,14 @@ gimp_display_shell_untransform_coordinate (const GimpDisplayShell *shell,
GimpCoords *display_coords,
GimpCoords *image_coords)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
g_return_if_fail (display_coords != NULL);
g_return_if_fail (image_coords != NULL);
*image_coords = *display_coords;
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
image_coords->x = display_coords->x - scaled_viewport_offset_x;
image_coords->y = display_coords->y - scaled_viewport_offset_y;
image_coords->x = display_coords->x + shell->offset_x;
image_coords->y = display_coords->y + shell->offset_y;
image_coords->x /= shell->scale_x;
image_coords->y /= shell->scale_y;
@@ -111,8 +97,6 @@ gimp_display_shell_transform_xy (const GimpDisplayShell *shell,
gint *ny,
gboolean use_offsets)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
gint offset_x = 0;
gint offset_y = 0;
gint64 tx;
@@ -136,11 +120,8 @@ gimp_display_shell_transform_xy (const GimpDisplayShell *shell,
tx = ((gint64) x * shell->x_src_dec) / shell->x_dest_inc;
ty = ((gint64) y * shell->y_src_dec) / shell->y_dest_inc;
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
tx += scaled_viewport_offset_x;
ty += scaled_viewport_offset_y;
tx -= shell->offset_x;
ty -= shell->offset_y;
/* The projected coordinates might overflow a gint in the case of big
images at high zoom levels, so we clamp them here to avoid problems. */
@@ -173,8 +154,6 @@ gimp_display_shell_untransform_xy (const GimpDisplayShell *shell,
gboolean round,
gboolean use_offsets)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
gint offset_x = 0;
gint offset_y = 0;
gint64 tx;
@@ -192,11 +171,8 @@ gimp_display_shell_untransform_xy (const GimpDisplayShell *shell,
gimp_item_offsets (item, &offset_x, &offset_y);
}
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
tx = (gint64) x - scaled_viewport_offset_x;
ty = (gint64) y - scaled_viewport_offset_y;
tx = (gint64) x + shell->offset_x;
ty = (gint64) y + shell->offset_y;
tx *= shell->x_dest_inc;
ty *= shell->y_dest_inc;
@@ -232,8 +208,6 @@ gimp_display_shell_transform_xy_f (const GimpDisplayShell *shell,
gdouble *ny,
gboolean use_offsets)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
gint offset_x = 0;
gint offset_y = 0;
@@ -249,12 +223,8 @@ gimp_display_shell_transform_xy_f (const GimpDisplayShell *shell,
gimp_item_offsets (item, &offset_x, &offset_y);
}
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
*nx = SCALEX (shell, x + offset_x) + scaled_viewport_offset_x;
*ny = SCALEY (shell, y + offset_y) + scaled_viewport_offset_y;
*nx = SCALEX (shell, x + offset_x) - shell->offset_x;
*ny = SCALEY (shell, y + offset_y) - shell->offset_y;
}
/**
@@ -279,8 +249,6 @@ gimp_display_shell_untransform_xy_f (const GimpDisplayShell *shell,
gdouble *ny,
gboolean use_offsets)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
gint offset_x = 0;
gint offset_y = 0;
@@ -296,12 +264,8 @@ gimp_display_shell_untransform_xy_f (const GimpDisplayShell *shell,
gimp_item_offsets (item, &offset_x, &offset_y);
}
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
*nx = (x - scaled_viewport_offset_x) / shell->scale_x - offset_x;
*ny = (y - scaled_viewport_offset_y) / shell->scale_y - offset_y;
*nx = (x + shell->offset_x) / shell->scale_x - offset_x;
*ny = (y + shell->offset_y) / shell->scale_y - offset_y;
}
/**
@@ -339,21 +303,15 @@ gimp_display_shell_transform_points (const GimpDisplayShell *shell,
for (i = 0; i < n_points ; i++)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
gdouble x = points[i].x + offset_x;
gdouble y = points[i].y + offset_y;
x = x * shell->x_src_dec / shell->x_dest_inc;
y = y * shell->y_src_dec / shell->y_dest_inc;
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
coords[i].x = CLAMP (PROJ_ROUND64 (x) + scaled_viewport_offset_x,
coords[i].x = CLAMP (PROJ_ROUND64 (x) - shell->offset_x,
G_MININT, G_MAXINT);
coords[i].y = CLAMP (PROJ_ROUND64 (y) + scaled_viewport_offset_y,
coords[i].y = CLAMP (PROJ_ROUND64 (y) - shell->offset_y,
G_MININT, G_MAXINT);
}
}
@@ -393,21 +351,15 @@ gimp_display_shell_transform_coords (const GimpDisplayShell *shell,
for (i = 0; i < n_coords ; i++)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
gdouble x = image_coords[i].x + offset_x;
gdouble y = image_coords[i].y + offset_y;
x = x * shell->x_src_dec / shell->x_dest_inc;
y = y * shell->y_src_dec / shell->y_dest_inc;
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
disp_coords[i].x = CLAMP (PROJ_ROUND64 (x) + scaled_viewport_offset_x,
disp_coords[i].x = CLAMP (PROJ_ROUND64 (x) - shell->offset_x,
G_MININT, G_MAXINT);
disp_coords[i].y = CLAMP (PROJ_ROUND64 (y) + scaled_viewport_offset_y,
disp_coords[i].y = CLAMP (PROJ_ROUND64 (y) - shell->offset_y,
G_MININT, G_MAXINT);
}
}
@@ -447,8 +399,6 @@ gimp_display_shell_transform_segments (const GimpDisplayShell *shell,
for (i = 0; i < n_segs ; i++)
{
gint scaled_viewport_offset_x;
gint scaled_viewport_offset_y;
gint64 x1, x2;
gint64 y1, y2;
@@ -462,18 +412,10 @@ gimp_display_shell_transform_segments (const GimpDisplayShell *shell,
y1 = (y1 * shell->y_src_dec) / shell->y_dest_inc;
y2 = (y2 * shell->y_src_dec) / shell->y_dest_inc;
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
&scaled_viewport_offset_x,
&scaled_viewport_offset_y);
dest_segs[i].x1 = CLAMP (x1 + scaled_viewport_offset_x,
G_MININT, G_MAXINT);
dest_segs[i].x2 = CLAMP (x2 + scaled_viewport_offset_x,
G_MININT, G_MAXINT);
dest_segs[i].y1 = CLAMP (y1 + scaled_viewport_offset_y,
G_MININT, G_MAXINT);
dest_segs[i].y2 = CLAMP (y2 + scaled_viewport_offset_y,
G_MININT, G_MAXINT);
dest_segs[i].x1 = CLAMP (x1 - shell->offset_x, G_MININT, G_MAXINT);
dest_segs[i].x2 = CLAMP (x2 - shell->offset_x, G_MININT, G_MAXINT);
dest_segs[i].y1 = CLAMP (y1 - shell->offset_y, G_MININT, G_MAXINT);
dest_segs[i].y2 = CLAMP (y2 - shell->offset_y, G_MININT, G_MAXINT);
}
}

View File

@@ -674,6 +674,7 @@ gimp_display_shell_style_set (GtkWidget *widget,
GimpDisplayShell *shell = GIMP_DISPLAY_SHELL (widget);
GtkRequisition requisition;
GdkGeometry geometry;
GdkWindowHints geometry_mask;
GTK_WIDGET_CLASS (parent_class)->style_set (widget, prev_style);
@@ -691,9 +692,19 @@ gimp_display_shell_style_set (GtkWidget *widget,
geometry.min_height += requisition.height;
}
geometry_mask = GDK_HINT_MIN_SIZE;
/* Only set user pos on the empty display because it gets a pos
* set by gimp. All other displays should be placed by the window
* manager. See http://bugzilla.gnome.org/show_bug.cgi?id=559580
*/
if (! shell->display->image)
geometry_mask |= GDK_HINT_USER_POS;
gtk_window_set_geometry_hints (GTK_WINDOW (widget), NULL,
&geometry,
GDK_HINT_MIN_SIZE | GDK_HINT_USER_POS);
&geometry, geometry_mask);
gimp_dialog_factory_set_has_min_size (GTK_WINDOW (widget), TRUE);
}
static void
@@ -1365,6 +1376,7 @@ gimp_display_shell_empty (GimpDisplayShell *shell)
gimp_display_shell_expose_full (shell);
gtk_window_unmaximize (GTK_WINDOW (shell));
gtk_window_resize (GTK_WINDOW (shell), width, height);
/* update the ui managers */
@@ -1450,6 +1462,12 @@ gimp_display_shell_scale_changed (GimpDisplayShell *shell)
shell->y_dest_inc = gimp_image_get_height (image);
shell->x_src_dec = SCALEX (shell, gimp_image_get_width (image));
shell->y_src_dec = SCALEY (shell, gimp_image_get_height (image));
if (shell->x_src_dec < 1)
shell->x_src_dec = 1;
if (shell->y_src_dec < 1)
shell->y_src_dec = 1;
}
else
{
@@ -1851,8 +1869,25 @@ gimp_display_shell_shrink_wrap (GimpDisplayShell *shell,
disp_width = shell->disp_width;
disp_height = shell->disp_height;
border_x = widget->allocation.width - disp_width;
border_y = widget->allocation.height - disp_height;
/* As long as the disp_width/disp_heightheight is larger than 1 we
* can reliably depend on it to calculate the
* border_width/border_height because that means there is enough
* room in the top-level for the canvas as well as the rulers and
* scrollbars. If it is 1 or smaller it is likely that the rulers
* and scrollbars are overlapping each other and thus we cannot use
* the normal approach to border size, so special case that.
*/
if (disp_width > 1 || !shell->vsb)
border_x = widget->allocation.width - disp_width;
else
border_x = widget->allocation.width - disp_width + shell->vsb->allocation.width;
if (disp_height > 1 || !shell->hsb)
border_y = widget->allocation.height - disp_height;
else
border_y = widget->allocation.height - disp_height + shell->hsb->allocation.height;
max_auto_width = (rect.width - border_x) * 0.75;
max_auto_height = (rect.height - border_y) * 0.75;

View File

@@ -817,8 +817,8 @@ gimp_statusbar_push_coords (GimpStatusbar *statusbar,
switch (precision)
{
case GIMP_CURSOR_PRECISION_PIXEL_CENTER:
x = RINT (x + 0.5);
y = RINT (y + 0.5);
x = (gint) x;
y = (gint) y;
break;
case GIMP_CURSOR_PRECISION_PIXEL_BORDER:
@@ -1192,8 +1192,8 @@ gimp_statusbar_update_cursor (GimpStatusbar *statusbar,
switch (precision)
{
case GIMP_CURSOR_PRECISION_PIXEL_CENTER:
x = RINT (x + 0.5);
y = RINT (y + 0.5);
x = (gint) x;
y = (gint) y;
break;
case GIMP_CURSOR_PRECISION_PIXEL_BORDER:

7
app/file/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/libappfile.a
/libappfile.la

View File

@@ -366,6 +366,9 @@ file_open_with_proc_and_display (Gimp *gimp,
/* the display owns the image now */
g_object_unref (image);
/* announce that we opened this image */
gimp_image_opened (image->gimp, uri);
}
return image;

View File

@@ -138,7 +138,7 @@ file_procedure_find (GSList *procs,
g_set_error (error,
G_FILE_ERROR,
g_file_error_from_errno (errno),
g_strerror (errno));
"%s", g_strerror (errno));
}
}
@@ -173,7 +173,7 @@ file_procedure_find (GSList *procs,
g_set_error (error,
G_FILE_ERROR,
g_file_error_from_errno (errno),
g_strerror (errno));
"%s", g_strerror (errno));
fclose (ifp);
}

View File

@@ -108,7 +108,7 @@ file_save (GimpImage *image,
if (! g_file_test (filename, G_FILE_TEST_IS_REGULAR))
{
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
_("Not a regular file"));
"%s", _("Not a regular file"));
status = GIMP_PDB_EXECUTION_ERROR;
goto out;
}
@@ -116,7 +116,7 @@ file_save (GimpImage *image,
if (g_access (filename, W_OK) != 0)
{
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_ACCES,
g_strerror (errno));
"%s", g_strerror (errno));
status = GIMP_PDB_EXECUTION_ERROR;
goto out;
}

5
app/gegl/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
/Makefile
/Makefile.in
/.deps
/.libs
/libappgegl.a

View File

@@ -15,7 +15,7 @@ INCLUDES = \
noinst_LIBRARIES = libappgegl.a
libappgegl_a_SOURCES = \
gegl-types.h \
gimp-gegl-types.h \
gimp-gegl.c \
gimp-gegl.h \
gimp-gegl-utils.c \

View File

@@ -18,8 +18,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __GEGL_TYPES_H__
#define __GEGL_TYPES_H__
#ifndef __GIMP_GEGL_TYPES_H__
#define __GIMP_GEGL_TYPES_H__
#include "core/core-types.h"
@@ -53,4 +53,4 @@ typedef struct _GimpPosterizeConfig GimpPosterizeConfig;
typedef struct _GimpThresholdConfig GimpThresholdConfig;
#endif /* __GEGL_TYPES_H__ */
#endif /* __GIMP_GEGL_TYPES_H__ */

View File

@@ -23,7 +23,7 @@
#include <gegl.h>
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimp-gegl-utils.h"
@@ -85,3 +85,27 @@ gimp_bpp_to_babl_format_linear (guint bpp)
return NULL;
}
/**
* gimp_gegl_check_version:
* @required_major: the required major version.
* @required_minor: the required minor version.
* @required_micro: the required micro version.
*
* Return value: %TRUE if the GEGL library in use is the given
* version or newer, %FALSE otherwise
*/
gboolean
gimp_gegl_check_version (guint required_major,
guint required_minor,
guint required_micro)
{
gint major, minor, micro;
if (required_major != GEGL_MAJOR_VERSION)
return FALSE; /* major mismatch */
gegl_get_version (&major, &minor, &micro);
return (100 * minor + micro >= 100 * required_minor + required_micro);
}

View File

@@ -26,6 +26,9 @@
const Babl * gimp_bpp_to_babl_format (guint bpp) G_GNUC_CONST;
const Babl * gimp_bpp_to_babl_format_linear (guint bpp) G_GNUC_CONST;
gboolean gimp_gegl_check_version (guint required_major,
guint required_minor,
guint required_micro);
#endif /* __GIMP_GEGL_UTILS_H__ */

View File

@@ -23,7 +23,7 @@
#include <gegl.h>
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "base/tile.h"

View File

@@ -26,7 +26,7 @@
#include "libgimpmath/gimpmath.h"
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpbrightnesscontrastconfig.h"
#include "gimplevelsconfig.h"

View File

@@ -27,7 +27,7 @@
#include "libgimpmath/gimpmath.h"
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
/* temp cruft */
#include "base/color-balance.h"

View File

@@ -25,7 +25,7 @@
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
/* temp cruft */
#include "base/colorize.h"

View File

@@ -30,7 +30,7 @@
#include "libgimpmath/gimpmath.h"
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "base/gimphistogram.h"
@@ -411,10 +411,12 @@ gimp_curves_config_load_cruft (GimpCurvesConfig *config,
gimp_curve_set_curve_type (curve, GIMP_CURVE_SMOOTH);
gimp_curve_reset (curve, FALSE);
for (j = 0; j < GIMP_CURVE_N_CRUFT_POINTS; j++)
{
if (index[i][j] < 0 || value[i][j] < 0)
gimp_curve_set_point (curve, j, -1, -1);
gimp_curve_set_point (curve, j, -1.0, -1.0);
else
gimp_curve_set_point (curve, j,
(gdouble) index[i][j] / 255.0,
@@ -476,9 +478,11 @@ gimp_curves_config_save_cruft (GimpCurvesConfig *config,
for (j = 0; j < curve->n_points; j++)
{
gdouble x, y;
gimp_curve_get_point (curve, j, &x, &y);
/* don't use gimp_curve_get_point() becaue that doesn't
* work when the curve type is GIMP_CURVE_FREE
*/
gdouble x = curve->points[j].x;
gdouble y = curve->points[j].y;
if (x < 0.0 || y < 0.0)
{

View File

@@ -25,7 +25,7 @@
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpdesaturateconfig.h"

View File

@@ -25,7 +25,7 @@
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
/* temp cruft */
#include "base/hue-saturation.h"

View File

@@ -31,7 +31,7 @@
#include "libgimpmath/gimpmath.h"
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "base/gimphistogram.h"

View File

@@ -26,7 +26,7 @@
#include "libgimpcolor/gimpcolor.h"
#include "libgimpmath/gimpmath.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpcolorbalanceconfig.h"
#include "gimpoperationcolorbalance.h"

View File

@@ -25,7 +25,7 @@
#include "libgimpcolor/gimpcolor.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpcolorizeconfig.h"
#include "gimpoperationcolorize.h"

View File

@@ -26,7 +26,7 @@
#include "libgimpcolor/gimpcolor.h"
#include "libgimpmath/gimpmath.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "core/gimpcurve.h"
#include "core/gimpcurve-map.h"

View File

@@ -25,7 +25,7 @@
#include "libgimpcolor/gimpcolor.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpoperationdesaturate.h"
#include "gimpdesaturateconfig.h"

View File

@@ -26,7 +26,7 @@
#include "libgimpcolor/gimpcolor.h"
#include "libgimpmath/gimpmath.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimphuesaturationconfig.h"
#include "gimpoperationhuesaturation.h"

View File

@@ -26,7 +26,7 @@
#include "libgimpcolor/gimpcolor.h"
#include "libgimpmath/gimpmath.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimplevelsconfig.h"
#include "gimpoperationlevels.h"
@@ -90,12 +90,12 @@ gimp_operation_levels_map (gdouble value,
else
value = (value - low_input);
/* clamp to new black and white points */
value = CLAMP (value, 0.0, 1.0);
if (inv_gamma != 1.0)
{
if (value >= 0.0)
value = pow ( value, inv_gamma);
else
value = -pow (-value, inv_gamma);
value = pow ( value, inv_gamma);
}
/* determine the output intensity */

View File

@@ -23,7 +23,7 @@
#include <gegl.h>
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpoperationpointfilter.h"

View File

@@ -26,7 +26,7 @@
#include "libgimpcolor/gimpcolor.h"
#include "libgimpmath/gimpmath.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpoperationposterize.h"
#include "gimpposterizeconfig.h"

View File

@@ -25,7 +25,7 @@
#include "libgimpcolor/gimpcolor.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpoperationthreshold.h"
#include "gimpthresholdconfig.h"

View File

@@ -26,7 +26,7 @@
#include <gegl.h>
#include <gegl-buffer.h>
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "base/base-types.h"
#include "base/tile-manager.h"
@@ -218,7 +218,7 @@ gimp_operation_tile_sink_process (GeglOperation *operation,
pr;
pr = pixel_regions_process (pr))
{
const GeglRectangle rect = { destPR.x, destPR.y, destPR.w, destPR.h };
GeglRectangle rect = { destPR.x, destPR.y, destPR.w, destPR.h };
gegl_buffer_get (input,
1.0, &rect, format, destPR.data, destPR.rowstride);

View File

@@ -26,7 +26,7 @@
#include <gegl.h>
#include <gegl-buffer.h>
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "base/tile-manager.h"
#include "base/pixel-region.h"
@@ -238,7 +238,7 @@ gimp_operation_tile_source_process (GeglOperation *operation,
pr;
pr = pixel_regions_process (pr))
{
const GeglRectangle rect = { srcPR.x, srcPR.y, srcPR.w, srcPR.h };
GeglRectangle rect = { srcPR.x, srcPR.y, srcPR.w, srcPR.h };
gegl_buffer_set (output, &rect, format, srcPR.data, srcPR.rowstride);
}

View File

@@ -25,7 +25,7 @@
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
#include "gimpposterizeconfig.h"

View File

@@ -25,7 +25,7 @@
#include "libgimpconfig/gimpconfig.h"
#include "gegl-types.h"
#include "gimp-gegl-types.h"
/* temp cruft */
#include "base/threshold.h"

View File

@@ -47,9 +47,15 @@ gimp_log_init (void)
{ "scale", GIMP_LOG_SCALE }
};
gimp_log_flags = g_parse_debug_string (env_log_val,
log_keys,
G_N_ELEMENTS (log_keys));
/* g_parse_debug_string() has special treatment of the string 'help',
* but we want to use it for the GIMP_LOG_HELP domain
*/
if (g_ascii_strcasecmp (env_log_val, "help") == 0)
gimp_log_flags = GIMP_LOG_HELP;
else
gimp_log_flags = g_parse_debug_string (env_log_val,
log_keys,
G_N_ELEMENTS (log_keys));
}
}

8
app/gui/.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/gimpdbusservice-glue.h
/libappgui.a
/libappgui.la

View File

@@ -3,17 +3,26 @@
<node name="/org/gimp/GIMP/UI">
<interface name="org.gimp.GIMP.UI">
<annotation name="org.freedesktop.DBus.GLib.CSymbol"
value="gimp_dbus_service" />
<method name="Open">
<arg type="s" name="uri" direction="in" />
<arg type="b" name="success" direction="out" />
</method>
<method name="OpenAsNew">
<arg type="s" name="uri" direction="in" />
<arg type="b" name="success" direction="out" />
</method>
<method name="Activate" />
<signal name="Opened">
<arg type="s" name="uri" />
</signal>
</interface>
</node>

View File

@@ -39,6 +39,12 @@
#include "gimpdbusservice-glue.h"
enum
{
OPENED,
LAST_SIGNAL
};
typedef struct
{
gchar *uri;
@@ -52,6 +58,10 @@ static void gimp_dbus_service_init (GimpDBusService *service);
static void gimp_dbus_service_dispose (GObject *object);
static void gimp_dbus_service_finalize (GObject *object);
static void gimp_dbus_service_gimp_opened (Gimp *gimp,
const gchar *uri,
GimpDBusService *service);
static gboolean gimp_dbus_service_queue_open (GimpDBusService *service,
const gchar *uri,
gboolean as_new);
@@ -67,12 +77,23 @@ G_DEFINE_TYPE (GimpDBusService, gimp_dbus_service, G_TYPE_OBJECT)
#define parent_class gimp_dbus_service_parent_class
static guint gimp_dbus_service_signals[LAST_SIGNAL] = { 0 };
static void
gimp_dbus_service_class_init (GimpDBusServiceClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
gimp_dbus_service_signals[OPENED] =
g_signal_new ("opened",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GimpDBusServiceClass, opened),
NULL, NULL,
g_cclosure_marshal_VOID__STRING,
G_TYPE_NONE, 1, G_TYPE_STRING);
object_class->dispose = gimp_dbus_service_dispose;
object_class->finalize = gimp_dbus_service_finalize;
@@ -97,6 +118,10 @@ gimp_dbus_service_new (Gimp *gimp)
service->gimp = gimp;
g_signal_connect_object (gimp, "image-opened",
G_CALLBACK (gimp_dbus_service_gimp_opened),
service, 0);
return G_OBJECT (service);
}
@@ -185,6 +210,14 @@ gimp_dbus_service_activate (GimpDBusService *service,
return TRUE;
}
static void
gimp_dbus_service_gimp_opened (Gimp *gimp,
const gchar *uri,
GimpDBusService *service)
{
g_signal_emit (service, gimp_dbus_service_signals[OPENED], 0, uri);
}
/*
* Adds a request to open a file to the end of the queue and
* starts an idle source if it is not already running.

View File

@@ -53,6 +53,10 @@ struct _GimpDBusService
struct _GimpDBusServiceClass
{
GObjectClass parent_class;
/* signals */
void (* opened) (GimpDBusService *service,
const gchar *uri);
};

View File

@@ -51,8 +51,8 @@ static DBusGConnection *dbus_connection = NULL;
#ifdef G_OS_WIN32
#include "file/file-open.h"
static void gui_unique_win32_init (Gimp *gimp);
static void gui_unique_win32_exit (void);
static void gui_unique_win32_init (Gimp *gimp);
static void gui_unique_win32_exit (void);
static Gimp *unique_gimp = NULL;
static HWND proxy_window = NULL;

View File

@@ -112,6 +112,9 @@ static void gui_show_tooltips_notify (GimpGuiConfig *gui_config,
static void gui_show_help_button_notify (GimpGuiConfig *gui_config,
GParamSpec *pspec,
Gimp *gimp);
static void gui_user_manual_notify (GimpGuiConfig *gui_config,
GParamSpec *pspec,
Gimp *gimp);
static void gui_tearoff_menus_notify (GimpGuiConfig *gui_config,
GParamSpec *pspec,
GtkUIManager *manager);
@@ -369,6 +372,9 @@ gui_restore_callback (Gimp *gimp,
g_signal_connect (gui_config, "notify::use-help",
G_CALLBACK (gui_show_help_button_notify),
gimp);
g_signal_connect (gui_config, "notify::user-manual-online",
G_CALLBACK (gui_user_manual_notify),
gimp);
g_signal_connect (gui_config, "notify::show-help-button",
G_CALLBACK (gui_show_help_button_notify),
gimp);
@@ -587,6 +593,9 @@ gui_exit_after_callback (Gimp *gimp,
g_signal_handlers_disconnect_by_func (gimp->config,
gui_show_help_button_notify,
gimp);
g_signal_handlers_disconnect_by_func (gimp->config,
gui_user_manual_notify,
gimp);
g_signal_handlers_disconnect_by_func (gimp->config,
gui_show_tooltips_notify,
gimp);
@@ -636,6 +645,14 @@ gui_show_help_button_notify (GimpGuiConfig *gui_config,
gui_config->show_help_button);
}
static void
gui_user_manual_notify (GimpGuiConfig *gui_config,
GParamSpec *param_spec,
Gimp *gimp)
{
gimp_help_user_manual_changed (gimp);
}
static void
gui_tearoff_menus_notify (GimpGuiConfig *gui_config,
GParamSpec *pspec,

7
app/menus/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/libappmenus.a
/libappmenus.la

7
app/paint-funcs/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/libapppaint-funcs.a
/libapppaint-funcs.la

View File

@@ -208,20 +208,7 @@ scale_determine_levels (PixelRegion *srcPR,
gint width = srcPR->w;
gint height = srcPR->h;
/* determine scaling levels */
while (scalex > 2)
{
scalex /= 2;
width *= 2;
*levelx -= 1;
}
while (scaley > 2)
{
scaley /= 2;
height *= 2;
*levely -= 1;
}
/* downscaling is done in multiple steps */
while (scalex < 0.5 && width > 1)
{
@@ -466,8 +453,8 @@ scale (TileManager *srcTM,
const guint bytes = tile_manager_bpp (dstTM);
const guint dst_width = tile_manager_width (dstTM);
const guint dst_height = tile_manager_height (dstTM);
const gdouble scaley = (gdouble) dst_height / (gdouble) src_height;
const gdouble scalex = (gdouble) dst_width / (gdouble) src_width;
const gdouble scaley = (gdouble) src_height / (gdouble) dst_height;
const gdouble scalex = (gdouble) src_width / (gdouble) dst_width;
gpointer pr;
gfloat *kernel_lookup = NULL;
@@ -522,38 +509,38 @@ scale (TileManager *srcTM,
for (y = region.y; y < y1; y++)
{
guchar *pixel = row;
gdouble yfrac = y / scaley;
gint sy0 = (gint) yfrac;
gdouble yfrac = (y + 0.5) * scaley - 0.5;
gint sy = (gint) yfrac;
gint x;
yfrac = yfrac - sy0;
yfrac = yfrac - sy;
for (x = region.x; x < x1; x++)
{
gdouble xfrac = x / scalex;
gint sx0 = (gint) xfrac;
gdouble xfrac = (x + 0.5) * scalex - 0.5;
gint sx = (gint) xfrac;
xfrac = xfrac - sx0;
xfrac = xfrac - sx;
switch (interpolation)
{
case GIMP_INTERPOLATION_NONE:
interpolate_nearest (srcTM, sx0, sy0, xfrac, yfrac, pixel);
interpolate_nearest (srcTM, sx, sy, xfrac, yfrac, pixel);
break;
case GIMP_INTERPOLATION_LINEAR:
interpolate_bilinear (surround,
sx0, sy0, xfrac, yfrac, bytes, pixel);
sx, sy, xfrac, yfrac, bytes, pixel);
break;
case GIMP_INTERPOLATION_CUBIC:
interpolate_cubic (surround,
sx0, sy0, xfrac, yfrac, bytes, pixel);
sx, sy, xfrac, yfrac, bytes, pixel);
break;
case GIMP_INTERPOLATION_LANCZOS:
interpolate_lanczos3 (surround,
sx0, sy0, xfrac, yfrac, bytes, pixel,
sx, sy, xfrac, yfrac, bytes, pixel,
kernel_lookup);
break;
}
@@ -869,7 +856,7 @@ pixel_average2 (const guchar *p1,
break;
case 510: /* all opaque */
p[0] = (p1[0] + p2[0] + 1) >> 2;
p[0] = (p1[0] + p2[0] + 1) >> 1;
p[1] = 255;
break;

7
app/paint/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
/Makefile
/Makefile.in
/.deps
/.libs
/*.lo
/libapppaint.a
/libapppaint.la

View File

@@ -299,17 +299,18 @@ gimp_heal_laplace_iteration (gdouble *matrix,
gdouble *solution,
guchar *mask)
{
gint rowstride = width * depth;
gint i, j, k;
gdouble tmp, diff;
gdouble err = 0.0;
const gint rowstride = width * depth;
gint i, j, k;
gdouble tmp, diff;
gdouble err = 0.0;
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
{
if ((0 == *mask) || (i == 0) || (i == (height - 1)) ||
(j == 0) || (j == (height - 1)))
if ((0 == *mask) ||
(i == 0) || (i == (height - 1)) ||
(j == 0) || (j == (width - 1)))
{
/* do nothing at the boundary or outside mask */
for (k = 0; k < depth; k++)

Some files were not shown because too many files have changed in this diff Show More