[Libreoffice-bugs] [Bug 103571] macOS 100% CPU usage when minimizing screen if multiple documents are opened

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Fri Feb 23 10:00:32 UTC 2018


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

--- Comment #47 from Michael Meeks <michael.meeks at collabora.com> ---
One thing that is ~obviously wrong is this:


    frame #38: 0x00000001150cbd8a
libvcllo.dylib`SalTimer::CallCallback(this=0x000060000001b630, idle=true) + 58
at saltimer.hxx:55
...
libvcllo.dylib`AquaSalInstance::AnyInput(this=0x00006080000b9aa0,
nType=KEYBOARD) + 603 at salinst.cxx:786
    frame #52: 0x0000000114f58ef6
libvcllo.dylib`Application::AnyInput(nType=KEYBOARD) + 38 at svapp.cxx:631

The windows impl of AnyInput doesn't look like it processes timers or events -
it is a real 'Peek' method - not expected to re-enter in a weird way:

vcl/win/app/salinst.cxx (WinSalInstance::AnyInput)

packed with this sort of thing:

        if ( PeekMessageW( &aMsg, nullptr, 0, 0, PM_NOREMOVE | PM_NOYIELD ) )

vs.

vcl/osx/salinst.cxx (AquaSalInstance::AnyInput)

which does:

    NSEvent* pEvent = [NSApp nextEventMatchingMask: nEventMask untilDate: nil
                            inMode: NSDefaultRunLoopMode dequeue: NO];

Which looks like a go-wild "run the loop" crazy thing ;-) which may be a wider
systemic problem highlighted here (?)

Are we adding timers to the wrong mode for that loop ? or do we need a custom
mode so we can exclude ~everything from running and just peek ? or perhaps a
different method call ?

-- 
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/20180223/a98a5672/attachment.html>


More information about the Libreoffice-bugs mailing list