summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Let get_items_log_attrs take the start-of-text offset into accountStephan Bergmann2020-09-101-2/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...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.
* | | Merge branch 'asan-fixes' into 'master'Matthias Clasen2020-09-125-8/+31
|\ \ \ | | | | | | | | | | | | | | | | Asan fixes See merge request GNOME/pango!238
| * | | tests: Fix some more memory errorsasan-fixesMatthias Clasen2020-09-121-5/+15
| | | | | | | | | | | | | | | | | | | | test-break was leaking memory in various places, in particular when tests are skipped.
| * | | tests: Fix memory leaksMatthias Clasen2020-09-123-3/+3
| | | | | | | | | | | | | | | | These were showing up as errors from lsan.
| * | | tests: Make test-layout work standaloneMatthias Clasen2020-09-121-0/+3
| | | | | | | | | | | | | | | | This broke when I recently reshuffled things.
| * | | ci: Suppress lsan leak warnings from dependenciesMatthias Clasen2020-09-122-0/+10
| | | |
* | | | Merge branch 'asan-ci' into 'master'Matthias Clasen2020-09-122-1/+31
|\ \ \ \ | |/ / / | | / / | |/ / |/| | ci: Add asan See merge request GNOME/pango!237
| * | ci: Let stages run in parallelasan-ciMatthias Clasen2020-09-121-0/+5
| | |
| * | ci: Add a test run under asanMatthias Clasen2020-09-121-1/+24
| | | | | | | | | | | | This is largely copied from what GTK does.
| * | ci: Add libasan and libubsan to the docker imageMatthias Clasen2020-09-121-0/+2
|/ / | | | | | | | | Make a v2 of the docker image that includes libasan, so we can add a ci step running the testsuite under asan.
* | Merge branch 'optional-dependencies' into 'master'Matthias Clasen2020-09-093-9/+21
|\ \ | | | | | | | | | | | | Make dependencies to libthai, cairo and xft optional. See merge request GNOME/pango!235
| * | Make dependencies to libthai, cairo and xft optional.Niklas Guertler2020-09-093-9/+21
|/ / | | | | | | 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.
* | Merge branch 'more-sample-texts' into 'master'Matthias Clasen2020-09-081-1/+34
|\ \ | | | | | | | | | | | | Add some more language sample texts See merge request GNOME/pango!234
| * | Add some more language sample textsmore-sample-textsMatthias Clasen2020-09-081-1/+34
|/ / | | | | | | | | | | 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.
* | Merge branch 'avoid-script-lang-crash' into 'master'Matthias Clasen2020-09-082-1/+16
|\ \ | | | | | | | | | | | | Don't assert in pango_language_get_scripts See merge request GNOME/pango!233
| * | Don't assert in pango_language_get_scriptsavoid-script-lang-crashMatthias Clasen2020-09-082-1/+16
|/ / | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'master.prec99' into 'master'Khaled Hosny2020-08-272-2/+4
|\ \ | | | | | | | | | | | | Some Visual Studio-related fixes (GIT master) See merge request GNOME/pango!231
| * | meson.build: Fix check for msvc_recommended_pragmas.hChun-wei Fan2020-08-261-1/+1
| | | | | | | | | | | | | | | There was a typo when we checked whether force-including it would be supported. Fix that.
| * | pangowin32-fontmap.c: Fix build on older compilersChun-wei Fan2020-08-261-1/+3
|/ / | | | | | | Declare variables at the top of the block...
* | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-08-231-2/+0
|\ \ | | | | | | | | | | | | remove leftover debug code See merge request GNOME/pango!230
| * | Remove leftover debug codeMatthias Clasen2020-08-231-2/+0
|/ / | | | | | | | | This #if snuck in as part of efa66e7b634050ef3. No need to keep it around.
* | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-08-221-2/+2
|\ \ | | | | | | | | | | | | Cosmetic See merge request GNOME/pango!228
| * | CosmeticMatthias Clasen2020-08-211-2/+2
|/ /
* | Merge branch 'issue-482' into 'master'Matthias Clasen2020-08-201-23/+28
|\ \ | | | | | | | | | | | | | | | | | | Fixes pango_win32_font_map_load_font when font contains fallback families Closes #482 See merge request GNOME/pango!217
| * | Fixes pango_win32_font_map_load_font when font contains fallback familiesEvgenii Gurianov2020-08-041-23/+28
| | |
* | | 1.46.11.46.1Matthias Clasen2020-08-202-1/+6
| | |
* | | Merge branch 'sysprof-tracing' into 'master'Matthias Clasen2020-08-196-0/+120
|\ \ \ | | | | | | | | | | | | | | | | Add sysprof tracing support See merge request GNOME/pango!227
| * | | Add sysprof tracing supportMatthias Clasen2020-08-196-0/+120
| | | | | | | | | | | | | | | | | | | | Add support for adding sysprof marks. Strongly inspired by equivalent GLib support.
* | | | Merge branch 'ci-depth' into 'master'Matthias Clasen2020-08-194-0/+5
|\ \ \ \ | |/ / / |/| | | | | | | | | | | ci: Limit depth of subprojects when cloning See merge request GNOME/pango!226
| * | | ci: Limit depth of subprojects when cloningMatthias Clasen2020-08-194-0/+5
|/ / / | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'minor-fix' into 'master'Matthias Clasen2020-08-192-1/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Minor fixes Closes #495 See merge request GNOME/pango!224
| * | | Handle analysis.font being NULLMatthias Clasen2020-08-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Avoid a dead assignmentMatthias Clasen2020-08-181-1/+1
|/ / / | | | | | | | | | | | | As pointed out in #495, we were assigning logical_rect->y twice in a row here. Once is enough.
* | | Merge branch 'cairo-fontconfig-buglet' into 'master'Matthias Clasen2020-08-182-9/+17
|\ \ \ | | | | | | | | | | | | | | | | Use proper fontconfig config object See merge request GNOME/pango!222
| * | | cairo: Use the proper FcConfigMatthias Clasen2020-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Don't call FcFontSetSort twiceMatthias Clasen2020-08-151-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Speed up font format filteringMatthias Clasen2020-08-151-1/+4
| | | | | | | | | | | | | | | | | | | | We were needlessly duplicating patters when we could have just referenced them.
* | | | Merge branch 'wip/smcv/revert-renderer-abi-break' into 'master'Matthias Clasen2020-08-162-12/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | renderer: Move overline to priv data structure Closes #497 See merge request GNOME/pango!220
| * | | | renderer: Move overline to priv data structureSimon McVittie2020-08-162-12/+12
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge branch 'patch-1' into 'master'Matthias Clasen2020-08-131-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Correct a typo in pangowin32.c See merge request GNOME/pango!219
| * | | Correct a typo in pangowin32.cFelix Yan2020-08-121-1/+1
|/ / /
* | | 1.461.46.0Matthias Clasen2020-08-102-1/+5
| | |
* | | Undo a recent changeMatthias Clasen2020-08-101-2/+2
| | | | | | | | | | | | | | | | | | Revert 97778b40daedac08f6, since it sadly broke running our testsuite which does pass arguments like -k and --tap.
* | | Merge branch 'ricotz/docs' into 'master'Matthias Clasen2020-08-101-2/+2
|\ \ \ | | | | | | | | | | | | | | | | Adjust "Since" tags to refer to 1.46 See merge request GNOME/pango!218
| * | | Adjust "Since" tags to refer to 1.46Rico Tzschichholz2020-08-061-2/+2
| |/ /
* | | test-break: Add a legendMatthias Clasen2020-08-091-4/+19
| | | | | | | | | | | | | | | Use test-break --help to get a legend for the codes used in the output.
* | | test-break: Improve outputMatthias Clasen2020-08-091-3/+3
| | | | | | | | | | | | | | | | | | When we are generating expected output, don't init the tests, so we can avoid the random seed and # in the output.
* | | 1.45.51.45.5Matthias Clasen2020-08-051-0/+5
|/ /
* | Merge branch 'ricotz/parse-color-with-alpha' into 'master'Matthias Clasen2020-08-041-1/+3
|\ \ | | | | | | | | | | | | Fix g-i annotation of pango_parse_color_with_alpha and add since tag See merge request GNOME/pango!216
| * | Fix g-i annotation of pango_parse_color_with_alpha and add since tagRico Tzschichholz2020-08-041-1/+3
|/ /