1. I can't see where You put something in m_fireButton.
2. You create b1 and b2 on heap and then You save its addresses. You have to create this objects with new. Think why.