Problems with plugin async init

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems with plugin async init

szanto.cosmin
Hi,

  We have a windowed plugin which renders frames and also captures events from the Window which is given via NPP_SetWindow call (window->window). I have the following questions:  

1) We have noticed that if dom.ipc.plugins.asyncInit is set to true then XSelectInput gives an XError if the mask contains ButtonPressMask | ButtonReleaseMask. The error is "BadAccess (attempt to access private resource denied)". Does the async init locks this event masks? (from the Xlib  documentation:  "Only one client at a time can select a ButtonPress event, which is associated with the event mask ButtonPressMask.")

2) The display pointer in ws_info->display has an invalid address from what we have seen. Random crashes occur in X* calls if we use this display (XFlush, XSync, XLockDisplay, XUnlockDisplay, XPending). Should we use the display given in ws_info or the one that we open with XOpenDisplay(0)? (we are currently using the second).

OS: Fedora 21
Firefox: 40

Cosmin
_______________________________________________
dev-tech-plugins mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-plugins
Reply | Threaded
Open this post in threaded view
|

Re: Problems with plugin async init

Chris Peterson-12
On 8/21/15 7:08 AM, [hidden email] wrote:

> Hi,
>
>    We have a windowed plugin which renders frames and also captures events from the Window which is given via NPP_SetWindow call (window->window). I have the following questions:
>
> 1) We have noticed that if dom.ipc.plugins.asyncInit is set to true then XSelectInput gives an XError if the mask contains ButtonPressMask | ButtonReleaseMask. The error is "BadAccess (attempt to access private resource denied)". Does the async init locks this event masks? (from the Xlib  documentation:  "Only one client at a time can select a ButtonPress event, which is associated with the event mask ButtonPressMask.")
>
> 2) The display pointer in ws_info->display has an invalid address from what we have seen. Random crashes occur in X* calls if we use this display (XFlush, XSync, XLockDisplay, XUnlockDisplay, XPending). Should we use the display given in ws_info or the one that we open with XOpenDisplay(0)? (we are currently using the second).
>
> OS: Fedora 21
> Firefox: 40
>
> Cosmin

Async plugin init will soon be disabled in Firefox 40 (by a hotfix)
because it breaks some plugin content:

https://bugzilla.mozilla.org/show_bug.cgi?id=1116806
_______________________________________________
dev-tech-plugins mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-plugins