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

Auteur Sujet: [Résolu] Bug dans sf::RenderWindow::create ?  (Lu 3195 fois)

0 Membres et 1 Invité sur ce sujet

whityranger

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
[Résolu] Bug dans sf::RenderWindow::create ?
« le: Mai 07, 2014, 06:56:43 pm »
Bonjour à tous.

En essayant d'implémenter un changement de fenêtrage avec create, je trouve un comportement étrange : l'option setKeyRepeatEnabled(false) ne marche plus. Voici un code minimaliste :

#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>

int main() {

  sf::RenderWindow window(sf::VideoMode(80,80), "My window");
  window.setKeyRepeatEnabled(false);

  window.create(sf::VideoMode(80,80), "My window");  // <-- commenter cette ligne conduit à un comportement normal
  window.setKeyRepeatEnabled(false);
 
  while( window.isOpen() ) {

    sf::Event event;
    while (window.pollEvent(event)) {
      switch (event.type) {
      case sf::Event::Closed: window.close(); break;
      case sf::Event::KeyPressed :
        std::cout << "in evetsLoop : " << (int) event.key.code << std::endl;
        break;
      default:  break;
      }
    }
  }
  return 0;
}

 


Je pense que c'est un joli bug, mais je me dis que j'ai peut-être raté un truc dans la doc... est-ce que ça mérite une entrée dans la grande famille des bugs de notre bibliothèque graphique préférée ?
« Modifié: Mai 09, 2014, 11:45:39 am par whityranger »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Bug dans sf::RenderWindow::create ?
« Réponse #1 le: Mai 07, 2014, 07:50:02 pm »
Ça fonctionne parfaitement chez moi (avec une version de SFML compilée moi-même y'a quelques semaines) avec ton code : quand je maintiens une touche enfoncée y'a qu'une ligne d'affichée dans la console, pareil quand je commente la ligne du .create

Ça fait quoi chez toi ? (à part que "ça marche plus"  ;) histoire d'être sûr)
Quel est ton OS et ta version de SFML ?

whityranger

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Bug dans sf::RenderWindow::create ?
« Réponse #2 le: Mai 07, 2014, 08:00:41 pm »
Xubuntu 14.04 avec la version de SFML 2.1 disponible sur les dépôts. A priori le bug marche aussi chez un pote avec windows 7 et SFML 2.0. J'essaierai de recompiler moi-même SFML pour tester, mais plus tard dans la soirée :)

whityranger

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Bug dans sf::RenderWindow::create ?
« Réponse #3 le: Mai 07, 2014, 10:52:36 pm »
Me revoilà.

Donc je viens de tester en compilant moi-même le dernier snapshot de la SFML-master fraîchement récupéré sur github, et le bug est bien là : quand je maintiens une touche enfoncée, la ligne s'affiche à répétition malgré le setKeyRepeatEnabled(false) (tu avais bien compris le problème). Je viens de tester en compilant sfml sur deux machines sous xubuntu 14.04, et un pote à moi a aussi testé sous debian entre-temps, même bug avec le même code minimal.
J'en profite pour préciser la partie windows : la répétition des touches enfoncées a été détectée dans le cadre d'un plus gros projet par un des collaborateurs du projet, sous windows avec sfml 2.0 ou 2.1 (je ne suis plus sûr de la version). J'ai identifié que le problème dans le gros projet venait du .create et j'ai testé le code minimal, mais lui ne l'a pas testé sous windows 7. Cependant, il y a fort à parier que ce code minimaliste se comporte pareil chez lui, puisqu'il avait le même comportement dans le gros projet.

Donc voilà, est-ce que quelqu'un aurait une idée ? Est-ce que je mets ça sur le bug tracker ?

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Bug dans sf::RenderWindow::create ?
« Réponse #4 le: Mai 08, 2014, 12:08:23 am »
Je ne sais pas quoi t'en dire de plus (mon OS c'est windows 7 32 bits et aucun prob) faudrait voir ça avec quelqu'un de plus calé. :p

kimci86

  • Full Member
  • ***
  • Messages: 128
    • Voir le profil
Re : Bug dans sf::RenderWindow::create ?
« Réponse #5 le: Mai 08, 2014, 12:09:25 pm »
Ce bug a déjà été signalé et résolu il y a un mois : https://github.com/SFML/SFML/issues/564
Es-tu sur d'avoir la dernière version de SFML ?

whityranger

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Bug dans sf::RenderWindow::create ?
« Réponse #6 le: Mai 08, 2014, 02:01:51 pm »
Alors, effectivement, j'ai refait le test. Apparemment j'avais oublié de désinstaller les vieilles biblis de mon système, donc quand je faisais la compilation avec la dernière version, il allait quand même chercher la vieille version au moment de l’exécution, ce qui conduisait au bug. En effet, après une réinstallation propre, tout va bien.
Donc voilà, désolé d'avoir ouvert un thread pour rien du coup. Et je sais toujours pas mettre un thread en résolu d'ailleurs...

kimci86

  • Full Member
  • ***
  • Messages: 128
    • Voir le profil
Re : Bug dans sf::RenderWindow::create ?
« Réponse #7 le: Mai 08, 2014, 04:49:14 pm »
Et je sais toujours pas mettre un thread en résolu d'ailleurs...
Édite le premier message de ce sujet pour changer le titre.

whityranger

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : [Résolu] Bug dans sf::RenderWindow::create ?
« Réponse #8 le: Mai 09, 2014, 11:46:03 am »
Merci, c'est fait :)