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

--- Comment #47 from Michael Meeks <michael.me...@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.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to