Bonjour,
En passant de SFML 2.3.2 à
2.4.0 sur un gros projet, j'obtiens un plantage plutot bizarre...
Voici la version minimale :
class Base
{public
: virtual
void foo
(){};};class Deriv
: public Base
{public
: virtual
void foo
(){ printf( "hello\n" ); sf
::Font zFont
; zFont.
loadFromFile( "depend/calibri.ttf" ); //ok! sf
::Text zText
( "yolo", zFont
); zText.
getGlobalBounds(); //crash }};int main
(){ Deriv instance
; sf
::Thread thread
( &Deriv
::foo, &instance
); thread.
launch();} 1. Dans cet exemple, le programme "cesse de fonctionner" dés que l'appel à getGlobalBounds est fait
(Plus précisément : il ne fonctionne que si on enlève cet appel - mon debugger est paumé et ne peut pas plus m'aider)
2. Lors de la création du thread, si au lieu de donner
Deriv::foo je met
Base::foo (ce qui doit revenir au même), j'ai une erreur louche dans le code de SFML (pas narmol je suppose).
error: must use '.*' or '->*' to call pointer-to-member function ...
Note : tout fonctionne impeccable sur SFML 2.3.2J'utilise Code::Blocks avec
mingw32-gcc-4.9.2Avez-vous une idée de ce qui coince ?
Cela peut-il venir d'une mauvaise configuration de la lib / du compilo ?