diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2024-01-05 16:51:42 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2024-01-08 08:27:18 +0100 |
commit | 51d8a2ef54751403fa707816e27ddb4e7faa8231 (patch) | |
tree | fa472a4b18d9aa049c7c8c0f378e705f0358217c /Makefile.gbuild | |
parent | e83c7ec2f4d801365235bf56d7cc8cf31ef4a00e (diff) |
cool#7492 sfx2 lok: fix bad view id / statusbar string on async binding update
With two Calc views (first is an English one, second is a German one),
type in the English view and in parallel to that, create a cell
selection in the German view. Sometimes the status bar update about the
selected cells arrives in English, in the German view.
The root of the problem is that SfxBindings has a timer that does the
expensive update of all the UNO commands only after a delay, but by the
time this timer runs, possibly the current view is no longer the German
one, which leads to English strings in the German view.
Fix the problem somewhat similar to what commit
ee7ca8e4ea8ed93655f99e77a9e77032ac830c46 (cool#7865 sfx2 lok: fix bad
view id on async command dispatch, 2023-12-20) did in
SfxHintPoster::DoEvent_Impl() by restoring the original view for the
duration of the timer job execution.
The test works even in case '--with-lang=en-US de' is not used, because
it asserts the locale, which is not downgraded to English when
translations are not available. This required turning the payload of the
.uno:RowColSelCount status update into JSON, which is meant to be mostly
backwards-compatible, given that we already have a mix of plain text and
JSON for the various UNO commands. Another trouble is that the
SfxBindings lazy update is a timer, so processing idles won't help and
sleeping in test code is not ideal, either. Solve that by exposing the
timer of SfxBindings, so test code can explicitly invoke the timer
without waiting.
Change-Id: Iacf17f81c28b95ce41a0ee29ad25eb576db0d62a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161691
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'Makefile.gbuild')
0 files changed, 0 insertions, 0 deletions