commit ef90c33d75d77894eb4b08c016ff92b6c4b1c629
Author: Lukáš Tyrychtr <ltyrycht@redhat.com>
Date:   Sat Apr 12 23:29:55 2025 +0200

    a11y: gtk4: Fix text offsets
    
    Don't return nonsense offsets when returning nullptr from
    vte_accessible_text_get_contents_at. Previously, we were
    returning whatever garbage the caller had on the stack.
    
    Fixes: https://gitlab.gnome.org/GNOME/vte/-/merge_requests/3
    (cherry picked from commit d4c540a6f201c2532be8695b74356c0b1c6215ca)

 .dir-locals.el                                     |    19 +
 .gitattributes                                     |     1 +
 .gitlab-ci.yml                                     |    68 +
 .gitlab-ci/docs.html                               |    79 +
 .gitlab-ci/make-release.sh                         |    41 +
 AUTHORS                                            |     1 +
 COPYING.CC-BY-4-0                                  |   154 +
 COPYING.GPL3                                       |   675 ++
 COPYING.LGPL3                                      |   165 +
 COPYING.XTERM                                      |    30 +
 Makefile.meson                                     |    67 +
 README.md                                          |    93 +
 bindings/gir/meson.build                           |    69 +
 .../hicolor_actions_16x16_widget-vte-terminal.png  |   Bin 0 -> 644 bytes
 .../hicolor_actions_22x22_widget-vte-terminal.png  |   Bin 0 -> 901 bytes
 bindings/glade/meson.build                         |    42 +
 bindings/glade/vte.xml.in                          |    18 +
 bindings/meson.build                               |    27 +
 bindings/vala/Vte-2.91.metadata                    |     1 +
 bindings/vala/meson.build                          |    61 +
 build-aux/org.gnome.vte.gtk3.json                  |    31 +
 build-aux/org.gnome.vte.gtk4.json                  |    31 +
 doc/ambiguous.txt                                  |    50 +
 doc/boxes.txt                                      |   364 +
 doc/reference/licence.md                           |    27 +
 doc/reference/meson.build                          |    97 +
 doc/reference/vte-gtk3.toml.in                     |    54 +
 doc/reference/vte-gtk4.toml.in                     |    59 +
 doc/rewrap.txt                                     |   448 +
 doc/scrolling-region.txt                           |   183 +
 meson.build                                        |   809 ++
 meson_changelog.sh                                 |    33 +
 meson_options.txt                                  |   107 +
 perf/1fb.sh                                        |    13 +
 perf/256test.sh                                    |    88 +
 perf/UTF-8-demo.txt                                |   212 +
 perf/UTF-8-test.txt                                |   Bin 0 -> 23121 bytes
 perf/bidi-demo.txt                                 |   287 +
 perf/bidi.sh                                       |    39 +
 perf/block.py                                      |    48 +
 perf/checkered.sh                                  |    24 +
 perf/deco.sh                                       |    84 +
 perf/devanagari.txt                                |     6 +
 perf/hyperlink-demo.txt                            |    95 +
 perf/img.sh                                        |    87 +
 perf/inc.sh                                        |    10 +
 perf/legacy.py                                     |   370 +
 perf/line-drawing-missing.sh                       |     6 +
 perf/printwinsize.py                               |    26 +
 perf/random.sh                                     |     3 +
 perf/scroll.vim                                    |    68 +
 perf/sgr-test.sh                                   |   137 +
 perf/utf8.sh                                       |    11 +
 perf/vim.sh                                        |    12 +
 po/LINGUAS                                         |   101 +
 po/POTFILES.in                                     |     4 +
 po/POTFILES.skip                                   |    10 +
 po/ab.po                                           |    58 +
 po/am.po                                           |   111 +
 po/an.po                                           |    84 +
 po/ang.po                                          |   110 +
 po/ar.po                                           |   104 +
 po/as.po                                           |   106 +
 po/ast.po                                          |    96 +
 po/az.po                                           |   113 +
 po/be.po                                           |    58 +
 po/be@latin.po                                     |   123 +
 po/bg.po                                           |    63 +
 po/bn.po                                           |   121 +
 po/bn_IN.po                                        |   118 +
 po/bs.po                                           |    76 +
 po/ca.po                                           |    65 +
 po/ca@valencia.po                                  |    92 +
 po/ckb.po                                          |    43 +
 po/cs.po                                           |    63 +
 po/cy.po                                           |   119 +
 po/da.po                                           |    64 +
 po/de.po                                           |   153 +
 po/dz.po                                           |   132 +
 po/el.po                                           |   151 +
 po/en@shaw.po                                      |    84 +
 po/en_CA.po                                        |   115 +
 po/en_GB.po                                        |   123 +
 po/eo.po                                           |   121 +
 po/es.po                                           |   152 +
 po/et.po                                           |    77 +
 po/eu.po                                           |   134 +
 po/fa.po                                           |   133 +
 po/fi.po                                           |   106 +
 po/fr.po                                           |    68 +
 po/fur.po                                          |   101 +
 po/ga.po                                           |    87 +
 po/gd.po                                           |    96 +
 po/gl.po                                           |   125 +
 po/gu.po                                           |    96 +
 po/he.po                                           |   167 +
 po/hi.po                                           |   112 +
 po/hr.po                                           |   112 +
 po/hu.po                                           |    74 +
 po/id.po                                           |   110 +
 po/is.po                                           |   141 +
 po/it.po                                           |    62 +
 po/ja.po                                           |   123 +
 po/ka.po                                           |    60 +
 po/kab.po                                          |    59 +
 po/kk.po                                           |   105 +
 po/kn.po                                           |   119 +
 po/ko.po                                           |    62 +
 po/ku.po                                           |   112 +
 po/ky.po                                           |   114 +
 po/li.po                                           |   154 +
 po/lt.po                                           |   114 +
 po/lv.po                                           |   127 +
 po/mai.po                                          |    94 +
 po/meson.build                                     |    21 +
 po/mi.po                                           |   114 +
 po/mjw.po                                          |    27 +
 po/mk.po                                           |   125 +
 po/ml.po                                           |    95 +
 po/mn.po                                           |   145 +
 po/mr.po                                           |   118 +
 po/ms.po                                           |    86 +
 po/nb.po                                           |    58 +
 po/nds.po                                          |    95 +
 po/ne.po                                           |   111 +
 po/nl.po                                           |   190 +
 po/nn.po                                           |   121 +
 po/oc.po                                           |   114 +
 po/or.po                                           |   112 +
 po/pa.po                                           |   137 +
 po/pl.po                                           |    68 +
 po/pt.po                                           |   147 +
 po/pt_BR.po                                        |   125 +
 po/ro.po                                           |   130 +
 po/ru.po                                           |   129 +
 po/rw.po                                           |   125 +
 po/si.po                                           |   117 +
 po/sk.po                                           |   122 +
 po/sl.po                                           |   115 +
 po/sq.po                                           |   122 +
 po/sr.po                                           |   175 +
 po/sr@latin.po                                     |   153 +
 po/sv.po                                           |   195 +
 po/ta.po                                           |   105 +
 po/te.po                                           |   115 +
 po/tg.po                                           |    87 +
 po/th.po                                           |   128 +
 po/tr.po                                           |    67 +
 po/ug.po                                           |   104 +
 po/uk.po                                           |    63 +
 po/uz@cyrillic.po                                  |    83 +
 po/vi.po                                           |   151 +
 po/wa.po                                           |   117 +
 po/xh.po                                           |   114 +
 po/zh_CN.po                                        |   144 +
 po/zh_HK.po                                        |   126 +
 po/zh_TW.po                                        |   137 +
 src/app/app-gtk3.css                               |     8 +
 src/app/app-gtk3.gresource.xml                     |    25 +
 src/app/app-gtk4.css                               |     8 +
 src/app/app-gtk4.gresource.xml                     |    25 +
 src/app/app.cc                                     |  4876 ++++++++
 src/app/appmenu-gtk3.ui                            |    33 +
 src/app/appmenu-gtk4.ui                            |    33 +
 src/app/meson.build                                |   157 +
 src/app/meson_desktopfile.py                       |    45 +
 src/app/search-popover-gtk3.ui                     |   264 +
 src/app/search-popover-gtk4.ui                     |   159 +
 src/app/vte.desktop.in                             |    18 +
 src/app/window-gtk3.ui                             |   198 +
 src/app/window-gtk4.ui                             |   159 +
 src/attr.hh                                        |   162 +
 src/bidi.cc                                        |   771 ++
 src/bidi.hh                                        |   248 +
 src/bidiarrays.hh                                  |    34 +
 src/box-drawing.hh                                 |   863 ++
 src/buffer.h                                       |    41 +
 src/cairo-glue.hh                                  |    33 +
 src/caps.hh                                        |    29 +
 src/cell.hh                                        |   289 +
 src/check-doc-syntax.sh                            |    78 +
 src/chunk.cc                                       |    65 +
 src/chunk.hh                                       |   208 +
 src/clipboard-gtk.cc                               |   836 ++
 src/clipboard-gtk.hh                               |   104 +
 src/color-names-tests.hh                           |   853 ++
 src/color-names.hh                                 |  1443 +++
 src/color-palette.hh                               |    75 +
 src/color-parser.cc                                |   526 +
 src/color-parser.hh                                |    89 +
 src/color-test.cc                                  |   200 +
 src/color-triple.hh                                |   106 +
 src/color.hh                                       |   178 +
 src/cxx-utils.hh                                   |    99 +
 src/debug.cc                                       |   170 +
 src/debug.h                                        |   137 +
 src/decoder-cat.cc                                 |   560 +
 src/decset                                         |    16 +
 src/drawing-cairo.cc                               |   294 +
 src/drawing-cairo.hh                               |   119 +
 src/drawing-context.cc                             |   284 +
 src/drawing-context.hh                             |   353 +
 src/drawing-gsk.cc                                 |   344 +
 src/drawing-gsk.hh                                 |   167 +
 src/dumpkeys.c                                     |   278 +
 src/fonts-pangocairo.cc                            |   579 +
 src/fonts-pangocairo.hh                            |   298 +
 src/fwd.hh                                         |    56 +
 src/gdkarrayimpl.c                                 |   322 +
 src/glib-glue.cc                                   |   182 +
 src/glib-glue.hh                                   |   304 +
 src/gobject-glue.hh                                |    49 +
 src/graphene-glue.hh                               |    48 +
 src/gtk-glue.hh                                    |    37 +
 src/icu-converter.cc                               |   138 +
 src/icu-converter.hh                               |    80 +
 src/icu-decoder.cc                                 |   166 +
 src/icu-decoder.hh                                 |   119 +
 src/icu-glue.cc                                    |   185 +
 src/icu-glue.hh                                    |    42 +
 src/keymap.cc                                      |  1038 ++
 src/keymap.h                                       |    57 +
 src/libc-glue.hh                                   |   239 +
 src/marshal.list                                   |     4 +
 src/meson.build                                    |   964 ++
 src/mev.c                                          |   396 +
 src/minifont-coverage.py                           |   186 +
 src/minifont-test.cc                               |    56 +
 src/minifont.cc                                    |  3048 +++++
 src/minifont.hh                                    |   136 +
 src/missing.cc                                     |   274 +
 src/missing.hh                                     |   154 +
 src/modes-test.cc                                  |    90 +
 src/modes.hh                                       |   271 +
 src/modes.py                                       |  1348 +++
 src/osc                                            |    33 +
 src/osc-colors.cc                                  |    96 +
 src/osc-colors.hh                                  |    83 +
 src/pango-glue.hh                                  |    33 +
 src/parser-arg.hh                                  |   186 +
 src/parser-cat.cc                                  |  1088 ++
 src/parser-charset-tables.hh                       |   254 +
 src/parser-charset.hh                              |   319 +
 src/parser-decsgr.hh                               |    35 +
 src/parser-glue.hh                                 |   675 ++
 src/parser-osc.hh                                  |   108 +
 src/parser-reply.hh                                |    73 +
 src/parser-seq.py                                  |  1269 ++
 src/parser-sgr.hh                                  |    76 +
 src/parser-string.hh                               |   139 +
 src/parser-test.cc                                 |  1722 +++
 src/parser.cc                                      |   364 +
 src/parser.hh                                      |  1687 +++
 src/pastify-test.cc                                |   208 +
 src/pastify.cc                                     |   199 +
 src/pastify.hh                                     |    33 +
 src/pcre2-glue.hh                                  |    39 +
 src/pty.cc                                         |   586 +
 src/pty.hh                                         |    72 +
 src/reaper.cc                                      |   225 +
 src/reaper.hh                                      |    29 +
 src/rect.hh                                        |   300 +
 src/reflect.c                                      |   332 +
 src/refptr-test.cc                                 |   135 +
 src/refptr.hh                                      |   106 +
 src/regex.cc                                       |   299 +
 src/regex.hh                                       |    90 +
 src/ring.cc                                        |  1536 +++
 src/ring.hh                                        |   247 +
 src/ringview.cc                                    |   304 +
 src/ringview.hh                                    |   122 +
 src/scheduler.cc                                   |   158 +
 src/scheduler.h                                    |    31 +
 src/sgr.hh                                         |   332 +
 src/slowcat.c                                      |   117 +
 src/spawn.cc                                       |   799 ++
 src/spawn.hh                                       |   255 +
 src/std-glue.hh                                    |    82 +
 src/systemd.cc                                     |   113 +
 src/systemd.hh                                     |    33 +
 src/tabstops-test.cc                               |   242 +
 src/tabstops.hh                                    |   222 +
 src/termprops-test.cc                              |   393 +
 src/termprops.hh                                   |   696 ++
 src/test-vte-urlencode-cwd.sh                      |    79 +
 src/unicode-width-generate.py                      |   133 +
 src/unicode-width-test.cc                          |    94 +
 src/unicode-width.hh                               | 11589 +++++++++++++++++++
 src/urlencode.cc                                   |    53 +
 src/utf8-test.cc                                   |   321 +
 src/utf8.cc                                        |   113 +
 src/utf8.hh                                        |    87 +
 src/uuid-test.cc                                   |   175 +
 src/uuid.cc                                        |   217 +
 src/uuid.hh                                        |   211 +
 src/vte-glue.hh                                    |    29 +
 src/vte-gtk4.gresource.xml                         |    21 +
 src/vte-spawn-.scope.conf                          |     6 +
 src/vte.cc                                         | 11509 ++++++++++++++++++
 src/vte.csh.in                                     |    24 +
 src/vte.gresource.xml                              |    19 +
 src/vte.sh.in                                      |   150 +
 src/vte/meson.build                                |   136 +
 src/vte/vte.h                                      |    41 +
 src/vte/vtedeprecated.h                            |   229 +
 src/vte/vteenums.h                                 |   342 +
 src/vte/vteglobals.h                               |   247 +
 src/vte/vtemacros.h                                |    61 +
 src/vte/vtepty.h                                   |   134 +
 src/vte/vteregex.h                                 |    95 +
 src/vte/vteterminal.h                              |   835 ++
 src/vte/vtetypebuiltins.h                          |    28 +
 src/vte/vteuuid.h                                  |    77 +
 src/vte/vteversion.h.in                            |    85 +
 src/vteaccess-gtk4.cc                              |  1015 ++
 src/vteaccess-gtk4.h                               |    25 +
 src/vteaccess.cc                                   |  1882 +++
 src/vteaccess.h                                    |    60 +
 src/vtedefines.hh                                  |   144 +
 src/vtegtk.cc                                      |  9805 ++++++++++++++++
 src/vtegtk.hh                                      |   116 +
 src/vteinternal.hh                                 |  1859 +++
 src/vtepty.cc                                      |   915 ++
 src/vteptyinternal.hh                              |    45 +
 src/vteregex.cc                                    |   345 +
 src/vteregexinternal.hh                            |    40 +
 src/vterowdata.cc                                  |   229 +
 src/vterowdata.hh                                  |    94 +
 src/vteseq.cc                                      | 10146 ++++++++++++++++
 src/vtespawn.cc                                    |   251 +
 src/vtespawn.hh                                    |    31 +
 src/vtestream-base.h                               |   104 +
 src/vtestream-file.h                               |  1815 +++
 src/vtestream.cc                                   |    32 +
 src/vtestream.h                                    |    45 +
 src/vtetypebuiltins.cc.template                    |    40 +
 src/vtetypebuiltins.h.template                     |    28 +
 src/vtetypes.cc                                    |   436 +
 src/vtetypes.hh                                    |   206 +
 src/vteunistr.cc                                   |   222 +
 src/vteunistr.h                                    |   176 +
 src/vteutils.cc                                    |    88 +
 src/vteutils.h                                     |    22 +
 src/vteuuid.cc                                     |   339 +
 src/vteuuidinternal.hh                             |    30 +
 src/widget.cc                                      |  2622 +++++
 src/widget.hh                                      |   886 ++
 src/window                                         |    33 +
 src/xticker.c                                      |   152 +
 subprojects/fast_float.wrap                        |    23 +
 subprojects/packagefiles/fast_float/meson.build    |    29 +
 vte.doap                                           |    35 +
 352 files changed, 121446 insertions(+)
