Commit Graph

42290 Commits

Author SHA1 Message Date
Ell c7a4eb4602 tools: replace performance-log viewer call-graph direction icons
Use the less-ambiguous, if just as clumsy,
"format-indent-more/less" icons, to stand for the
caller -> callee, and callee -> caller, directions, respectively.
2018-09-21 07:45:14 -04:00
Ell c537341d35 tools: a few improvements in performance-log-viewer.py
Fix searching for samples by thread name, in particular, when there
are unnamed threads.

Use GtkMenuButton, instead of GtkButton, for the find-samples
header button.

Add mnemonics to the find-samples popover.
2018-09-21 02:41:56 -04:00
Jehan 4dc45f9658 libgimpmath: fix typo in various places: s/orthognal/orthogonal/. 2018-09-20 18:10:45 +02:00
Ell a1b08a503d Revert "app: disable parallel asynchronous operations when GEGL_THREADS=1"
This reverts commit 408540659f, which
is no longer necessary after GEGL commit
c8a0b9eff07c8d9122f55f7b7527d51788ae4575.
2018-09-20 08:09:30 -04:00
Simon Mueller 6a5023a38a Issue #2179: Get rid of the win32_use_hkcu flag.
Simply always check HKCU first. If that lookup did not yield any result,
fall back to HKLM.
2018-09-19 15:01:46 +02:00
Simon Budig f7ac033777 libgimpwidgets: fix accidential double G_ADD_PRIVATE 2018-09-18 23:13:24 +02:00
Ell a5c8dd5c73 app: fix incompatible pointer type warning in gimpviewrendererdrawable.c
... more GLib 2.58 fallout.
2018-09-18 16:23:19 -04:00
Ell a84b57e67e app: fix unhandled enumeration value warning in gimptextlayer.c 2018-09-18 16:23:19 -04:00
Ell 3b0040c043 app, libgimp*, modules: don't use g_type_class_add_private() ...
... and G_TYPE_INSTANCE_GET_PRIVATE()

g_type_class_add_private() and G_TYPE_INSTANCE_GET_PRIVATE() were
deprecated in GLib 2.58.  Instead, use
G_DEFINE_[ABSTRACT_]TYPE_WITH_PRIVATE(), and
G_ADD_PRIVATE[_DYNAMIC](), and the implictly-defined
foo_get_instance_private() functions, all of which are available in
the GLib versions we depend on.

This commit only covers types registered using one of the
G_DEFINE_FOO() macros (i.e., most types), but not types with a
custom registration function, of which we still have a few -- GLib
currently only provides a (non-deprecated) public API for adding a
private struct using the G_DEFINE_FOO() macros.

Note that this commit was 99% auto-generated (because I'm not
*that* crazy :), so if there are any style mismatches... we'll have
to live with them for now.
2018-09-18 14:39:56 -04:00
Marco Ciampa d5586ed9d0 Updated Italian translation 2018-09-17 19:41:52 +02:00
Marco Ciampa 7bfd22ca68 Fixed small typo 2018-09-17 19:34:41 +02:00
Jehan ef8042e812 icons: fix icons!
Ok looks like I missed some changes when I updated these icon Makefiles.
Anyway I still have a lot to straighten up within icons. :-/
2018-09-17 19:17:32 +02:00
Jehan 97247f41ea app: don't sanity check for "gegl:matting-levin".
My previous commit answers the forever question "do we want to require
this?" which was in comments and can now be removed.
We don't need to actually require this operation for running GIMP, as it
runs fine without. Just testing in configure is enough of a warning for
the missing feature.
2018-09-17 17:01:29 +02:00
Jehan 9560a653c5 configure: check presence of "gegl:matting-levin" with `gegl --exists`.
This is a runtime dependency. If absent, we simply won't have access to
the alternative Matting Levin engine in the foreground selection tool.

If we don't add a test in configure, this may be easily forgotten. I
created the `gegl --exists` feature specifically for this kind of
checks, so let's check operation existence.
2018-09-17 16:40:00 +02:00
luz.paz 386587736f Misc. typo fixes
Found via `codespell`
2018-09-16 18:49:18 -04:00
Jehan 64b00b5c7f plug-ins: add the "msf1" brand for HEIF files.
After Dirk Farin had another look in the specs, it turns out that "mif1"
is actually allowed as major brand for HEIF. Also adding "msf1" which is
the equivalent for image sequences.
2018-09-16 19:21:14 +02:00
Ell f8dd444e98 tools: in performance-log-viewer.py, fix profile viewer search column 2018-09-16 12:34:58 -04:00
Ell 3601c9189b tools: add performance-log-viewer.py and driver
performance-log-viewer.py is a viewer for GIMP performance logs.
The viewer is made up of two parts: a sample-selection area at the
top, and an information area at the bottom.

The sample-selection area visualizes the sampled variables and
markers using a simultaneous set of plots, and displays the
currently selected samples.  Samples can be selected directly
through the sample-selection area, or by other means, such as
searching for all samples satisfying a certain condition, or
containing a certain function.

The information area shows global information stored in the log, as
well as information specific to the currently selected samples,
including variable listing and statistics, full backtrace, and
profile/call-graph information.

Note that performance-log-viewer.py takes its input from STDIN,
like the rest of the performance-log tools, and is therefore
suitable for use as part of a pipeline.  For standalone use, the
performance-log-viewer driver is also included, which takes the log
file as a command-line argument, and processes it through an
appropriate pipeline before feeding it to the viewer.
2018-09-16 12:03:57 -04:00
Ell 7e186f3e5d tools: add performance-log-deduce.py
... which statistically deduces the correct thread states based on
backtrace address frequency, fixing local inaccuracies.
2018-09-16 11:58:38 -04:00
Piotr Drąg 87999d17db Update Polish translation 2018-09-16 17:17:54 +02:00
Jehan 4ad3993eca Issue #2209: more accurate magic for HEIF files.
Just looking for "ftyp" would also match other ISOBMFF files (.mov or
.mp4 files for instance). These are the possible 4-byte "brand" code
which can follow "ftyp", as listed by Dirk Farin from libheif.

I add the "mif1" brand, as I encountered some files using this magic
(even though this should normally not be valid apparently, yet the file
loaded fine in GIMP).

This is not perfect as the standard allows potentially very big box
headers, in which case 8 bytes (the "largesize" slot) may be inserted
between "ftyp" and the brand, as I understand it. But this is actually
unlikely enough to probably never happen (the compatible brands list
would have to be huuuge, as it looks like this is the only extendable
part in a ftyp box). So let's assume this just never happens.

See also: https://github.com/strukturag/libheif/issues/83
2018-09-16 16:52:21 +02:00
Ell 2c6b5c371e app: add more information to performance logs
In addition to the verbose GIMP version, include in performance
logs the values of all environment variables beginning with BABL_,
GEGL_, or GIMP_, and of all the GEGL config options.
2018-09-16 09:00:03 -04:00
Ell e8c1cd79ba app: in gimpbacktrace-linux, use SA_RESTART for the backtrace signal 2018-09-16 09:00:03 -04:00
Dimitris Spingos 6038f405bf Updated Greek translation 2018-09-16 05:43:29 +03:00
Jehan dc9a30446b devel-docs: add the package maintainers in the release-howto.
Nicknames on IRC/gitlab are hard, even more when they change depending
on the media! I realize we are regularly asking them or unsure of who to
contact (for instance here for releases). Let's associate each package
with its current maintainer to make it easy to contact the right person
to prepare our official packages before a release.
2018-09-15 09:23:09 +02:00
Jehan ff56a3af8d build: update the flatpak cron file.
The artifacts should be moved after each export (otherwise we mix
artefacts from various builds). Also fix the last date call.
2018-09-14 18:12:23 +02:00
Jehan d738d2f645 Issue #2209: HEIF: Invalid input: No 'ftyp' box.
Adding a magic number for HEIC/HEIF, which would allow to discard
obvious non-HEIC images even with the wrong extension.

Note: it looks like this magic number would also match more generically
other ISO base media file format (ISOBMFF) formats, like .mov or .mp4
files. I am enquiring for better magic but for now, this is better than
nothing.
2018-09-14 17:57:15 +02:00
Jehan a654ecbd70 build: assume yes to questions when updating flatpak runtimes. 2018-09-13 18:17:18 +02:00
Jehan 573d817539 Issue #2055: make save dialog compatibility information understandable.
* The minimum GIMP version for this XCF is always written down when it
  is GIMP 2.8 or over.
* The list of features warrating the minimum version is now listed in an
  expander container rather than as tooltip (making the list actually
  discoverable!).
* The warning on compression is now displayed as its own text under the
  checkbox (only when checking the box actually changes anything
  compatibility-wise), and not as additional text to the minimum GIMP
  version label. Otherwise it had far too much weight on the minimum
  compatible GIMP version text and people were wondering what it meant.
  We should not tell people what the checkbox cannot do (it cannot
  improve compatibility in some cases), only what it can do (it can
  improve compatibility in other cases).
* Update the feature list real-time when checking the compression box
  (making it even more obvious that tile compression may have a say in
  compatibility).
* Metadata info is still added on the GIMP version label as it does not
  limit compatibility of the XCF file itself.
2018-09-11 13:14:54 +02:00
Jehan 0fa2ef9118 app: add a reason string for internal zlib compression in GIMP 2.10.
Even though chosen as a parameter to gimp_image_get_xcf_version() and
not a feature within the image itself, we also want to list this reason
in the compatibility list.
2018-09-11 11:26:51 +02:00
Jehan 7448c7f811 libgimpwidgets: do not assume a GimpFrame has a child.
This fixes 2 CRITICALs when creating a GimpFrame without a child. There
are reasons to create empty frames (for instance to conditionnally add
contents later, and use it as a label only otherwise).
2018-09-11 11:26:51 +02:00
Jehan ea67537d85 app: conditionnally free new profile in gimp_image_convert_precision().
Do not free a NULL pointer! This fixes a CRITICAL:
> g_object_unref: assertion 'G_IS_OBJECT (object)' failed
2018-09-11 11:26:51 +02:00
Ell 6c6a7514a4 app: some cleanup in gimppaintcore-loops
In gimp_paint_core_loops_process(), initialize the iterator with
sufficient room for the number of iterators used by the algorithm
hierarchy, instead of a fixed number.

Add an additional 'rect' parameter to the init_step() and
process_rows() algorithm member functions, which receives the area
of the currently-processed chunk, to be used instead of the
iterator's ROI member.  This allows us to pass a NULL iterator to
hierarchies that don't use an iterator, and avoid the stack-
allocated iterator hack we used in this case (and which became even
more problematic with the new iterator API).
2018-09-11 04:05:00 -04:00
Øyvind Kolås 6fca9959c7 plug-ins: migrate pagecurl to new iterator api 2018-09-11 02:05:41 +02:00
Øyvind Kolås cc10af72cc plug-ins: migrate screenshot-x11 to new iterator api 2018-09-11 02:05:13 +02:00
Øyvind Kolås 49c53568d7 plug-ins: migrate print-draw-page to new iterator api 2018-09-11 02:04:47 +02:00
Øyvind Kolås 8edbc0d491 plug-ins: migrate ifs compose to new iterator api 2018-09-11 02:04:11 +02:00
Øyvind Kolås 29f63616d2 plug-ins: migrate file-tiff-load to new iterator api 2018-09-11 02:03:09 +02:00
Øyvind Kolås 3a2014984d plug-ins: migrate psd plug-ins to new iterator api 2018-09-11 02:02:50 +02:00
Øyvind Kolås ee48ec6877 plug-ins: migrate gradient-map to new iterator api 2018-09-11 02:02:13 +02:00
Øyvind Kolås 4165a315d5 plug-ins: migrate qbist to new iterator api 2018-09-11 02:01:57 +02:00
Øyvind Kolås 764085278f plug-ins: migrate file-png to new iterator-api 2018-09-11 02:01:47 +02:00
Øyvind Kolås b7633c722e plug-ins: compose migrated to new iterator api 2018-09-11 01:52:42 +02:00
Øyvind Kolås 6ab12061b7 plug-ins: colormap-remap migrated to new iterator api 2018-09-11 01:52:32 +02:00
Øyvind Kolås 754a3c5b18 plug-ins: border-average migrated to new iterator api 2018-09-11 01:52:18 +02:00
Øyvind Kolås 22b4b647bd plug-ins: decompose migrated to new iterator api 2018-09-11 01:52:01 +02:00
Øyvind Kolås 55b3438328 app: migrate gimpoperationmaskcomponents to new iterator api 2018-09-11 01:47:31 +02:00
Øyvind Kolås c6d23add65 app: migrate gimpoperationgradient to new iterator api 2018-09-11 01:47:12 +02:00
Øyvind Kolås f03a84d607 app: migrate gimpoperationcagetransform to new iterator api 2018-09-11 01:46:53 +02:00
Øyvind Kolås 822f9f0d2b app: migrate gimpoperationcagecoefcalc to new iterator api 2018-09-11 01:46:34 +02:00