2010-12-01 25 views
0

Est-ce que quelqu'un est tombé sur ça? J'ai pris le GTK HelloWorld sample. Ça fonctionne bien. Toutefois, si i import win32ui, il ne s'arrête pas correctement (comme expliqué dans this question).Instabilité grave avec pygtk 2.22 et python 2.6

Il existe d'autres problèmes. Alors que je réduisais ma demande pour voir ce qui l'empêchait de fermer, je suis tombé sur un point où je déconstruisais un cours de bûcheron avec lequel je n'avais aucun problème. Dans le constructeur j'avais la ligne:

self.logger = logger 

j'avais commenté le reste de la classe si self.logger n'a même pas été utilisé. Si je suis parti de la ligne tel quel, je recevrais cette erreur après avoir cliqué sur le bouton « Bonjour tout le monde »:

c:\python26\lib\site-packages\twisted\internet\gtk2reactor.py:350: GtkWarning: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed 
    gtk.main() 

Si je change la ligne:

self.logger = 0 

l'erreur ne serait pas montrer en haut Cela est également arrivé avec diverses autres lignes de code dans la classe logger. Je pense que cela se produirait aussi avec d'autres morceaux de code aléatoires. Mais dans tous les cas - la définition d'une variable que n'est même pas utilisé devrait pas causer n'importe quel type de problème. Notez qu'à ce stade j'utilisais encore tordu avec pygtk. Je ne l'ai pas encore reproduit avec juste gtk. Cela me fait penser que pygtk est vraiment instable ... est-ce que quelqu'un est déjà tombé dessus? Y a-t'il quelque chose que je puisse faire? La raison pour laquelle j'ai mis à jour à partir de gtk 2.12 était parce que mon application planterait aléatoirement, mais c'est bien pire. MISE À JOUR: Les bogues se produisent sur Windows 7 64 bits. J'ai essayé les deux avec python 32 bits avec les versions listées ci-dessus, et python 64 bits avec pygtk-2.17.1, pygobject-2.21.2, pycairo-1.8.8 et pywin32-214.

Jusqu'à présent, le bug win32ui ne se produit pas avec la même installation sur une machine virtuelle Windows XP VirtualBox.

Répondre

0

J'ai essayé ceci sur une installation différente de Win7 64-bit sur un autre ordinateur, et cela a fonctionné très bien. C'est donc une chose étrange avec le matériel/autre logiciel sur un ordinateur particulier. Probablement rien gtk ou win32 lié.