Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: pb Qt + migration 1.6->2.0RC  (Lu 3500 fois)

0 Membres et 1 Invité sur ce sujet

kamui

  • Sr. Member
  • ****
  • Messages: 291
    • Voir le profil
pb Qt + migration 1.6->2.0RC
« le: Juin 17, 2012, 01:17:22 am »
bonjour,

je travaille actuellement sur un éditeur de cinématiques fait avec Qt et SFML. j'avais un bouton catalogue qui ouvrai une sous-fenetre Qt contenant la liste des animation jouables, et une fenetre sfml qui jouait l'animation sélectionnée (comme pour en avoir un extrait avant de la valider). Tout fonctionnait bien, à chaque modification de l'animation sélectionnée, la fenêtre SFML se mettait à jour.

voici le slot qui était appelé
void CtlgWindow::ShowCatalog()
{
    catalogueOuvert = true;
    animPlayer = new AnimPlayer();//créé la fenetre SFML qui va jouer les animations
    catalogue->show();
    MettreAJour();
}
 

la méthode MettreAJour

void CtlgWindow::MettreAJour()
{
    sf::Event event;  
    while(catalogueOuvert)
    {
        while(animPlayer->GetApp()->GetEvent(event))
        {
            if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Q)
            {
                animPlayer->GetApp()->close();
            }
        }
     showAnimation();//clear, update du contenu de la fenetre, et display
    }
}

 

après avoir effectué une migration (et un nettoyage de mon code qui pourrait être à l'origine du problème) de la SFML1.6 vers la 2.0RC, et avoir remplacé while (App.GetEvent(event)) par While App.pollEvent(event), cela ne fonctionne plus : on dirait que, même si pollevent n'est pas bloquante, que la fenetre SFML attend un evenement avant de rendre la main au reste du programme, qui en attendant est figé, du coup, plus moyen de changer l'animation en cours de lecture...


Est-ce que ça peut venir d'un nouveau comportement de la SFML2.0RC ?

Merci d'avance pour votre aide.


Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : pb Qt + migration 1.6->2.0RC
« Réponse #1 le: Juin 17, 2012, 09:35:49 am »
Normalement non.

C'était pas malin de faire un gros nettoyage de code en même temps que la migration :P Difficile de savoir où se trouve le problème.
Laurent Gomila - SFML developer

kamui

  • Sr. Member
  • ****
  • Messages: 291
    • Voir le profil
Re : pb Qt + migration 1.6->2.0RC
« Réponse #2 le: Juin 17, 2012, 10:39:22 am »
j'avoue que c'était pas la meilleure de mes idées celle là...

Bon une solution de contournement a été trouvée, donc ça va aller. Mais je verrais quand même à trouver le temps pour reproduire ce code en 1.6 et 2.0, pour voir si ça venait du nettoyage où si c'est un problème qui peut t'intéresser.

Ce que je comprend le moins, c'est comment avant ma méthode "Update" de gestion de la fenêtre sfml et des évènement pouvait être appelée en permanence, comme si c'était un callback... alors que je pensais ne rien faire pour (c'est précisément ici que je dois me tromper => mais comme pour couronner ma bêtise, j'ai subversionné le projet pendant la migration, pas avant...)

merci quand-même ;)