Je pense que son probléme est réglée
m_level->addItem(new SaphirSword(m_app, m_level, m_player, m_imageManager, m_inventory), 6, sf::Vector2f(2, 2));
m_hud = new Hud(m_app, m_view, m_player, m_imageManager, m_inventory);
m_inventory = new Inventory(m_app);
Il ajoutais l'inventaire avant de le crée. Donc la valeur de l'inventaire était indéterminé dans m_level.
Tu devrais procéder comme ceci dans un constructeur :
-Contruction des attributs
-Initialisation des attributs
-autre...
Puis le débugeur de Code::Block est tellement friendly, abusent