diff options
author | Sven Gothel <[email protected]> | 2020-03-27 15:06:04 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2020-04-06 12:57:19 +0200 |
commit | dadf50b4768bee9b1a44851f4de69d1e6b910c68 (patch) | |
tree | 001a9fdc3af1a36c771329b3330d30f55b6b7925 /www/webstart | |
parent | a63e7c70bd0041b5553abe2a9724d96a0f07c02c (diff) |
Bug 1398: Avoid AWT-AppKit blocking feedback flush deadlock and SetNSViewCmd on initial makeCurrent when offscreen
makeCurrent shall skip SetNSViewCmd for offscreen, i.e. refine criteria of nsViewChanged.
Previous term enforced SetNSViewCmd on initial call as lastNSViewDescr was null.
Expand first term to require an actual non null NSView.
contextMadeCurrent must avoid blocking to wait for completion of our SetNSViewCmd on AppKit.
AWT has procedures running on AppKit under certain situations,
where it issues a feedback flush on AWTEDT (from Appkit) blocking.
This in turn deadlocks our SetNSViewCmd waiting on the AppKit,
as we are blocking the AWTEDT waiting for same command.
Further avoiding other potential deadlocks, by adding a 500ms timeout.
Also clearing the lastSetNSViewCmd field post wait, regardless,
which avoid repeatitive SetNSViewCmd issuance on timeout.
Note that the SetNSViewCmd, we failed to wait for eventually gets executed.
Diffstat (limited to 'www/webstart')
0 files changed, 0 insertions, 0 deletions