Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[sailfishos][gecko] Fix delivery of MozAfterPaint events. JB#55286 OMP#JOLLA-310 #44

Merged
merged 1 commit into from Sep 16, 2021

Conversation

adenexter
Copy link
Contributor

Revert a patch to remove an ensure eventual after paint event timer as
no event is delivered in embedlite without it.

The short explanation is that the root widget (an embedlite puppet
widget) of the PresContext where the event is scheduled, is not the same
root widget as in the ClientLayerManager (nsWindow) where the paint is
completed, so the nsView installed as the widget listener on the puppet
widget doesn't have the DidCompositeWindow called via
ClientLayerManager::DidComposite. And even with a redirect established
there's a subsequent failure because the DidComposite is a posted event
and the transaction it refers to is gone when it executes.

rpm/xulrunner-qt5.spec Outdated Show resolved Hide resolved
@rainemak
Copy link
Member

I have used "[sailfishos][embedlite]" to ref embedding/embedlite i.e. ones that are not patches. As this is revert and patch this could be "[sailfishos][gecko]".

@adenexter adenexter changed the title [sailfishos][embedlite] Fix delivery of MozAfterPaint events. JB#55286 OMP#JOLLA-310 [sailfishos][gecko] Fix delivery of MozAfterPaint events. JB#55286 OMP#JOLLA-310 Sep 14, 2021
…P#JOLLA-310

Revert a patch to remove an ensure eventual after paint event timer as
no event is delivered in embedlite without it.

The short explanation is that the root widget (an embedlite puppet
widget) of the PresContext where the event is scheduled, is not the same
root widget as in the ClientLayerManager (nsWindow) where the paint is
completed, so the nsView installed as the widget listener on the puppet
widget doesn't have the DidCompositeWindow called via
ClientLayerManager::DidComposite. And even with a redirect established
there's a subsequent failure because the DidComposite is a posted event
and the transaction it refers to is gone when it executes.
@rainemak
Copy link
Member

Took a liberty to rebase this one. CC @adenexter

@rainemak rainemak merged commit 99ca96f into sailfishos-esr78 Sep 16, 2021
@rainemak rainemak deleted the jb55286 branch September 16, 2021 07:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants