| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
...when interpreting item->offset values.
I ran into this when executing tests of recent LibreOffice master with ASan on
Fedora 32 (with pango-1.44.7-2.fc32.x86_64), where one of the tests renders
various dialogs with a Tamil localization and failed with
> ==97247==ERROR: AddressSanitizer: SEGV on unknown address 0x60b000210006 (pc 0x7fd6c5b22b54 bp 0x61d0004b4150 sp 0x7fff107a0d18 T0)
> ==97247==The signal is caused by a READ memory access.
> #0 in g_utf8_get_char at ../glib/gutf8.c:319:37 (/lib64/libglib-2.0.so.0 +0x85b54)
> #1 in break_indic at ../pango/break-indic.c:119:17 (/lib64/libpango-1.0.so.0 +0x1076d)
> #2 in break_script at ../pango/break.c:1896:7 (/lib64/libpango-1.0.so.0 +0x1076d)
> #3 in tailor_break at ../pango/break.c:1606:9 (/lib64/libpango-1.0.so.0 +0x147db)
> #4 in pango_tailor_break at ../pango/break.c:1774:7 (/lib64/libpango-1.0.so.0 +0x147db)
> #5 in get_items_log_attrs at ../pango/pango-layout.c:4032:7 (/lib64/libpango-1.0.so.0 +0x2729c)
> #6 in pango_layout_check_lines at ../pango/pango-layout.c:4289:7 (/lib64/libpango-1.0.so.0 +0x2729c)
> #7 in pango_layout_get_extents_internal at ../pango/pango-layout.c:2623:3 (/lib64/libpango-1.0.so.0 +0x29068)
> #8 in gtk_label_get_measuring_layout at /usr/src/debug/gtk3-3.24.22-1.fc32.x86_64/gtk/gtklabel.c:3376:3 (/lib64/libgtk-3.so.0 +0x2454d0)
[...]
From some debugging, it smells like `pango_layout_check_lines` calls
`pango_itemize_with_base_dir` to compute `state.items` that are relative to the
beginning of `layout->text`, but then passes `state.items` together with the
offset'ed `start` into `get_items_log_attrs`, so that the latter misinterpreted
the items' locations relative to the offset'ed start.
Just adding
g_assert (item->offset <= length);
g_assert (item->length <= length - item->offset);
to the original `get_items_log_attrs` would make various tests in the `meson
test` suite fail, but which pass again with the complete fix, matching the above
speculation.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Asan fixes
See merge request GNOME/pango!238
|
| | | |
| | | |
| | | |
| | | |
| | | | |
test-break was leaking memory in various places,
in particular when tests are skipped.
|
| | | |
| | | |
| | | |
| | | | |
These were showing up as errors from lsan.
|
| | | |
| | | |
| | | |
| | | | |
This broke when I recently reshuffled things.
|
| | | | |
|
|\ \ \ \
| |/ / /
| | / /
| |/ /
|/| | |
ci: Add asan
See merge request GNOME/pango!237
|
| | | |
|
| | |
| | |
| | |
| | | |
This is largely copied from what GTK does.
|
|/ /
| |
| |
| |
| | |
Make a v2 of the docker image that includes libasan,
so we can add a ci step running the testsuite under asan.
|
|\ \
| | |
| | |
| | |
| | | |
Make dependencies to libthai, cairo and xft optional.
See merge request GNOME/pango!235
|
|/ /
| |
| |
| | |
Added meson features for disabling the dependencies libthai, cairo and xft such that they won't be used even if present on the system. Changed meson dependencies for some tests accordingly.
|
|\ \
| | |
| | |
| | |
| | | |
Add some more language sample texts
See merge request GNOME/pango!234
|
|/ /
| |
| |
| |
| |
| | |
Add sample texts for Khmer, Lao, Thaana, Sinhalese and Burmese,
the first two are from GLASS, the last three are from the
Wikipedia articles on these writing systems.
|
|\ \
| | |
| | |
| | |
| | | |
Don't assert in pango_language_get_scripts
See merge request GNOME/pango!233
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The assertion in pango_language_get_scripts can
actually be triggered since we last regenerated
the pango_script_for_lang table. It now includes
an entry for und-zsye which has no scripts.
Handle this case without asserting.
This commit includes a test.
|
|\ \
| | |
| | |
| | |
| | | |
Some Visual Studio-related fixes (GIT master)
See merge request GNOME/pango!231
|
| | |
| | |
| | |
| | |
| | | |
There was a typo when we checked whether force-including it would be
supported. Fix that.
|
|/ /
| |
| |
| | |
Declare variables at the top of the block...
|
|\ \
| | |
| | |
| | |
| | | |
remove leftover debug code
See merge request GNOME/pango!230
|
|/ /
| |
| |
| |
| | |
This #if snuck in as part of efa66e7b634050ef3.
No need to keep it around.
|
|\ \
| | |
| | |
| | |
| | | |
Cosmetic
See merge request GNOME/pango!228
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes pango_win32_font_map_load_font when font contains fallback families
Closes #482
See merge request GNOME/pango!217
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Add sysprof tracing support
See merge request GNOME/pango!227
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Add support for adding sysprof marks.
Strongly inspired by equivalent GLib support.
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
ci: Limit depth of subprojects when cloning
See merge request GNOME/pango!226
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Use the depth= argument from Meson 0.52 to limit the
clone depth of subprojects to 1. This should make the
CI images a little smaller, and reduce the bandwidth
required to build them.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Minor fixes
Closes #495
See merge request GNOME/pango!224
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I don't think this is a legitimate concern, but it is
faster to add a check than to argue about the use of
pango on fontless systems.
Fixes: #495
|
|/ / /
| | |
| | |
| | |
| | | |
As pointed out in #495, we were assigning
logical_rect->y twice in a row here. Once is enough.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Use proper fontconfig config object
See merge request GNOME/pango!222
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When calling into FcConfig api, passing NULL means
"use the default config". But we may have a set config
that we should be using for all fontconfig calls.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We can do the format filtering on the unsorted
font lists. Sorting the same list twice may be
fast, but there's still some setup overhead.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We were needlessly duplicating patters when we
could have just referenced them.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
renderer: Move overline to priv data structure
Closes #497
See merge request GNOME/pango!220
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts the ABI break caused by adding the overline to the public
data structure, and is binary- and source-compatible with Pango 1.45.0
and older, but not compatible with versions 1.45.1 to 1.46.0 inclusive.
Resolves: https://gitlab.gnome.org/GNOME/pango/-/issues/497
Bug-Debian: https://bugs.debian.org/968337
Signed-off-by: Simon McVittie <smcv@debian.org>
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Correct a typo in pangowin32.c
See merge request GNOME/pango!219
|
|/ / / |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Revert 97778b40daedac08f6, since it sadly broke
running our testsuite which does pass arguments like
-k and --tap.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Adjust "Since" tags to refer to 1.46
See merge request GNOME/pango!218
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
Use test-break --help to get a legend for the
codes used in the output.
|
| | |
| | |
| | |
| | |
| | |
| | | |
When we are generating expected output, don't
init the tests, so we can avoid the random seed
and # in the output.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
Fix g-i annotation of pango_parse_color_with_alpha and add since tag
See merge request GNOME/pango!216
|
|/ / |
|