Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: iota le Avril 01, 2012, 01:50:24 am

Titre: Bug dans Texture::create()
Posté par: iota le Avril 01, 2012, 01:50:24 am
Bonsoir,

Le code suivant fonctionne avec le commit du 30 mars 2012, mais pas avec le commit suivant de la SFML.
Le chargement de la texture échoue et un message d'erreur indique que la taille est invalide(0x0).

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

int main(int argc, char* argv[])
{
sf::Texture texture;
if( texture.loadFromFile("une_image.png") )
{
std::cout << "Texture chargee." << std::endl;
}
else
{
std::cout << "Impossible de charger la texture." << std::endl;
}
return 0;
}

J'ai été voir ce qui se passait dans le code de la SFML et j'ai trouvé une erreur dans la fonction Texture::create(unsigned int width, unsigned int height):
bool Texture::create(unsigned int width, unsigned int height)
{
    if ((m_size.x == 0) || (m_size.y == 0)) // Ici ça devrait être les paramêtres width et height qui devrait être vérifiés.
    {
        err() << "Failed to create texture, invalid size (" << m_size.x << "x" << m_size.y << ")" << std::endl;
        return false;
    }
    ...

J'ai tester de corrigé ça dans les sources, recompilé, et le problème semble effectivement réglé.


Titre: Re: Bug dans Texture::create()
Posté par: Laurent le Avril 01, 2012, 10:06:26 am
Oui c'est déjà corrigé, merci ;D