https://bugs.documentfoundation.org/show_bug.cgi?id=116511
--- Comment #10 from Tor Lillqvist <[email protected]> ---
The problem is the lovely "optimisation" in FormulaDlg_Impl::CalcStruct(),
"Only calculate the value when there isn't any more keyboard input". For some
reason, on macOS, when being invoked through the shortcut, that
Application::AnyInput( VclInputFlags::KEYBOARD ) returns true, so the code
thinks that "there is more keyboard input" and won't call UpdateTokenArray(),
which sets m_pTokenArray.
I wonder if this means that one could possibly reproduce this on Linux, too, by
just having the Ctrl-F2 auto-repeat long enough, or something?
Anyway, I think that optmisation is questionable, especially as the exact
semantics of our horrible event loop API, like Application::AnyInput(), is
under-defined and probably can and will change in various minor ways when
people work on improving it on the Mac (and perhaps other platforms, too).
(The event loop etc certainly needs improvement on the Mac, the "WindowServer
grows to tens of gigabytes when running make check" issue is related.
Unfortunately nobody has come up with a simple fix for that yet, exactly
because we use our event loop related APIs in so imaginative ways all over the
code, and fixing one thing breaks another.)
Anyway, will submit a change that drops the "Only calculate the value when
there isn't any more keyboard input" optimisation.
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs