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.2
J'utilise Code::Blocks avec mingw32-gcc-4.9.2
Avez-vous une idée de ce qui coince ?
Cela peut-il venir d'une mauvaise configuration de la lib / du compilo ?