Commit Graph

39117 Commits

Author SHA1 Message Date
Jehan 7be856a47d app: use GWeakRef instead of g_object_add_weak_pointer().
Other than multi-threading (which here is not the problem), using
GWeakRef has the other advantage that it makes the type of pointer
obvious, hence avoiding the kind of errors as fixed in commit 12df796.
One can't just change the pointer value directly, and has to use
g_weak_ref_set(), so such problem won't happen again.
2017-10-04 23:38:24 +02:00
Jehan 12df7960ad Bug 788442 - Gimp crashes not using GEGL Operation tool.
Properly set the pointer as a weak pointer, same as in GimpOperationTool
parent class, to make sure it is resetted to NULL upon destruction.
2017-10-04 23:25:08 +02:00
Ell e06a18b944 app: use a single size entry for the pos/size props of GimpRectangleOptions
Repalce the two separate size entries, used for the position and
size properties of GimpRectangleOptions, with a single size entry
with two fields, so that they accept ratio expressions.  Note that
this doesn't change the UI.
2017-10-04 14:25:02 -04:00
Ell f2a80a093a libgimpwidgets: enable ratio expressions for size entries with two fields
When a size entry has exactly two fields, enable ratio expressions
in eevl.  Set the reference value to the value of the field that is
not currently being evaluated, and invert the ratio when evaluating
the second field.
2017-10-04 14:25:01 -04:00
Ell 6caae9c53b libgimpwidgets: add ratio expressions to eevl
Ratio expressions have the form 'x : y' (the ':' operator has the
highest precedence for a binary operator, and is left-associative).
Given a reference value 'a', the expression evaluates to
'a * (x / y)'.

Ratio expressions can be controlled by the caller by:

  - Enabling or disabling them:  They're meant to be used when the
    eevl servers two paired entries, and can be disabled otherwise.

  - Setting the reference value:  That's normally the value of the
    "other" entry of the pair--the one not currently being
    evaluated.

  - Inverting the ratios:  Normally, one entry refers to the
    antecedent term of the ratio, and the other entry refers to the
    consequent term of the ratio.  When evaluating the latter one,
    the ratio should be inverted.
2017-10-04 14:25:01 -04:00
Ell 7362d47922 libgimpwidgets: use struct, not parameters, to pass eevl options
Pass the evaluation options to gimp_eevl_evaluate() using a single
parameter of type GimpEevlOptions, instead of using individual
parameters for each option.  Add a GIMP_EEVL_OPTIONS_INIT macro,
used to initialize a GimpEevlOptions struct to the default set of
options.  This would allow us to add evaluation options more
easily.
2017-10-04 14:25:01 -04:00
Ell 0ae7acd594 app: in xcf-load, avoid writing buffer data for empty tiles
When loading tile data, avoid copying the data into the GEGL
buffer when the tile is empty (i.e., all its bytes are 0), so that
GEGL doesn't allocate memory for it unnecessarily.
2017-10-04 06:51:34 -04:00
Jehan 2a0c610e02 app: don't show the manual language list when no manuals are installed. 2017-10-04 00:36:45 +02:00
Jehan b1f8f60229 app: fix building GUI language store instead of empty manual language...
... store.
2017-10-03 23:37:21 +02:00
Jehan e6b55392d2 NEWS: add Wavelet Decompose improvements and update localization list. 2017-10-03 22:52:55 +02:00
Jehan 656914a344 NEWS: add new capability of reading manual of any localization...
... not only the GUI localization.
If you installed other manuals, these will be proposed.
2017-10-03 21:17:42 +02:00
Jehan 3061333fdb app: the manual language can now be customized through the Preferences. 2017-10-03 20:49:27 +02:00
Jehan 6608196978 app: reuse GimpLanguageComboBox to show available manual languages.
Better factorize by reusing code rather than recreating a combo box
which does basically the same thing. I only added a boolean parameter to
retrieve only the sublist of manual language.
It also takes advantage of the self-translated language names from
initialization.
2017-10-03 20:49:27 +02:00
Øyvind Kolås d0bb3efff4 libgimpcolor: follow API updates in babl 2017-10-03 16:15:46 +02:00
Michael Natterer a7620b08aa Bug 788399 - Corrupted display of sample points
In gimp_canvas_sample_point_get_extents(), use the drawn number's
actual size instead of some random constant that was good enough for
my own font size.
2017-10-01 19:39:56 +02:00
Michael Natterer 8f3cee4241 app: also fix the calls to xcf_read,write-component() 2017-10-01 17:43:10 +02:00
Michael Natterer 4503dad78c app: also, it's not the number of pixels but the number of components, sigh 2017-10-01 17:39:54 +02:00
Michael Natterer ebbcaddae7 app: enable XCF version 12 which finally saves big-endian tile data only 2017-10-01 17:28:20 +02:00
Michael Natterer 2e0035c9df app: XCF endian swapping was still not correct
The number of pixels is "tile_size / bpp", not "tile_size / n_components".
2017-10-01 17:27:04 +02:00
Piotr Drąg bda06dd450 Update Polish translation 2017-10-01 14:09:51 +02:00
Christian Kirbach 46e7d02d5a Update German translation 2017-09-30 13:58:03 +00:00
Ell 33b05cd367 Bug 786844 - Issue with grain merge layer mode
Use 128/255, rather than 0.5, as the half-intensity value for
legacy layer modes that use it explicitly, to match 2.8 results.
2017-09-28 10:31:39 -04:00
Fran Dieguez 7da0153f17 Update Galician translation 2017-09-28 13:56:47 +00:00
Alexandre Prokoudine 6efbe67dc4 Update Russian translation 2017-09-28 04:25:44 +03:00
Alexandre Prokoudine 290c5f54e3 wavelet-decompose: marke user-visible messages for translation 2017-09-28 04:10:55 +03:00
Alexandre Prokoudine fbf0d33323 Mark user-visible messages for translation 2017-09-28 03:59:44 +03:00
Jehan 88e6dc46af plug-ins: use a domain on g_set_error().
Without a domain error, glib outputs on console:
> g_error_new_valist: runtime check failed: (domain != 0)
Let's just create a domain error for the file-pdf-load plugin.
2017-09-26 23:48:52 +02:00
Jehan f4d9aa00f1 Bug 788175 - New string in file-pdf-load.c needs plurals. 2017-09-26 23:43:55 +02:00
Marco Ciampa 5fdf49421b Another small fix in Italian translation 2017-09-26 14:59:48 +02:00
Marco Ciampa 234f8c7ab0 Small fix in Italian translation 2017-09-26 14:53:52 +02:00
Thomas Manni 41a2a3634c plug-ins: wavelet-decompose improvements
Add an option to keep the decomposition in a layer group.

Add an option to add layer mask to each scales layers.

Do not use 'new from visible' because it produces unexpected result when
- image is already composed by several layers
- target layer has not the same size as the image canvas
Replaced by succession of layer copy and merge down.
2017-09-26 13:51:46 +02:00
Marco Ciampa 92e58c4caf Updated Italian translation 2017-09-26 13:46:33 +02:00
Jehan c2330f002d Bug 787951 - improve help system.
When the manual in your current language is not installed, yet other
manuals are available, the help dialog will now propose either to read
the manual online (as was already the case) or to select a manual in
another language instead. This is even more important since we don't
have as many manuals as localizations of GIMP. Therefore if one took the
explicit step to install a manual in another language, it makes sense
that means one may know the alternative language. As an example, we have
3 Chinese localizations (zh_CN|TW|HK) but only a zh_CN manual. I could
definitely imagine someone with a zh_HK GUI to go for the zh_CN manual
as a fallback. Or other languages even, whatever!

This is a first step. Right now once one chose the alternative help
language, it is not possible to reset it yet (except by editing
"help-locales" in gimprc). The next step will be to add the settings in
Help System preferences.
2017-09-25 23:12:54 +02:00
Dimitris Spingos (Δημήτρης Σπίγγος) 973f340206 Update Greek translation 2017-09-25 17:14:16 +03:00
Marco Ciampa b5e5fca5a2 Updated Italian translation 2017-09-25 16:09:18 +02:00
Marco Ciampa a8dd6b2d7b Updated Italian translation 2017-09-25 15:56:21 +02:00
Jehan 2ffcf7390d NEWS: update file-pdf-load2 information.
It can now also load multi-page PDF files.
2017-09-25 03:28:57 +02:00
Jehan d5fd67022b plug-ins: add parameters to file-pdf-load2 to load multiple pages.
This is a new API function, so now is the right time to add missing
parameters! This will allow to load a selection of pages, and even to
reorder the document while doing so. Or simply load all pages in the
right order with n_pages <= 0.
2017-09-25 03:26:25 +02:00
Jehan 71450ef7da plug-ins: forgot to typecast the parameter.
Never commit even oneliners when exhausted. This is today's lesson.
2017-09-25 01:53:59 +02:00
Jehan ce4cc1a768 Bug 787039 - Make clear that the PDF import dialog selects all pages...
... by default.
Even though selecting nothing is equivalent to selecting all in our
code, let's just explicitly select all pages before showing the dialog
so to make this behavior explicit.
2017-09-24 23:56:35 +02:00
Jehan ab2d36cccf NEWS: fix my name.
I don't care at all about using a family name, but if you want to write
it down in this file, it has an accent. :-)
2017-09-24 05:13:51 +02:00
Jehan 96673794d9 build: make a new Flatpak manifest for the 2.9.6 release.
And rename the current manifest as being a nightly manifest.
2017-09-23 14:00:46 +02:00
Jehan a35d46d5a6 build: update the howto. 2017-09-23 13:37:56 +02:00
Jehan 40fe08b8c1 build: update webkit patch for flatpak build.
Not sure why, because flatpak-builder used to compile webkitgtk just
fine, but not anymore. I get now a "call of overloaded ‘abs(gdouble)’ is
ambiguous" error. It looks like some header may have been updated in the
flatpak environment and causing multiple abs definitions. Using fabs()
instead works around the issue.
2017-09-23 03:28:36 +02:00
Andika Triwidada 16eadb8ad1 Update Indonesian translation 2017-09-21 14:13:58 +00:00
Jehan 4b12467d4e build: gexiv2 also was bumped. 2017-09-20 20:31:25 +02:00
Jehan 411e550fb7 build: libwebp required version was bumped. 2017-09-20 17:02:50 +02:00
Ell 589e27bf0c app: in GimpFlipTool, stop drawing before initializing tool
... so that it doesn't clash with GimpTransformTool's logic, causing
CRITICALs.
2017-09-20 07:45:58 -04:00
Ell ee3ecb7833 app: avoid id. matrix short-circuit in trans. tool when ...
... the matrix is not actually used

Don't abort transform-tool commits when the transformation matrix
is the identity, for transform tools that don't calculate a
transformation matrix to begin with (i.e., the flip tool),
otherwise they do nothing.
2017-09-19 17:51:07 -04:00
Michael Natterer 6dfe04e928 Bug 787848 - Duplicate image crashes if there is an empty layer group
An empty gorup layer has no extent, so we fake its extents to be at
least 1x1 whenever its projection is being recreated, because we can't
have a 0x0 buffer in a drawable. This safeguard was forgotten in
gimp_group_layer_convert_type() which gets called on image duplicate.
2017-09-18 20:31:21 +02:00