Description: The spellcheck highlight (the red wiggly underline) fails to update after a word has been added to the dictionary in Impress (7.6.7.2 on Ubuntu 20.04 and 18.04). I have added multiple words to my dictionary, like "incompressible" but even other uses of the same word on the same slide remain underlined after adding the word. I have to literally edit and re-type the word to make other instances of the visually-reported error disappear. Steps to Reproduce: 1. Open a new Impress document (Presentation) 2. In slide title, type 'adiabatically' 3. In the slide body, type 'adiabatically' 4. Note that both words are underlined as spelling errors. 5. Right-click on the first word and choose 'add to dictionary' Actual Results: What happens is that the first word loses its wiggly underline, but the second does not. Expected Results: Obviously adding the word to the dictionary should trigger that error to no longer be reported anywhere else in the document. Reproducible: Always User Profile Reset: No Additional Info: No other info.
Thought I would add more version info from the About box: Version: 7.6.7.2 (X86_64) / LibreOffice Community Build ID: 60(Build:2) CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Ubuntu package version: 4:7.6.7-0ubuntu0.20.04.1~lo1 Calc: threaded
Bibisected with linux-43all to https://git.libreoffice.org/core/+log/45295f3cdceb4c289553791071b5d7f4962d2ec4..8757c9c462ba690de60602404ef2e9e99702f0b4 It's not a particularly long range, but nothing jumps out from quickly skimming the list of commits. Arch Linux 64-bit Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 2b8d794e448a7d3c573ff79cffe9decc8d960262 CPU threads: 8; OS: Linux 6.12; UI render: default; VCL: kf6 (cairo+wayland) Locale: fi-FI (fi_FI.UTF-8); UI: en-US Calc: CL threaded Built on 9 December 2024
It's not a regression. I see the same in OOo 3.3, and LO 3.5.7.
Perhaps what Writer does would be instructive here. SwDoc::SpellItAgainSam goes through all nodes and sets the Wrong status to TODO. That was called by SwModule::CheckSpellChanges, which was called by processLinguServiceEvent SPELL_WRONG_WORDS_AGAIN. Only sw seems to handle a LinguServiceEvent. (Calc is even worse - it doesn't even update the word-under-the-cursor used to add-to-dictionary.) In order to fix this bug, a HUGE amount of plumbing is needed.