[Libreoffice-bugs] [Bug 99784] EXTENSION MANAGER - freeze / hang when attempting to install extensions on OSX 10.11 and macOS 10.12 by double-click on oxt file

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Tue Aug 8 09:09:46 UTC 2017


https://bugs.documentfoundation.org/show_bug.cgi?id=99784

--- Comment #104 from Jan-Marek Glogowski <glogow at fbihome.de> ---
This problem is not the VCL Scheduler.

The VCL OSX backend doesn't guarantee to run graphics / GUI function in the
main / GUI thread, but it has to! Extension update / install runs in its own
thread. So the code is actually correct, but since GUI calls runs in this
thread "bad things happen" (AKA you don't see the dialog). Same happens for the
"Check for updates" dialog.

The solution - like most other backends (probably with the exception of
headless and Gtk+) - is to run GUI changes in the main thread. I currently have
an initial patch, which uses "dispatch_sync(dispatch_get_main_queue(), ..." to
fix some stuff, but since this call can't return anything, it's a little bit
more work, to guarantee thread-safety.

This already fixes the update dialog, but the message box is currently just an
empty window (but at least I can see a window now and close it ;-).

I'm currently trying to understand why the message box is empty and basically
reviewing all the VCL MacOS code to add more redirects, when I find insecure
GUI code.

(In reply to Alex Thurgood from comment #103)
> In fact that figure was only for the short window of time I analyzed. If I
> take the whole window of time from when the OXT was dropped on the LO icon
> in the Dock and the moment I shut down the app,
> HandleAppDefinedEvent(pEvent) call fired  67529 times.

This is not a MacOS problem. This is a Idle job, which polls the progress bar
for changes. I have a fix for that, so we just update the progress bar on
changes.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20170808/e956c0fa/attachment-0001.html>


More information about the Libreoffice-bugs mailing list