Forum Programmation.c++ X, gecko et OIS dans un bateau (problème XSelectInput)

Posté par  (site web personnel) .
Étiquettes :
0
12
avr.
2007
Bonjour,

J'ai un problème non spécifique C++ mais comme c'est le langage utilisé, je pose ici...

Je suis en train d'essayer de gérer des évènements claviers et souris dans un plugin pour firefox (utilisant npapi). Pour ce faire, j'utilise la librairie OIS ( http://www.wreckedgames.com/wiki/index.php/WreckedLibs:OIS ) qui me permet de gérer les évènements sans problème sous linux et windows.

J'arrive sans problème à gérer le clavier, mais pas la souris... :(

Je passe sur les détails liés à OIS en lui même car j'ai identifié le problème : OIS utilise la fonction XSelectInput pour récupérer les évènements souris. Or dès que cette fonction est exécutée j'ai l'erreur suivante :
The program 'Gecko' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAccess (attempt to access private resource denied)'.
(Details: serial 7 error_code 10 request_code 2 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)

Cette erreur provient d'après ce que j'ai trouvé (man XSelectInput) du fait qu'il ne peut y avoir qu'un seul client attaché à l'évènement ButtonPress pour une fenêtre.

Je pense donc que firefox a déjà récupérer cet évènement avant moi...
Mais je suis bloqué car il faut quand même que je récupère cet évènement...

Quelqu'un aurait-il une astuce pour contourner ce problème ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.