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

Compare commits

...

787 Commits

Author SHA1 Message Date
Sven Neumann
000f73cc27 Bug 618580 - Thread pool creation fails if number of CPUs is > GIMP_MAX_NUM_THREADS
Clamp the default value for the number of processors to use to the
maximum number of threads.

(cherry picked from commit 00f0350413)
2014-10-07 16:02:10 +02:00
Balázs Úr
9438cfecf5 Updated Hungarian translation 2014-03-20 16:07:27 +01:00
Nils Philippsen
0e859d77a4 file-xwd: sanity check # of colors and map entries (CVE-2013-1978)
The number of colors in an image shouldn't be higher than the number of
colormap entries. Additionally, consolidate post error cleanup in
load_image().

(cherry picked from commit f597355beffd9e483e11407d4c3b56f32db3634d)

Conflicts:
	plug-ins/common/file-xwd.c
2013-11-26 16:46:32 +01:00
Nils Philippsen
624306cb84 file-xwd: sanity check colormap size (CVE-2013-1913)
(cherry picked from commit 3997c7188a71dc8fc4c6a7513061180cbbd3590e)
2013-11-26 14:01:16 +01:00
Balázs Úr
d7a1ef362f Updated Hungarian translation 2013-09-22 10:32:42 +02:00
Michael Natterer
e525cf82fb Bug 687392 - Memory corruption vulnerability when reading XWD files
Applied and enhanced patch from andres which makes file-xwd detect
this kind of file corruption and abort loading with an error message.
(cherry picked from commit 0b35f6a082)
2013-03-19 11:12:32 +01:00
Mukund Sivaraman
7a5fc5b07e file-xwd: Delete dead variable and assignment
(cherry picked from commit f3d6e1ce8c)
2013-03-19 11:12:26 +01:00
Nils Philippsen
9c7d65e16b file-cel: make generating thumbnails more robust
Ran non-interactively, file-cel could crash e.g. if loading an image to
generate a thumbnail, because there is no way to specify a palette file
in that case.
(cherry picked from commit 96ce2c936d)
2012-09-06 12:52:50 +02:00
Piotr Drąg
6b310ee9e9 Updated POTFILES.in 2012-08-20 14:54:13 +02:00
Michael Natterer
a2fd2c9ded Bug 676804 - file handling DoS for fit file format
Apply patch from joe@reactionis.co.uk which fixes a buffer overflow on
broken/malicious fits files.
(cherry picked from commit ace4563159)
2012-08-20 14:42:02 +02:00
Nils Philippsen
372ba14850 file-gif-load: fix type overflow (CVE-2012-3481)
Cast variables properly to avoid overflowing when computing how much
memory to allocate.
(cherry picked from commit 43fc9dbd8e)
2012-08-20 14:07:28 +02:00
Jan Lieskovsky
53a877eac4 file-gif-load: limit len and height (CVE-2012-3481)
Ensure values of len and height can't overflow g_malloc() argument type.
(cherry picked from commit d95c2f0bcb)
2012-08-20 14:07:28 +02:00
Nils Philippsen
9eccd56195 file-cel: close file on error 2012-08-20 14:05:43 +02:00
Nils Philippsen
06ba2810d4 file-cel: use g_set_error() for errors instead of g_message()
(cherry picked from commit 86f4cd39bd)

Conflicts:
    plug-ins/common/file-cel.c
2012-08-20 14:05:32 +02:00
Nils Philippsen
f6a5d68d4f file-cel: use statically allocated palette buffer
(cherry picked from commit 69b98191cf)
2012-08-20 14:05:17 +02:00
Nils Philippsen
6c39de83ce file-cel: validate header data (CVE-2012-3403)
(cherry picked from commit b772d1b84c)
2012-08-20 14:05:06 +02:00
Nils Philippsen
a55c31984c file-cel: check fread()/g_fopen() return values and pass on errors
(cherry picked from commit 797db58b94)
2012-08-20 14:04:17 +02:00
Tom Tryfonidis
17aea2f7e3 Updated Greek translations 2012-07-21 03:19:10 +03:00
Kevin Cozens
744f7a4a2b script-fu: Bug #679215: Fixed potential buffer overflow in readstr_upto()
Cherry picked from commit 76155d79df.

gimp-2-6 is no longer maintained. But we might as well commit this for
the benefit of EL/LTS distros. This patch hasn't even been compiled, so
YMMV. Enjoy.
2012-07-01 15:59:58 +05:30
Daniel Mustieles
bd29a29eff Updated Spanish translation 2012-06-28 13:18:02 +02:00
Andika Triwidada
7355c59780 Added id to LINGUAS for python 2012-05-29 13:43:02 +07:00
Andika Triwidada
6ee2a57372 Updated Indonesian translation of gimp python 2012-05-28 15:21:19 +07:00
Andika Triwidada
98483c5d0e Updated Indonesian translation of script-fu 2012-05-28 15:17:39 +07:00
Andika Triwidada
4724ff2ca7 Added Indonesian translation for gimp tips 2012-05-28 13:45:14 +07:00
Åsmund Skjæveland
a1525c34ac Updated Norwegian Bokmål translation 2012-04-24 07:36:51 +02:00
Daniel Șerbănescu
ef67f33a92 Updated Romanian Translation 2012-04-21 12:42:58 +02:00
Bruno Brouard
4970795e6d Updated French translation 2012-03-10 11:14:11 +01:00
Martin Srebotnjak
fb81cf817a Updated Slovenian translation 2012-03-08 15:47:12 +01:00
Nishibori Kiyotaka
1c94638021 [l10n] Update Japanese translation 2012-02-24 22:05:35 +09:00
Mukund Sivaraman
33b8d35da4 script-fu: Add some missing includes and macros for win32
This is based on commit 6d62a5e4fe from
master.
2012-02-05 23:55:03 +05:30
Mukund Sivaraman
c2b7b7749d build: Bump version in repo to 2.6.13 2012-01-31 21:37:16 +05:30
Mukund Sivaraman
fa5092ec67 gtk-doc: Update generated files 2012-01-31 19:53:47 +05:30
Mukund Sivaraman
9ea66bb04b AUTHORS: Update for 2.6.12 2012-01-31 19:52:17 +05:30
Mukund Sivaraman
9ea8c21b77 NEWS: Update for 2.6.12 (contd.) 2012-01-31 19:21:52 +05:30
Nils Philippsen
4f3754eb7a script-fu: make server strict-aliasing friendly
use union of struct sockaddr* types instead of direct casts
(cherry picked from commit 521cf89006)
2012-01-31 14:48:40 +01:00
Nils Philippsen
f9e79c4429 Bug 623045 - script-fu: make server IPv6 aware
use getnameinfo() instead of inet_ntoa()
use two sockets for IPv4, IPv6
(cherry picked from commit 04538534fc)
2012-01-31 14:48:34 +01:00
Mukund Sivaraman
1f2d8c8e7d NEWS: Update for 2.6.12 2012-01-31 17:22:05 +05:30
Mukund Sivaraman
b3486b32c9 pdb: Update generated files due to commit 5ba6186 2012-01-31 17:21:58 +05:30
Mukund Sivaraman
8c416f195e l10n: Drop broken Dzongkha translations
Commit hook checks for problems and fails on these on git.gnome.org.
Errors are due to wrong number of format string specifiers.
2012-01-31 17:17:53 +05:30
Marco Ciampa
cd0e8bf27f Updated italian translation. 2012-01-28 22:05:30 +01:00
Marco Ciampa
79c5960cac Updated italian translation. 2012-01-27 22:38:55 +01:00
Muhammet Kara
b6c6f66d1c [l10n]Updated Turkish translation 2012-01-03 11:45:44 +02:00
Muhammet Kara
755e60f02a [l10n]Added Turkish translation 2012-01-03 11:39:55 +02:00
Muhammet Kara
518073dd7b [l10n]Updated Turkish translation 2012-01-03 11:36:22 +02:00
Muhammet Kara
3f9cb533bb [l10n]Updated Turkish translation 2012-01-03 11:31:00 +02:00
Muhammet Kara
e106b4c079 [l10n]Updated Turkish translation 2012-01-03 11:14:54 +02:00
Kolbjørn Stuestøl
7c72fec5e2 Updated Norwegian Nynorsk translation 2011-12-29 19:34:16 +01:00
Nishibori Kiyotaka
5b67215c8a Updated Japanese translation 2011-12-29 01:07:17 +09:00
Mukund Sivaraman
e7469007ce file-png: Remove redundant assignment
(cherry picked from commit f40453be3c)
2011-11-17 17:00:53 +01:00
Mukund Sivaraman
a2ac4c6491 file-png: Move comment to correct function
(cherry picked from commit e0298effdf)
2011-11-17 17:00:53 +01:00
Mukund Sivaraman
e5c847d8e4 file-png: Add comments about the struct checks
(cherry picked from commit 5769acd3db)
2011-11-17 17:00:53 +01:00
Mukund Sivaraman
25305c0d93 file-png: Return correct type of error value
(cherry picked from commit ff2b9ee727)
2011-11-17 17:00:52 +01:00
Mukund Sivaraman
457d0afd12 file-png: Check that PNG structs are created properly
If there's a version mismatch between compiled version (header) and
installed shared libpng library, structs are not created and NULL is
returned.
(cherry picked from commit 1ac6c7b85c)
2011-11-17 17:00:52 +01:00
Mukund Sivaraman
b71108dcc6 file-png: Indent some code
(cherry picked from commit 5b999ab3f9)
2011-11-17 17:00:52 +01:00
Mukund Sivaraman
80f8e400a4 file-png: Update comment for png_set_IHDR()
(cherry picked from commit ae654a7aae)
2011-11-17 17:00:52 +01:00
Mukund Sivaraman
f0fca5855b file-png: Call png_set_*() functions after png_set_IHDR()
(cherry picked from commit fbbeb8d629)
2011-11-17 17:00:52 +01:00
Mukund Sivaraman
67182566db file-png: Move setting the comment text after IHDR is set
(cherry picked from commit dbecc7b705)

Conflicts:

	plug-ins/common/file-png.c
2011-11-17 17:00:52 +01:00
Mukund Sivaraman
f0fb4aaf4e file-png: Specify the interlace type explicitly
(cherry picked from commit 4fa2bbabf9)
2011-11-17 17:00:52 +01:00
Mukund Sivaraman
847c9eaec8 file-png: Get num_colors properly before passing it on
(cherry picked from commit 5b5d88a2f1)
2011-11-17 17:00:51 +01:00
Mukund Sivaraman
78a2060ca5 file-png: Don't access inside PNG structs directly (contd.)
(cherry picked from commit 92684a25e9)
2011-11-17 17:00:51 +01:00
Mukund Sivaraman
bfc3353378 file-png: Conditionally declare text_length
(cherry picked from commit a1c7606d51)
2011-11-17 17:00:51 +01:00
Mukund Sivaraman
1c9205f2d2 file-png: Don't access inside PNG structs directly
(cherry picked from commit f610aa4375)
2011-11-17 17:00:51 +01:00
Mukund Sivaraman
8d2c567555 file-mng: Indent some code
(cherry picked from commit 904d3452b9)
2011-11-09 12:52:11 +01:00
Mukund Sivaraman
bf78cd5368 file-mng: Call png_set_*() functions after png_set_IHDR()
(cherry picked from commit 17c5e114c3)
2011-11-09 12:51:44 +01:00
Mukund Sivaraman
48624d10c1 file-mng: Specify the interlace type explicitly
(cherry picked from commit cbc2ffc7c2)
2011-11-09 12:50:43 +01:00
Mukund Sivaraman
7de49a80bd file-mng: Rename more variables
(cherry picked from commit 8868a044ea)
2011-11-09 12:50:20 +01:00
Mukund Sivaraman
573b44f23b file-mng: Don't access inside PNG structs directly
(cherry picked from commit c6a60d79c4)
2011-11-09 12:49:55 +01:00
Mukund Sivaraman
3c03dd1f38 file-mng: Rename variables
(cherry picked from commit 838ba0b78e)
2011-11-09 12:49:41 +01:00
Mukund Sivaraman
2917a0ee3e Bug 660305 - fails to build with -Werror=format-security
According to the bug, Debian enforces
-Wformat-security and -Werror=format-security, which is a good thing.
Most of these patches are already in master, but I'll check master
anyway.
2011-09-28 10:33:17 +02:00
Fran Dieguez
394205b3ca Updated Galician translations for UI, python and plugins 2011-09-27 20:04:31 +02:00
Nils Philippsen
7df2cb45b3 script-fu: link libtinyscheme with libm if necessary
The tinyscheme static library uses math functions, ensure that libm is
linked where necessary (#659586, original patch by Vincent Untz,
modified)
2011-09-22 16:42:37 +02:00
Nils Philippsen
e26b520631 selection-to-path: explicitly specify library dependencies 2011-09-21 14:59:52 +02:00
Nils Philippsen
509730a8cb pagecurl: explicitly specify library dependencies 2011-09-21 14:59:52 +02:00
Nils Philippsen
902f768a81 map-object: explicitly specify library dependencies 2011-09-21 14:59:52 +02:00
Nils Philippsen
f060a8767a lighting: explicitly specify library dependencies 2011-09-21 14:59:51 +02:00
Nils Philippsen
00425ea708 imagemap: explicitly specify library dependencies 2011-09-21 14:59:51 +02:00
Nils Philippsen
25d339bdde ifs-compose: explicitly specify library dependencies 2011-09-21 14:59:51 +02:00
Nils Philippsen
c5068c2b81 gradient-flare: explicitly specify library dependencies 2011-09-21 14:59:51 +02:00
Nils Philippsen
67f3423543 gimpressionist: explicitly specify library dependencies 2011-09-21 14:59:51 +02:00
Nils Philippsen
dc4e802f08 gfig: explicitly specify library dependencies 2011-09-21 14:59:51 +02:00
Nils Philippsen
640f9181ee fractal-explorer: explicitly specify library dependencies 2011-09-21 14:59:51 +02:00
Nils Philippsen
5db7dfd032 flame: explicitly specify library dependencies 2011-09-21 14:59:50 +02:00
Nils Philippsen
7bd1151016 color-rotate: explicitly specify library dependencies 2011-09-21 14:59:50 +02:00
Nils Philippsen
d1e0f540e5 script-fu: explicitly specify library dependencies 2011-09-21 14:59:50 +02:00
Manish Singh
db2a961004 Explicit shared lib deps to support gold
(attempted cherry-picking from commit
15497c1d68, resolved conflicts)
2011-09-21 10:53:15 +02:00
Manish Singh
7f8d272d4c Explicitly specify library dependencies at link time, so we can use gold.
(cherry picked from commit 582cb0f14e)
2011-09-21 10:52:33 +02:00
Marco Ciampa
c439d1ac34 Small fix in italian translation 2011-09-16 01:24:32 +02:00
Marco Ciampa
2744360f05 Small fix in italian translation, thanks to Stefano Ferri, again 2011-09-16 00:53:03 +02:00
Marco Ciampa
240ef571c2 Small fix in italian translation 2011-09-15 10:36:40 +02:00
Piotr Drąg
27706aa544 Updated Polish translation 2011-08-25 21:03:40 +02:00
Nils Philippsen
62718f821b file-gif-load: fix heap corruption and buffer overflow (CVE-2011-2896)
(cherry picked from commit 376ad788c1)
2011-08-12 13:55:39 +02:00
Nils Philippsen
0eae221c7c file-gif-load: ensure return value of LZWReadByte() is <= 255
(cherry picked from commit b1a3de7613)
2011-08-12 13:55:31 +02:00
Mikael Magnusson
51f42ab9d9 app: fix goption warning
Using G_OPTION_FLAG_NO_ARG with G_OPTION_ARG_NONE is not a valid combination,
glib 2.28.2 warns about it.

(gimp:20379): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option "debug-handlers" of type 0
(cherry picked from commit b81276ca83)
2011-08-04 11:55:49 +02:00
Kristjan SCHMIDT
6a0361cd86 Add Esperanto translation 2011-08-03 19:29:04 +02:00
Rudolfs Mazurs
0e0fbe13e1 Added Latvian translation. 2011-08-02 23:00:57 +03:00
Rudolfs Mazurs
71f9df7d45 Added Latvian translation. 2011-08-02 22:15:40 +03:00
Rudolfs Mazurs
2de9fe15b8 Added Latvian translation. 2011-08-02 22:15:29 +03:00
Rudolfs Mazurs
ea4ed4e6ab Updated Latvian translation. 2011-08-02 22:12:44 +03:00
Rudolfs Mazurs
da49651477 Updated LINGUAS for Latvian translation for plug-ins and python modules. 2011-08-02 22:08:06 +03:00
Rudolfs Mazurs
10f2010f6f Added Latvian translation. 2011-08-02 22:05:19 +03:00
Rudolfs Mazurs
00eb68491b Added Latvian translation. 2011-08-02 22:04:04 +03:00
Rudolfs Mazurs
12f34da384 Updated Latvian translation. 2011-08-02 22:02:39 +03:00
Sergio Cipolla
8d7dd16b74 Updated Brazilian Portuguese translation 2011-07-28 15:50:03 -03:00
Kolbjørn Stuestøl
e47dd189aa Updated Norwegian Nynorsk translation 2011-07-22 13:54:55 +02:00
Dimitris Spingos
08a7f9d914 l10n: Added Greek translation for gimp-tips 2011-07-01 16:58:13 +03:00
Nils Philippsen
eae4804e56 app: guard against crash due to quitting while DND is processed
In gimp_display_shell_drop_uri_list(), shell->display is dereferenced in
some places without checking that it's still there. It can be set to
NULL if the user quits the application while a drag and drop action is
being processed and the main loop is iterated during execution of this
function. (Bug #652280)
(cherry picked from commit b1a2c736bf)

Conflicts:

	app/display/gimpdisplayshell-dnd.c
2011-06-10 21:29:27 +02:00
Christian Kirbach
6e0bd8f649 Revert "[l10n] Updated German plug-ins translation"
This reverts commit bae69a400a.
2011-06-05 15:02:34 +02:00
Christian Kirbach
bae69a400a [l10n] Updated German plug-ins translation 2011-06-05 14:42:41 +02:00
Alexandre Prokoudine
28a4a5284f Fixed a typo in Russian translation 2011-05-29 09:41:18 +04:00
Simon Budig
d72f771ced fixes for some buffer overflow problems (see bug #639203)
(cherry picked from commit 7fb0300e1c)
2011-05-23 16:34:59 +02:00
Nils Philippsen
a92328348e file-psp: fix overflow protection (CVE-2011-1782)
amends commit 48ec15890e, related to
CVE-2010-4543
(cherry picked from commit f657361db0)
2011-05-23 15:50:21 +02:00
Simon Budig
1271b708c2 file-psp: fix for bogus input data. Fixes bug #639203
(cherry picked from commit 48ec15890e)
2011-05-23 15:49:57 +02:00
Nils Philippsen
c48bda05be use code based on pixbufs instead of cairo surfaces
this is done to avoid adding to libgimp, thanks to Mukund Sivaraman for
hints how to do this
2011-05-06 12:46:13 +02:00
Mukund Sivaraman
52ccb8fdf4 file-pdf-load: Update attribution, removing bogus copyright
(cherry picked from commit e999122e0b)
2011-05-06 12:46:13 +02:00
Nils Philippsen
4775fbcdff file-pdf-load: Use better API + cleanups
* fixes issues with poppler 0.17 completely
* uses new libgimp API to pass surfaces instead of pixbufs
* uses GTK+ 3 API to convert surfaces to pixbufs where available
(backported from commit 7bdadd80ba)
2011-05-06 12:46:13 +02:00
Nils Philippsen
5e9ea1625c file-pdf-load: Don't use deprecated API (bug #646947)
(cherry picked from commit 9b3e1c91fd)

Conflicts:

	plug-ins/common/file-pdf.c
2011-05-06 12:46:13 +02:00
Gitte Illum Petersen
1c7b4ba0ab Update Danish translation 2011-04-21 11:45:09 +02:00
Francisco Vila
38fb283324 Updated Spanish translation 2011-02-27 13:41:36 +01:00
Xandru Armesto
adf3346db7 Updating asturian translation 2011-02-20 14:17:50 +01:00
Francisco Vila
6023d9d9dc Updated Spanish translation 2011-02-17 20:49:12 +01:00
Francisco Vila
821e4643bd Updated Spanish translation 2011-02-17 20:44:04 +01:00
Francisco Vila
56b620e374 Updated Spanish translation 2011-02-17 20:42:16 +01:00
Francisco Vila
4be605f8ad Updated Spanish translation 2011-02-17 20:39:25 +01:00
Francisco Vila
1ea3087d83 Updated Spanish translation 2011-02-15 21:35:59 +01:00
Saul Goode
762c707b83 Bug 640612 - Sample Colorize does not function non-interactively
Fixed bug with Sample Colorize plugin's non-interactive mode
(cherry picked from commit 2d419a0cb1)
2011-02-14 18:55:57 +01:00
Michael Natterer
fda9a839fb Bug 640219 - gimp(1) manpage fixes
Applied patch from John Bradshaw that fixes two typos in the gimp(1)
manual page.
(cherry picked from commit b8a60d2215)
2011-02-14 09:57:02 +01:00
Kevin Cozens
5ba618662f Corrected name of replacement procedure for two deprecated PDB procedures
The error first occured in the 2.4 version of GIMP.
2011-02-12 15:04:39 -05:00
Francisco Vila
6dd76d635b Updated Spanish translation 2011-02-12 18:18:39 +01:00
Alexandre Prokoudine
c13d5427e4 Fix for caret return in Russian translation, as spotted by zend 2011-02-04 00:35:08 +03:00
Alexandre Prokoudine
ed896ccbf2 Fix to Normalize translation suggested by Alex Pasyada, few updates 2011-02-04 00:33:08 +03:00
Nils Philippsen
16d77f975b Bug 641259 - [abrt] gimp-2:2.6.11-1.fc14: py-slice.py:172:slice:TypeError: integer argument expected, got float
py-slice: cast cellspacing to int in pyslice() to avoid tracebacks
(cherry picked from commit 0af966b63f)
2011-02-02 18:10:48 +01:00
Pedro Barreira
741e4d7c1f Updated Portuguese translation 2011-01-24 00:52:40 +00:00
Pedro Barreira
2a99aa5159 Updated Portuguese translation 2011-01-24 00:43:56 +00:00
Pedro Barreira
57fa33d899 Updated Portuguese translation 2011-01-24 00:43:11 +00:00
Francisco Vila
8c73ffea06 Updated Spanish translation 2011-01-22 11:00:20 +01:00
Francisco Vila
b5c49aeebd Updated Spanish translation 2011-01-22 10:51:02 +01:00
Francisco Vila
94ed899dbc Updated Spanish translation 2011-01-20 20:47:57 +01:00
Kevin Cozens
81acbe656b Fix for SourceForge bug #2826594 (allow reverse to work on empty list).
From SVN version 64 of official version of TinyScheme.

Also removed obsolete op code from opdefines.h table.
2011-01-16 16:33:19 -05:00
Pedro Barreira
535ede30ff Updated Portuguese translation 2011-01-09 19:47:13 +00:00
Pedro Barreira
405aebd97d Updated Portuguese translation 2011-01-09 19:34:05 +00:00
mike2718
e21f4d0382 Update Chinese (China) translation. 2010-12-30 16:21:37 +00:00
Marco Ciampa
194002b0ba Updated italian translation 2010-12-20 23:28:48 +01:00
Nils Philippsen
b369366035 colorxhtml: check validity of source_type
(cherry picked from commit d2ebadcfb9)
2010-11-09 14:45:42 +01:00
Carles Ferrando
1b5c60af97 Updated Catalan (Valencian) translation 2010-10-29 00:28:16 +01:00
Joe Hansen
98d078e277 Updated Danish translation 2010-10-24 17:32:06 +02:00
Alexandre Prokoudine
5a2d78b317 po/ru.po: Fixed typos spotted by Maxim S. Barabash 2010-10-23 02:26:13 +04:00
Sven Neumann
3436b76c84 Bug 631728 - Crash or Gtk-CRITICAL on File->Open
Check return value of gtk_icon_theme_lookup_by_gicon() before using it.
(cherry picked from commit 1130e8c890)
2010-10-18 18:30:34 +02:00
Michael Natterer
d72a318a2c Guard against g_file_info_get_icon() returning NULL
It can return NULL, but should not for a proper gvfs backend; add a
returning NULL.
(cherry picked from commit 295f345b2e)
2010-10-18 17:50:41 +02:00
Sven Neumann
61ef9157d5 Bug 631885 - GIMP fails to import a path from SVG
If a moveto is followed by multiple pairs of coordinates, the
subsequent pairs are supposed to be treated as implicit lineto
commands.

The parser used to ignore this part of the SVG specification and
treated subsequent pairs of coordinates as moveto commands (which
is correct in general, but for moveto commands there is this
explicit exception of the general rule).
(cherry picked from commit beef765b4f)
2010-10-13 22:08:00 +02:00
Christian Krippendorf
b23d1635cd Bug 627328 - GIMP 2.6.10 segfaults when CTRL-left click on a layer mask
Move the g_signal_emit() to the end, because the cell->renderer could
be changed and cause a segfault. Also check cell->renderer before
dereferencing it.
(cherry picked from commit ff03681bdf)
2010-10-10 22:35:33 +02:00
Baurzhan Muftakhidinov
8278bde169 Initial translation of libgimp to Kazakh 2010-10-08 09:46:45 +06:00
Baurzhan Muftakhidinov
7c76ea7c40 Initial translation to Kazakh 2010-10-08 09:45:43 +06:00
Martin Nordholts
ab82381f72 NEWS: Use more descriptive bug title
At least it will be in the 2.6.12 NEWS
2010-10-04 20:17:10 +02:00
Sven Neumann
502d5bf22b Bump version to 2.6.12 (interface age 12) 2010-10-03 23:02:50 +02:00
Sven Neumann
f34c49a08b NEWS: update for the upcoming 2.6.11 release 2010-10-03 22:22:31 +02:00
Sven Neumann
c58dc682e6 Bug 631199 - Printing and Print preview broken with cairo 1.10
Add missing calls to cairo_surface_mark_dirty().
(cherry picked from commit 6be41a6675)
2010-10-03 14:06:53 +02:00
Tor Lillqvist
c54dff49f8 No SYMPREFIX should be used for 64-bit Windows
Earlier builds of mingw-w64 misguidedly used the _ prefix, but not
current ones. Thanks to Fridrich Strba.
2010-09-27 18:21:53 +03:00
Chao-Hsiung Liao
ac5fc10971 Updated Traditional Chinese translation (Hong Kong and Taiwan) 2010-09-21 20:23:37 +08:00
Kevin Cozens
d298667479 Additional fixes for handling UTF-8 coded strings (Bugs 572865 & 628893)
plug-ins/script-fu/scheme-wrapper.c:
- Fixed set and get of UTF-8 coded strings for parasites using slightly
  modified version of a patch from Massimo.

plug-ins/script-fu/tinyscheme/scheme.c:
- Additional fix to string-append and fixed substring. The mk_empty_string
  routine is not the way to allocate space for UTF-8 coded strings.
- Added some comments.
(Cherry picked of commit b0d8ba5ffd)
2010-09-20 23:47:55 -04:00
Kevin Cozens
c00dfc97d7 Last part of fixes for handling UTF-8 coded strings (Bugs 572865 & 628893)
At end of a double quoted string, readstrexp() passed byte count instead
of character count to mk_counted_string(). Cleaned up basic_inchar().
It ignores bad UTF-8 coded characters when reading from file or buffer.
2010-09-19 20:17:26 -04:00
Kevin Cozens
136bfb61cc First part of fixes for handling UTF-8 coded strings (Bugs 572865 & 628893)
Fixed string-set! and string-append due to mixup of chars vs. bytes.
Fixed calculation of pointer to past end of string in open-*-string
routines.
(Cherry picked of commit d06a4ee4c3)
2010-09-19 17:50:49 -04:00
Kevin Cozens
d06a4ee4c3 Applied changes from CVS version 1.23 of official version of TinyScheme.
Fixed potential problem of arglist to foreign calls being wrongly GC'ed.
(Cherry pick of commit 6a3a7befcf)
2010-09-16 16:02:12 -04:00
Kevin Cozens
24b76d01e0 Applied changes from CVS version 1.9 of official version of TinyScheme.
Fix for nasty gc bug. This change shifts the burden of protecting newly
allocated cells in foreign functions from the foreign functions to the
TinyScheme interpreter.
(cherry pick of commit 28e7c3f612)
2010-09-16 16:02:12 -04:00
Massimo Valentini
2782c8bb3d Bug 623850 - (Paco) Recursive Gaussian Filter error 2010-09-16 19:54:53 +02:00
Barak Itkin
a2ab5e8b55 Bug 624487 - Fix incorrect "wrap mode" documentation values in Edge plug-in 2010-09-13 03:10:09 +02:00
Seth Burgess
b0868e3eef plug-ins: Fix preview in Difference of Gaussians
Implement invert as part of normalize routine - See Bug 557380
(cherry picked from commit 0382fdb45de2d9f05157327295c873a84b5b8f8d)
2010-09-13 02:28:28 +02:00
Michael Natterer
7a74dc1d93 app: make sure to always show error messages returned by plug-ins
gimp_plug_in_handle_proc_return(): if there is no plug-in main loop
running (the plugin was running asynchronously from a menu), show the
plug-in's error message here, because nobody else will show it
otherwise.
(cherry picked from commit bdc2d4520b)
2010-09-07 16:25:50 +02:00
Tor Lillqvist
927d0c380a Reduce risks on Windows also for plug-ins 2010-09-02 21:40:23 +03:00
Tor Lillqvist
0bb4d7d584 Increase safety on Windows
Call SetDllDirectory() to reduce risk of DLL hijacking, and call
SetProcessDEPPolicy() to reduce risk of rogue code execution.
2010-09-02 18:38:06 +03:00
Marco Ciampa
aa8ca0439d Updated italian translation 2010-08-27 11:27:40 +02:00
Michael Schumacher
93efe1eb56 Bug 627009 - Image type filter doesn't include .rgba SGI files
Added the rgba file extension to the load and save handler
registration of the SGI file plug-in.
2010-08-17 20:28:36 +02:00
Chao-Hsiung Liao
2401b3b717 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2010-08-13 20:21:52 +08:00
Marco Ciampa
5eb5d0e8d8 Updated italian translation 2010-08-13 00:51:41 +02:00
Michael Schumacher
2643fc74bd Added all *.exe files and some missing .libs to .gitignore 2010-08-12 22:55:50 +02:00
Michael Schumacher
608a680240 Bug 626020 - Console window opening on file-ps-load
Added G_SPAWN_STDOUT_TO_DEV_NULL and G_SPAWN_STDERR_TO_DEV_NULL to the
g_spawn_sync () flags. According to Tor Lillqvist this won't fix the bug,
but the GLib docs state that these flags have to be added if stdout and
stderr are set to NULL.
2010-08-12 22:12:29 +02:00
Marco Ciampa
1078f2c896 Updated italian translation. 2010-08-11 09:34:02 +02:00
Lucian Adrian Grijincu
e1e2a0c10c po: Updated Romanian translation 2010-08-07 20:44:50 +03:00
Lucian Adrian Grijincu
5e49f5f878 po-script-fu: Updated Romanian translation 2010-08-06 00:40:45 +03:00
Lucian Adrian Grijincu
f90e15aac9 po-python: Updated Romanian translation 2010-08-06 00:36:57 +03:00
Lucian Adrian Grijincu
4f3f841e1c po-plug-ins: Updated Romanian translation 2010-08-06 00:35:34 +03:00
Lucian Adrian Grijincu
d5df55e325 po-libgimp: Updated Romanian translation 2010-08-06 00:33:20 +03:00
Lucian Adrian Grijincu
85bb254339 po: Updated Romanian translation 2010-08-06 00:31:28 +03:00
Kiyotaka NISHIBORI
ab673588a9 Updated Japanese translation. 2010-08-05 00:22:53 +09:00
Marco Ciampa
785238ca23 Updated italian translation. 2010-08-03 22:42:19 +02:00
Marco Ciampa
edf792a40f Updated italian translation 2010-08-03 17:50:01 +02:00
Francisco Vila
2a551e000f Updated Spanish translation 2010-07-28 08:43:32 +02:00
Ulf-D. Ehlert
fa621655fc po: Fix German translation 2010-07-26 21:28:51 +02:00
Cameron Gregory
5bcb212e82 Bug 624698 - Wood 1 and Wood 2 have bad alpha value
Alpha value in last segment of Wood gradients should be 1.0.
(cherry picked from commit e701384f3a)
2010-07-19 13:55:16 +02:00
Sven Neumann
d8d734a1a8 Bug 624275 - Image saved from google docs generates a 'gimp-image-set-resolution' error message
Only set the image resolution if the resolution in the PNG file
is greater than zero.
(cherry picked from commit ff221e679c)
2010-07-13 22:22:30 +02:00
Sven Neumann
9a6372218d Bump version to 2.6.11 (interface age 11) 2010-07-07 22:40:10 +02:00
Sven Neumann
c2a0c39c29 NEWS: update for the upcoming 2.6.10 release 2010-07-07 21:45:16 +02:00
Andrew Wyatt
8426f36e5a Bug 613328 - TGA files saved with incorrect header yOrigin data
Fix header for TGA files saved with save option 'Origin=Top Left'.
(cherry picked from commit 4a1078796b)
2010-07-07 20:42:46 +02:00
Massimo Valentini
fcfc9197c3 Bug 623290 - Save As... does not save Windows Bitmap as default in dialog
Connect to "toggled" signal of radio buttons.
(cherry picked from commit ca43054f08)
2010-07-07 20:30:32 +02:00
Rupert Weber
3133d68d5d Bug 621363 - CMYK decompose broken
The CMYK Decompose/Recompose plugin used its own (faulty) algorithm
for RGB<->CMYK conversions. This fix changes the plugin to use the
conversion routines provided by libgimpcolorspace.
2010-07-07 19:37:02 +02:00
Cristian Secară
66846857e5 po-tips: Updated Romanian translation 2010-07-04 00:48:13 +03:00
Cristian Secară
7f16a8085f po: Updated Romanian translation 2010-07-04 00:47:57 +03:00
Ulf-D. Ehlert
ed1395ef7a po: Minor fixes to German translations 2010-06-29 18:22:47 +02:00
Marco Ciampa
821ebccaed Little fix in italian translation. 2010-06-29 18:07:29 +02:00
Marco Ciampa
d6c5d98062 Small fix in italian translation. 2010-06-29 12:03:28 +02:00
Michael Natterer
8deda13e5f Make cairo code work with newer cairo backends that actually use caching
Call cairo_surface_flush() before reading or writing a surface's
pixels directly, and use cairo_surface_mark_dirty() after writing
pixels directly, so we don't read old pixels, and our written pixels
get actually used.
(manually cherry-picked from fad6053643)
2010-06-28 12:30:34 +02:00
Marco Ciampa
bd62d6c13b Updated italian translation. 2010-06-27 18:21:48 +02:00
Fernando Correia
f7aab7eaa0 Updated Portuguese translation 2010-06-27 15:13:45 +01:00
Fernando Correia
896a87bc2a Updated Portuguese translation 2010-06-27 14:51:03 +01:00
Michael Natterer
05f3a559b6 Bug 595170 - brush - color from gradient works wrong in greyscale
Convert the gradient color to the drawable's type before using it.
(manually cherry-picked from 15fd08747d)
2010-06-27 12:00:32 +02:00
Michael Natterer
d75e1a9488 Bug 613838 - Error in gimp-hue-saturation PDB call
The "hue" parameter from the PDB is in a [-180..180] range, not in
[-100..100]. Note that unlike stated in the bug, this is not an
incompatible change, because it simply got broken between 2.4 and
2.6.
(cherry picked from commit 2813fce0b8)
2010-06-27 01:18:23 +02:00
Marco Ciampa
4d7a9a8741 Small fix in italian translation. 2010-06-25 00:09:17 +02:00
Marco Ciampa
f216c6d3cf Updated italian translation. 2010-06-25 00:04:22 +02:00
Michael Natterer
d2fb21f664 Bug 622608 - GIMP crashes when clicking any scroll bar from combo boxes
Don't cancel the popup in grab_notify() if the popup's grab was
shadowed by one of the widgets in the popup, like the scrollbar.
(cherry picked from commit 991210c0f9)
2010-06-24 21:58:46 +02:00
Cristian Secară
a0ce1c916e po-tips: Updated Romanian translation 2010-06-24 03:26:08 +03:00
Cristian Secară
3787c8a094 po-script-fu: Updated Romanian translation 2010-06-24 03:25:14 +03:00
Cristian Secară
c15e0ebc94 po-plug-ins: Updated Romanian translation 2010-06-24 03:21:10 +03:00
Cristian Secară
0591ae50b2 po-libgimp: Updated Romanian translation 2010-06-24 03:15:12 +03:00
Cristian Secară
65146ab47c po: Updated Romanian translation 2010-06-24 03:11:58 +03:00
Martin Nordholts
3222c3df32 Bug 565459 - newly opened images are put into the background
When we are going to open new image windows, unset the transient
window. We don't need it since we will use gdk_window_raise() to
keep the dialog on top. And if we don't do it, then the dialog
will pull the image window it was invoked from on top of all the
new opened image windows, and we don't want that to happen.

Patch heavily inspiried by hack from Massimo Valentini.
2010-06-23 20:22:55 +02:00
Martin Nordholts
4fe6a05a7f NEWS: Remove duplicate 2.6.9 entry 2010-06-23 20:22:02 +02:00
Sven Neumann
942bcfaa27 Fix language name 2010-06-22 23:44:16 +02:00
Sven Neumann
f250054cc6 Bump version to 2.6.10 (interface age 10) 2010-06-22 21:20:35 +02:00
Sven Neumann
03afb4ac7c Update NEWS for upcoming release 2010-06-22 20:42:29 +02:00
Sven Neumann
6cadb69d00 Regenerated template files with gtk-doc 1.15 2010-06-22 20:42:06 +02:00
Sven Neumann
0647e6ae85 Update gtk-doc.m4 with a newer version
Actually it shouldn't even be in git and in trunk this file has
been removed.
2010-06-22 20:41:28 +02:00
Michael Natterer
c36bafdd7a Bug 612618 - Font selection remains visible
Connect to "grab-notify" and "grab-broken-event" and close the popup
when the grab is lost.
(cherry picked from commit 2a984ef51f)
2010-06-22 20:12:12 +02:00
Michael Natterer
ed1cb47428 Bug 622234 - gimp.desktop: image/x-psd in MimeTypes twice
Fix the typo: the second x-psd should be x-psp
(cherry picked from commit d04051bcad)
2010-06-20 23:55:42 +02:00
Sven Neumann
effc864b3b Bug 622196 - Unportable test(1) construct in configure script
Use of '==' as comparison operator is a bashism.
(cherry picked from commit 9275404452)
2010-06-20 18:39:02 +02:00
Marco Ciampa
552158a7a7 Updated italian translation. 2010-06-15 00:40:42 +02:00
Ulf-D. Ehlert
f08ed1ae72 po: Minor fixes to German translations 2010-06-13 18:53:41 +02:00
Marco Ciampa
1c91f68f39 Little fix to a main menu hotkey. 2010-06-11 01:41:09 +02:00
Xandru Armesto
1cb13d2c7c Updated asturian translation 2010-06-06 17:20:29 +02:00
Xandru Armesto
f18c43a1f8 Updated asturian translation 2010-06-06 17:20:23 +02:00
Xandru Armesto
3e677bbd0d Updated asturian translation 2010-06-06 17:20:11 +02:00
Xandru Armesto
b5b2708f35 Added asturian language 2010-06-06 17:19:16 +02:00
Xandru Armesto
60a72a7fa2 Added asturian language 2010-06-06 17:19:08 +02:00
Xandru Armesto
8e99d9a747 Added asturian language 2010-06-06 17:18:57 +02:00
Xandru Armesto
f0e5143339 Added asturian language 2010-06-06 17:18:45 +02:00
Xandru Armesto
b7e9fc1b47 Updated asturian translation 2010-06-06 17:16:58 +02:00
Xandru Armesto
e1578b4730 Updated asturian translation 2010-06-06 17:14:38 +02:00
Michael Natterer
9f98dedd45 Bug 620604 - Description of "histogram" procedure is slightly inaccurate
Fix totally broken value ranges of integer PDB parameters. Magically,
the bug was affecting only exactly the two cases mentioned in above
bug report.

* tools/pdbgen/pdb.pl (arg_parse): return <, <=, > and >= literally
  instead of applying a mapping that was originally meant for
  generated C code that would e.g. transform "0 <= int32 < 10" into
  "if (value < 0 || value >= 10) fail". This inversion of all
  operators is now wrong because PDB parameters have been turned into
  GParamSpecs which always need inclusive ranges as min and max
  values.

* tools/pdbgen/pdbgen.pl (arrayexpand): generated array length type
  specs must be "0 <= int32", not "0 < int32".

* tools/pdbgen/app.pl: when generating integer param specs, check if
  the value range is specified in terms of < instead of <=, and
  add/subtract 1, resuting in the inclusive range needed for integer
  GParamSpecs.

* app/pdb/color-cmds.c: regenerated, fixing the two broken ranges
  mentioned in the bug report.
(cherry picked from commit 9dd373d86e)
2010-06-05 19:37:47 +02:00
Ulf-D. Ehlert
d3adca9f8a po: Minor fixes to German translations 2010-06-02 14:24:21 +02:00
Kevin Cozens
8d93ae092b Fixed issue with list length mentioned in comment 18 of bug #499443.
Applied changes from CVS version 1.24 of official version of TinyScheme.
Merged redundant list_length, is_list, OP_LISTP code.
(backport of commit 4c862bf678)
2010-06-01 17:10:57 -04:00
Marco Ciampa
47d0eb7d01 Little fix in italian translation. 2010-05-10 08:48:19 +02:00
Nishibori Kiyotaka
8460f23d35 Updated Japanese translation. 2010-05-04 13:32:18 +09:00
Marco Ciampa
c4da35c891 Updated italian translation. 2010-05-02 02:11:19 +02:00
Ulf-D. Ehlert
a11a20fa91 po: Fix German translation
(cherry picked from commit 9eac51989a)
2010-04-27 14:39:48 +02:00
Marco Ciampa
69cde30cca Little fix in italian translatio. 2010-04-23 12:43:04 +02:00
Michael Natterer
713a98da3d Bug 541586 - Tool options not saved/loaded correctly?
Don't overwrite the entire context part of all tool options with
values from contextrc, or we will end up with one tool option set to a
non-default values affecting all other tool options that were at their
default value in the next gimp session.
(cherry picked from commit 547c92d0f6)
2010-04-18 12:50:50 +02:00
Marco Ciampa
b17d09f095 Updated italian translation 2010-04-14 18:06:39 +02:00
Maxim V. Dziumanenko
57588a79ab Updated Ukrainian translation 2010-04-03 16:40:35 +03:00
Maxim V. Dziumanenko
6161db1b23 Updated Ukrainian translation 2010-04-03 01:38:06 +03:00
Maxim V. Dziumanenko
5900f94791 Updated Ukrainian translation 2010-04-03 01:37:55 +03:00
Maxim V. Dziumanenko
b4ea2a2635 Updated Ukrainian translation 2010-04-02 18:11:19 +03:00
Maxim V. Dziumanenko
2f101d78e3 Updated Ukrainian translation 2010-04-02 18:09:44 +03:00
Maxim V. Dziumanenko
fb43495333 Updated Ukrainian translation 2010-04-02 18:05:15 +03:00
Pau Iranzo
8c07af31c0 Updated Catalan (Valencian) translation 2010-03-31 10:00:41 +02:00
Pau Iranzo
996b8fe29a Updated Catalan (Valencian) translation 2010-03-30 19:50:39 +02:00
David Planella
71fb5c4e18 Updated Catalan translation 2010-03-30 18:54:51 +02:00
Inaki Larranaga Murgoitio
d9687271c4 Updated Basque language 2010-03-29 18:52:02 +02:00
Inaki Larranaga Murgoitio
ddabb59e94 Updated Basque language 2010-03-29 18:43:12 +02:00
Inaki Larranaga Murgoitio
e9b36d3d0a Updated Basque language 2010-03-29 18:23:32 +02:00
Inaki Larranaga Murgoitio
856f28c6e5 Updated Basque language 2010-03-29 18:18:32 +02:00
Inaki Larranaga Murgoitio
e73c9deefe Updated Basque language 2010-03-29 18:14:15 +02:00
Sven Neumann
21812c57ce Bug 614153 - Importing PDF files with long titles
Ellipsize the title label.
(cherry picked from commit b55591ca04)
2010-03-28 12:36:54 +02:00
Nils Philippsen
501c4f65f0 backport statusbar code needed for GTK+ >= 2.19.1
Use the hbox that is provided via gtk_statusbar_get_message_area()
since GTK+ 2.19.1.
2010-03-25 13:13:37 +01:00
Russell Kyaw
f63251c783 Updated Burmese translation for GIMP 2010-03-18 01:15:52 +02:00
Ulf-D. Ehlert
d92271418c po: Minor fixes to German translations 2010-03-17 18:09:00 +01:00
Christian.Kirbach
72d08f52c0 Updated German translation 2010-03-17 10:31:29 +01:00
Inaki Larranaga
69f7d88a80 Updated Basque translation 2010-03-16 17:56:13 +01:00
Matej Urbančič
f395196abe Updated Slovenian translation 2010-03-15 11:49:13 +01:00
Matej Urbančič
d74b56e801 Updated Slovenian translation 2010-03-15 11:48:24 +01:00
Matej Urbančič
20a50f4266 Updated Slovenian translation 2010-03-15 11:32:15 +01:00
Matej Urbančič
5c520cf346 Updated Slovenian translation 2010-03-15 11:31:10 +01:00
Massimo Valentini
da9b8794a8 Bug 600112 - blur-gauss-selective.exe crashes
Allocate buffers with some extra padding as the MMX instructions
used in matrixmult_mmx() may read more than strictly necessary.
(cherry picked from commit cbb815c203)
2010-03-12 21:03:02 +01:00
Massimo Valentini
a67da1e591 Bug 599233 - Dialog of "Save as BMP" ignores changes which are not made with a mouse
Connect to GtkButton::clicked instead of GtkButton::pressed.
(cherry picked from commit bc02c2f51e)
2010-03-11 08:45:04 +01:00
Christian.Kirbach
a9e4044116 Updated German translation 2010-03-10 11:16:38 +01:00
Nils-Christoph Fiedler
eca2cbf210 Added LowGerman translation 2010-03-04 01:15:14 +01:00
Nils-Christoph Fiedler
5a004f6b86 Added LowGerman translation 2010-03-04 01:15:07 +01:00
Daniel Nylander
13defe5926 Updated Swedish translation 2010-03-02 18:57:51 +01:00
Claude Paroz
6d7b8469fa Updated French translation 2010-03-02 18:46:27 +01:00
Michael Natterer
18e3c7240b Bug 565001 - Text-Tool crashes when edit a 2.4.2 version xcf
Need to convert to text->box_unit, not text->unit.
2010-03-02 15:09:26 +01:00
Rudolfs Mazurs
f85cac770b Updated Latvian translation. 2010-02-27 13:16:33 +02:00
Rudolfs Mazurs
6db0e83e89 Updated Latvian translation. 2010-02-27 13:15:13 +02:00
Michael Natterer
ded453fc88 Bug 565001 - Text-Tool crashes when edit a 2.4.2 version xcf
Convert the rectangle size from pixels to units before setting it as
box-width and box-height on the text object.
2010-02-21 14:31:15 +01:00
Michael Natterer
d4b7b0d83f Bug 610478 - Layer preview suddenly stops getting updated
gimp_paint_core_finish(): when bailing out early because nothing was
painted (e.g. because we repeatedly shift-click on the same pixel,
which doesn't advance the interpolation distance), don't forget to
call gimp_viewable_preview_thaw() or the drawable preview will be
frozen forever.
(cherry picked from commit c55753f2ad)
2010-02-19 21:05:11 +01:00
Chao-Hsiung Liao
ca7517044b Added zh_HK to LINGUAS 2010-02-19 19:26:57 +08:00
Chao-Hsiung Liao
fd47c8375f Updated Traditional Chinese translation (Hong Kong and Taiwan) 2010-02-19 19:19:13 +08:00
Sven Neumann
387300bce3 Revert "Bug 609697 - Spelling error - Plase"
String changes must not be done in the stable branch as they
invalidate all translations.

This reverts commit 736e6ca1d0.
2010-02-12 21:36:22 +01:00
Martin Nordholts
736e6ca1d0 Bug 609697 - Spelling error - Plase 2010-02-12 07:40:47 +01:00
Michael Natterer
cb41897d21 Bug 609026 - leaks shared memory
Move calling gimp_plug_in_shm_free() from gimp_plug_in_manager_finalize()
to gimp_plug_in_manager_exit() so it's also called in stable GIMP
releases which simply call exit() at some point instead of taking the
time to shut down everything completely.
(cherry picked from commit 9a4bf10d30)
2010-02-10 19:40:35 +01:00
Cristian Secară
5f50e1be7b Updated Romanian translations 2010-02-10 20:08:04 +02:00
Michael Natterer
02c395597d Bug 609056 - Exporting to Alias PIX format fails
Apply patch from Saul Goode which fixes a typo that made exporting to
PIX impossible.
(cherry picked from commit 034bd0427f)
2010-02-10 12:53:31 +01:00
Cristian Secară
9f86bcbb58 Updated Romanian translations 2010-02-08 23:11:11 +02:00
Nishibori Kiyotaka
b46970bd08 Updated Japanese translation.
see <http://l10n.gnome.org/vertimus/diff/36101/0/0/>
2010-02-07 19:08:02 +09:00
Marco Ciampa
99709ed86c Updated italian translation 2010-02-06 12:55:53 +01:00
Gabor Kelemen
ca342da60b Hungarian translation updated 2010-02-06 00:15:28 +01:00
Akkana Peck
183e088a4b Fix bug 590418: make chalk script-fu work
Sobel doesn't work on layers with transparency, like text layers, so
the text layer in the chalk script needed to be merged with the
background layer beneath it.
2010-02-04 19:22:14 -08:00
Kevin Cozens
1def8e2734 Applied patch from Saul Goode which mostly fixes bug #604587
Fixes delq when using numeric values. Fixes two bad let block declarations.
(cherry picked from commit cc6427e5d5)
2010-02-03 08:32:43 +01:00
Sven Neumann
cb68d6508d Bug 608188 - a few strings in Save as... > Raw image data dialog are always in English
Add missing call to INIT_18N().
(cherry picked from commit b499d01a71)
2010-01-31 21:13:40 +01:00
Michael Natterer
9c135ab333 Bug 604820 - GEGL Operation "path" crashes GIMP
Blacklist "gegl:path".
2010-01-31 17:34:48 +01:00
Michael Natterer
353ef2037d Bug 603711 - Crashes when using path tool
gimp_display_shell_get_*_coord(): initialize the coords with
GIMP_COORDS_DEFAULT_VALUES allGimpCoords members get initialized.
(cherry-picked from 74bf91cb63)
2010-01-31 17:25:24 +01:00
Michael Natterer
b22eb0a827 Bug 607242 - GIMP 2.7.0 fails to build against libpng 1.4.0
Use png_set_expand_gray_1_2_4_to_8() instead of the deprecated
png_set_gray_1_2_4_to_8() if libpng is at least 1.2.27 (which is in
debian stable), so plug-ins built against old versions contine to work
when libpng 1.4 gets installed.
2010-01-31 12:28:02 +01:00
Russell Kyaw
3572522f03 Added Burmese (Myanmar) translation 2010-01-29 18:43:04 +02:00
Petr Kovar
a5f2570852 Updated Czech translation by Marek Cernocky
Reviewed by: Lucas Lommer.
2010-01-17 22:02:19 +01:00
Sven Neumann
26b185c31e Bug 606372 - Saving to .ppm fails on indexed colorspace
Don't change the pointer to the colormap and then attempt to free it.
(cherry picked from commit b883d59411)
2010-01-09 12:14:54 +01:00
Petr Kovar
936b093438 Updated Czech translation by Marek Cernocky 2010-01-04 20:48:55 +01:00
Sven Neumann
0a7807b306 docs: remove use of undefined macro in man pages
(cherry picked from commit b6f322d8fc)
2010-01-03 00:57:00 +01:00
Michael Natterer
c76fd3d443 app: fix mapping for CURVE_BLUE (use the blue, not the green curve)
(cherry picked from commit 105b7c5afa)
2009-12-26 14:12:09 +01:00
Sven Neumann
6ca5f30637 Bug 605237 - the "Antialiasing..." message in the progress bar does not show translated
Add missing call to INIT_I18N().
(cherry picked from commit e8ff034ab5)
2009-12-24 00:01:15 +01:00
Lucian Grijincu
1fa837242c Updated Romanian translation 2009-12-19 19:01:40 +02:00
Marco Ciampa
7ea76a515d Updated italian translation. 2009-12-19 13:41:30 +01:00
Massimo Valentini
a569d60d89 initialize all fields of GimpCoords 2009-12-14 20:32:42 +01:00
Sven Neumann
0c678d0e7a bumped version to 2.6.9 (interface age 9) 2009-12-14 19:32:01 +01:00
Sven Neumann
b2779443b9 correct gimp_interface_age 2009-12-14 19:30:21 +01:00
Michael Natterer
86f299bacd Bug 604508 - gimp-layer-new-from-visible should work from updated projection
Call gimp_pickable_flush(projection) before creating a new layer from it.
(cherry picked and modified from commit 335597ce7d)
2009-12-14 14:19:10 +01:00
神州散人
9dc470896e Updated Simplified Chinese translation. 2009-12-14 11:36:34 +08:00
David Planella
bfba5fcbb1 Fixed some typos in Catalan 2009-12-10 22:19:25 +01:00
David Planella
9285ca219c Fixed some typos in Catalan 2009-12-10 22:18:02 +01:00
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
837 changed files with 557956 additions and 298040 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

17
AUTHORS
View File

@@ -168,6 +168,8 @@ The following people have contributed code to GIMP:
Jay Painter
Ville Pätsi
Akkana Peck
Mikael Magnusson
Christian Krippendorf
Asbjorn Pettersen
Mike Phillips
Nils Philippsen
@@ -265,6 +267,21 @@ The following people have helped to document GIMP:
Ed Mackey
Ian Main
Pierre Perrier
Baurzhan Muftakhidinov
Joe Hansen
Carles Ferrando
Pedro Barreira
Francisco Vila
Xandru Armesto
Gitte Illum Petersen
Dimitris Spingos
Sergio Cipolla
Rudolfs Mazurs
Kristjan SCHMIDT
Piotr Drąg
Fran Dieguez
Nishibori Kiyotaka
Muhammet Kara
Alexandre Prokoudine
Manuel Quiñones
James Robinson

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

413
NEWS
View File

@@ -7,6 +7,419 @@ This is the stable branch of GIMP. No new features are being added
here, just bug-fixes.
Overview of Changes from GIMP 2.6.11 to GIMP 2.6.12
===================================================
* Bugs fixed:
627328 - GIMP 2.6.10 segfaults when CTRL-left click on a layer mask
631885 - GIMP fails to import a path from SVG
631728 - Crash or Gtk-CRITICAL on File->Open
641259 - [abrt] gimp-2:2.6.11-1.fc14: py-slice.py:172:slice:TypeError: integer argument expected, got float
640219 - gimp(1) manpage fixes
640612 - Sample Colorize does not function non-interactively
646947 - file-pdf-load: Don't use deprecated API
639203 - file-psp: fix for bogus input data
639203 - Fixes for some buffer overflow problems
652280 - Guard against crash due to quitting while DND is processed
660305 - fails to build with -Werror=format-security
623045 - script-fu: make server IPv6 aware
... plus a ton of others.
* Updated translations:
Asturian (ast)
Catalan (Valencian) (ca@valencia)
Danish (da)
Greek (el)
Esperanto (eo)
Spanish (es)
Italian (it)
Japanese (ja)
Kazakh (kk)
Latvian (la)
Norwegian Nynorsk (nn)
Polish (pl)
Portuguese (pt)
Brazilian Portuguese (pt_BR)
Russian (ru)
Turkish (tr)
Simplified Chinese (zh_CN)
Overview of Changes from GIMP 2.6.10 to GIMP 2.6.11
===================================================
* Bugs fixed:
631199 - Printing and Print preview broken with cairo 1.10
572865 - Parasite handling had problems and can cause crashing
628893 - Error with string-append and gimp-drawable-get-name
623850 - Colors -> Retinex creates halos
624487 - Fix incorrect "wrap mode" documentation values in Edge plug-in
557380 - Difference of Gaussians gives blank doc if "Invert" selected
627009 - Image type filter doesn't include .rgba SGI files
626020 - Console window opening on file-ps-load
624698 - Wood 1 and Wood 2 have bad alpha value
624275 - Image saved from google docs generates a
'gimp-image-set-resolution' error message
* Updated translations:
German (de)
Spanish (es)
Italian (it)
Japanese (ja)
Romanian (ro)
Chinese (Hong Kong) (zh_HK)
Chinese (Taiwan) (zh_HK)
Overview of Changes from GIMP 2.6.9 to GIMP 2.6.10
==================================================
* Bugs fixed:
613328 - TGA files saved with incorrect header yOrigin data
623290 - Save As... does not save Windows Bitmap as default in dialog
621363 - CMYK decompose broken
595170 - brush - color from gradient works wrong in greyscale
613838 - Error in gimp-hue-saturation PDB call
622608 - GIMP crashes when clicking any scroll bar from combo boxes
565459 - newly opened images are put into the background
* Updated translations:
German (de)
Italian (it)
Romanian (ro)
Portuguese (pt)
Overview of Changes from GIMP 2.6.8 to GIMP 2.6.9
=================================================
* Bugs fixed:
612618 - Font selection remains visible
622234 - gimp.desktop: image/x-psd in MimeTypes twice
622196 - Unportable test(1) construct in configure script
620604 - Description of "histogram" procedure is slightly inaccurate
541586 - Tool options not saved/loaded correctly?
614153 - Importing PDF files with long titles
600112 - blur-gauss-selective.exe crashes
599233 - Dialog of "Save as BMP" ignores changes which are not made
with a mous
565001 - Text-Tool crashes when edit a 2.4.2 version xcf
610478 - Layer preview suddenly stops getting updated
609026 - leaks shared memory
609056 - Exporting to Alias PIX format fails
608188 - a few strings in Save as... > Raw image data dialog are always
in English
604820 - GEGL Operation "path" crashes GIMP
603711 - Crashes when using path tool
607242 - GIMP 2.7.0 fails to build against libpng 1.4.0
606372 - Saving to .ppm fails on indexed colorspace
605237 - the "Antialiasing..." message in the progress bar does not show
translated
604508 - gimp-layer-new-from-visible should work from updated projection
* Updated and new translations:
Asturian (ast)
Basque (eu)
Burmese (my)
Catalan (ca)
Chinese (Hong Kong) (zh_HK)
Chinese (Taiwan) (zh_HK)
German (de)
Italian (it)
Latvian (lv)
Low German (nds)
Romanian (ro)
Simplified Chinese (zh_CN)
Slovenian (sl)
Ukrainian (uk)
Valencian (ca@valencia)
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

@@ -174,7 +174,7 @@ image_convert_cmd_callback (GtkAction *action,
NULL, &error))
{
gimp_message (image->gimp, G_OBJECT (widget), GIMP_MESSAGE_WARNING,
error->message);
"%s", error->message);
g_clear_error (&error);
return;
}

View File

@@ -41,6 +41,7 @@
#include "core/gimplayer.h"
#include "core/gimplayer-floating-sel.h"
#include "core/gimplayermask.h"
#include "core/gimppickable.h"
#include "core/gimpprojection.h"
#include "core/gimptoolinfo.h"
#include "core/gimpundostack.h"
@@ -234,7 +235,7 @@ layers_new_cmd_callback (GtkAction *action,
if (! floating_sel_to_layer (floating_sel, &error))
{
gimp_message (image->gimp, G_OBJECT (widget), GIMP_MESSAGE_WARNING,
error->message);
"%s", error->message);
g_clear_error (&error);
return;
}
@@ -286,7 +287,7 @@ layers_new_last_vals_cmd_callback (GtkAction *action,
if (! floating_sel_to_layer (floating_sel, &error))
{
gimp_message (image->gimp, G_OBJECT (widget), GIMP_MESSAGE_WARNING,
error->message);
"%s", error->message);
g_clear_error (&error);
return;
}
@@ -346,6 +347,8 @@ layers_new_from_visible_cmd_callback (GtkAction *action,
projection = gimp_image_get_projection (image);
gimp_pickable_flush (GIMP_PICKABLE (projection));
layer = gimp_layer_new_from_tiles (gimp_projection_get_tiles (projection),
image,
gimp_image_base_type_with_alpha (image),

View File

@@ -374,7 +374,7 @@ select_stroke_last_vals_cmd_callback (GtkAction *action,
drawable, context, desc, FALSE, NULL, &error))
{
gimp_message (image->gimp, G_OBJECT (widget), GIMP_MESSAGE_WARNING,
error->message);
"%s", error->message);
g_clear_error (&error);
}
else

View File

@@ -281,7 +281,7 @@ vectors_merge_visible_cmd_callback (GtkAction *action,
if (! gimp_image_merge_visible_vectors (image, &error))
{
gimp_message (image->gimp, G_OBJECT (widget), GIMP_MESSAGE_WARNING,
error->message);
"%s", error->message);
g_clear_error (&error);
return;
}
@@ -425,7 +425,7 @@ vectors_stroke_last_vals_cmd_callback (GtkAction *action,
NULL, &error))
{
gimp_message (image->gimp, G_OBJECT (widget), GIMP_MESSAGE_WARNING,
error->message);
"%s", error->message);
g_clear_error (&error);
}
else

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

@@ -100,6 +100,8 @@ gimp_base_config_class_init (GimpBaseConfigClass *klass)
num_processors = num_processors * 2;
#endif
num_processors = MIN (num_processors, GIMP_MAX_NUM_THREADS);
GIMP_CONFIG_INSTALL_PROP_UINT (object_class, PROP_NUM_PROCESSORS,
"num-processors", NUM_PROCESSORS_BLURB,
1, GIMP_MAX_NUM_THREADS, num_processors,

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",

View File

@@ -264,7 +264,7 @@ gimp_rc_load (GimpRc *rc)
rc->system_gimprc, NULL, &error))
{
if (error->code != GIMP_CONFIG_ERROR_OPEN_ENOENT)
g_message (error->message);
g_message ("%s", error->message);
g_clear_error (&error);
}
@@ -278,7 +278,7 @@ gimp_rc_load (GimpRc *rc)
{
if (error->code != GIMP_CONFIG_ERROR_OPEN_ENOENT)
{
g_message (error->message);
g_message ("%s", error->message);
gimp_config_file_backup_on_error (rc->user_gimprc, "gimprc", NULL);
}
@@ -524,7 +524,7 @@ gimp_rc_save (GimpRc *rc)
header, footer, global,
&error))
{
g_message (error->message);
g_message ("%s", error->message);
g_error_free (error);
}

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

@@ -166,7 +166,7 @@ gimp_container_get_filtered_name_array (const GimpContainer *container,
}
else
{
g_warning (error->message);
g_warning ("%s", error->message);
g_error_free (error);
*length = 0;

View File

@@ -155,7 +155,7 @@ gimp_curve_map_pixels (GimpCurve *curve_colors,
{
dest[0] = src[0];
dest[1] = src[1];
dest[2] = gimp_curve_map_value (curve_green, src[2]);
dest[2] = gimp_curve_map_value (curve_blue, src[2]);
dest[3] = src[3];
src += 4;

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

@@ -59,7 +59,7 @@ gimp_drawable_hue_saturation (GimpDrawable *drawable,
NULL);
g_object_set (config,
"hue", hue / 100.0,
"hue", hue / 180.0,
"saturation", saturation / 100.0,
"lightness", lightness / 100.0,
NULL);

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

@@ -298,7 +298,7 @@ convert_dialog_response (GtkWidget *widget,
{
gimp_message (dialog->image->gimp, G_OBJECT (dialog->dialog),
GIMP_MESSAGE_WARNING,
error->message);
"%s", error->message);
g_clear_error (&error);
if (progress)

View File

@@ -124,6 +124,15 @@ file_open_dialog_response (GtkWidget *open_dialog,
gimp_file_dialog_set_sensitive (dialog, FALSE);
/* When we are going to open new image windows, unset the transient
* window. We don't need it since we will use gdk_window_raise() to
* keep the dialog on top. And if we don't do it, then the dialog
* will pull the image window it was invoked from on top of all the
* new opened image windows, and we don't want that to happen.
*/
if (! dialog->open_as_layers)
gtk_window_set_transient_for (GTK_WINDOW (open_dialog), NULL);
for (list = uris; list; list = g_slist_next (list))
{
gchar *filename = file_utils_filename_from_uri (list->data);

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
@@ -1356,7 +1362,7 @@ prefs_message (GtkMessageType type,
destroy_with_parent ?
GTK_DIALOG_DESTROY_WITH_PARENT : 0,
type, GTK_BUTTONS_OK,
message);
"%s", message);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy),

View File

@@ -216,7 +216,7 @@ quit_close_all_dialog_container_changed (GimpContainer *images,
text = g_strdup_printf (ngettext ("There is one image with unsaved changes:",
"There are %d images with unsaved changes:",
num_images), num_images);
gimp_message_box_set_primary_text (box, text);
gimp_message_box_set_primary_text (box, "%s", text);
g_free (text);
if (num_images == 0)

View File

@@ -318,9 +318,11 @@ 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);
"%s",
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

@@ -30,6 +30,9 @@
/* Velocity unit is screen pixels per millisecond we pass to tools as 1. */
#define VELOCITY_UNIT 3.0
static const GimpCoords default_coords = GIMP_COORDS_DEFAULT_VALUES;
/* public functions */
gboolean
@@ -38,38 +41,34 @@ gimp_display_shell_get_event_coords (GimpDisplayShell *shell,
GdkDevice *device,
GimpCoords *coords)
{
if (gdk_event_get_axis (event, GDK_AXIS_X, &coords->x))
gdouble x;
if (gdk_event_get_axis (event, GDK_AXIS_X, &x))
{
*coords = default_coords;
coords->x = x;
gdk_event_get_axis (event, GDK_AXIS_Y, &coords->y);
/* CLAMP() the return value of each *_get_axis() call to be safe
* against buggy XInput drivers. Provide default values if the
* requested axis does not exist.
* against buggy XInput drivers.
*/
if (gdk_event_get_axis (event, GDK_AXIS_PRESSURE, &coords->pressure))
coords->pressure = CLAMP (coords->pressure, GIMP_COORDS_MIN_PRESSURE,
GIMP_COORDS_MAX_PRESSURE);
else
coords->pressure = GIMP_COORDS_DEFAULT_PRESSURE;
if (gdk_event_get_axis (event, GDK_AXIS_XTILT, &coords->xtilt))
coords->xtilt = CLAMP (coords->xtilt, GIMP_COORDS_MIN_TILT,
GIMP_COORDS_MAX_TILT);
else
coords->xtilt = GIMP_COORDS_DEFAULT_TILT;
if (gdk_event_get_axis (event, GDK_AXIS_YTILT, &coords->ytilt))
coords->ytilt = CLAMP (coords->ytilt, GIMP_COORDS_MIN_TILT,
GIMP_COORDS_MAX_TILT);
else
coords->ytilt = GIMP_COORDS_DEFAULT_TILT;
if (gdk_event_get_axis (event, GDK_AXIS_WHEEL, &coords->wheel))
coords->wheel = CLAMP (coords->wheel, GIMP_COORDS_MIN_WHEEL,
GIMP_COORDS_MAX_WHEEL);
else
coords->wheel = GIMP_COORDS_DEFAULT_WHEEL;
return TRUE;
}
@@ -86,39 +85,32 @@ gimp_display_shell_get_device_coords (GimpDisplayShell *shell,
{
gdouble axes[GDK_AXIS_LAST];
*coords = default_coords;
gdk_device_get_state (device, shell->canvas->window, axes, NULL);
gdk_device_get_axis (device, axes, GDK_AXIS_X, &coords->x);
gdk_device_get_axis (device, axes, GDK_AXIS_Y, &coords->y);
/* CLAMP() the return value of each *_get_axis() call to be safe
* against buggy XInput drivers. Provide default values if the
* requested axis does not exist.
* against buggy XInput drivers.
*/
if (gdk_device_get_axis (device, axes, GDK_AXIS_PRESSURE, &coords->pressure))
coords->pressure = CLAMP (coords->pressure, GIMP_COORDS_MIN_PRESSURE,
GIMP_COORDS_MAX_PRESSURE);
else
coords->pressure = GIMP_COORDS_DEFAULT_PRESSURE;
if (gdk_device_get_axis (device, axes, GDK_AXIS_XTILT, &coords->xtilt))
coords->xtilt = CLAMP (coords->xtilt, GIMP_COORDS_MIN_TILT,
GIMP_COORDS_MAX_TILT);
else
coords->xtilt = GIMP_COORDS_DEFAULT_TILT;
if (gdk_device_get_axis (device, axes, GDK_AXIS_YTILT, &coords->ytilt))
coords->ytilt = CLAMP (coords->ytilt, GIMP_COORDS_MIN_TILT,
GIMP_COORDS_MAX_TILT);
else
coords->ytilt = GIMP_COORDS_DEFAULT_TILT;
if (gdk_device_get_axis (device, axes, GDK_AXIS_WHEEL, &coords->wheel))
coords->wheel = CLAMP (coords->wheel, GIMP_COORDS_MIN_WHEEL,
GIMP_COORDS_MAX_WHEEL);
else
coords->wheel = GIMP_COORDS_DEFAULT_WHEEL;
}
void
@@ -127,38 +119,31 @@ gimp_display_shell_get_time_coords (GimpDisplayShell *shell,
GdkTimeCoord *event,
GimpCoords *coords)
{
*coords = default_coords;
gdk_device_get_axis (device, event->axes, GDK_AXIS_X, &coords->x);
gdk_device_get_axis (device, event->axes, GDK_AXIS_Y, &coords->y);
/* CLAMP() the return value of each *_get_axis() call to be safe
* against buggy XInput drivers. Provide default values if the
* requested axis does not exist.
* against buggy XInput drivers.
*/
if (gdk_device_get_axis (device,
event->axes, GDK_AXIS_PRESSURE, &coords->pressure))
coords->pressure = CLAMP (coords->pressure, GIMP_COORDS_MIN_PRESSURE,
GIMP_COORDS_MAX_PRESSURE);
else
coords->pressure = GIMP_COORDS_DEFAULT_PRESSURE;
if (gdk_device_get_axis (device, event->axes, GDK_AXIS_XTILT, &coords->xtilt))
coords->xtilt = CLAMP (coords->xtilt, GIMP_COORDS_MIN_TILT,
GIMP_COORDS_MAX_TILT);
else
coords->xtilt = GIMP_COORDS_DEFAULT_TILT;
if (gdk_device_get_axis (device, event->axes, GDK_AXIS_YTILT, &coords->ytilt))
coords->ytilt = CLAMP (coords->ytilt, GIMP_COORDS_MIN_TILT,
GIMP_COORDS_MAX_TILT);
else
coords->ytilt = GIMP_COORDS_DEFAULT_TILT;
if (gdk_device_get_axis (device, event->axes, GDK_AXIS_WHEEL, &coords->wheel))
coords->wheel = CLAMP (coords->wheel, GIMP_COORDS_MIN_WHEEL,
GIMP_COORDS_MAX_WHEEL);
else
coords->wheel = GIMP_COORDS_DEFAULT_WHEEL;
}
gboolean

View File

@@ -458,12 +458,25 @@ gimp_display_shell_drop_uri_list (GtkWidget *widget,
gpointer data)
{
GimpDisplayShell *shell = GIMP_DISPLAY_SHELL (data);
GimpImage *image = shell->display->image;
GimpContext *context = gimp_get_user_context (shell->display->gimp);
GimpImage *image;
GimpContext *context;
GList *list;
gboolean open_as_layers;
/* If the app is already being torn down, shell->display might be NULL here.
* Play it safe. */
if (! shell->display)
{
return;
}
image = shell->display->image;
context = gimp_get_user_context (shell->display->gimp);
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 +484,13 @@ gimp_display_shell_drop_uri_list (GtkWidget *widget,
GError *error = NULL;
gboolean warn = FALSE;
if (! shell->display->image)
if (! shell->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;
/* It seems as if GIMP is being torn down for quitting. Bail out. */
return;
}
else
if (open_as_layers)
{
GList *new_layers;
@@ -510,8 +519,35 @@ 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;
if (warn)
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;
}
/* Something above might have run a few rounds of the main loop. Check
* that shell->display is still there, otherwise ignore this as the app
* is being torn down for quitting. */
if (warn && shell->display)
{
gchar *filename = file_utils_uri_display_name (uri);

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

@@ -49,6 +49,9 @@
/* maximal width of the string holding the cursor-coordinates */
#define CURSOR_LEN 256
/* the spacing of the hbox */
#define HBOX_SPACING 1
/* spacing between the icon and the statusbar label */
#define ICON_SPACING 2
@@ -152,6 +155,7 @@ static void
gimp_statusbar_init (GimpStatusbar *statusbar)
{
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *image;
GimpUnitStore *store;
@@ -171,13 +175,27 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
statusbar->progress_active = FALSE;
statusbar->progress_shown = FALSE;
/* remove the label and insert a hbox */
gtk_container_remove (GTK_CONTAINER (GTK_STATUSBAR (statusbar)->frame),
g_object_ref (GTK_STATUSBAR (statusbar)->label));
label = g_object_ref (GTK_STATUSBAR (statusbar)->label);
hbox = gtk_hbox_new (FALSE, 1);
gtk_container_add (GTK_CONTAINER (GTK_STATUSBAR (statusbar)->frame), hbox);
gtk_widget_show (hbox);
/* remove the message area or label and insert a hbox */
#if GTK_CHECK_VERSION (2, 19, 1)
{
hbox = gtk_statusbar_get_message_area (GTK_STATUSBAR (statusbar));
gtk_box_set_spacing (GTK_BOX (hbox), HBOX_SPACING);
gtk_container_remove (GTK_CONTAINER (hbox), label);
}
#else
{
GtkWidget *label_parent;
label_parent = gtk_widget_get_parent (label);
gtk_container_remove (GTK_CONTAINER (label_parent), label);
hbox = gtk_hbox_new (FALSE, HBOX_SPACING);
gtk_container_add (GTK_CONTAINER (label_parent), hbox);
gtk_widget_show (hbox);
}
#endif
statusbar->cursor_label = gtk_label_new ("8888, 8888");
gtk_misc_set_alignment (GTK_MISC (statusbar->cursor_label), 0.5, 0.5);
@@ -817,8 +835,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 +1210,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:

View File

@@ -185,7 +185,7 @@ gimp_error_log_func (const gchar *domain,
const gchar *message,
gpointer data)
{
gimp_fatal_error (message);
gimp_fatal_error ("%s", message);
}
static void

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

@@ -136,7 +136,7 @@ file_open_image (Gimp *gimp,
{
g_free (filename);
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_ACCES,
g_strerror (errno));
"%s", g_strerror (errno));
return NULL;
}
}
@@ -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;
@@ -614,13 +617,15 @@ file_open_profile_apply_rgb (GimpImage *image,
g_object_set (config, "mode", GIMP_COLOR_MANAGEMENT_OFF, NULL);
gimp_message (image->gimp, G_OBJECT (progress),
GIMP_MESSAGE_WARNING, msg);
GIMP_MESSAGE_WARNING,
"%s", msg);
g_free (msg);
}
else
{
gimp_message (image->gimp, G_OBJECT (progress),
GIMP_MESSAGE_ERROR, error->message);
GIMP_MESSAGE_ERROR,
"%s", error->message);
}
g_error_free (error);

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);

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