Peter Kümmel wrote:
Abdelrazak Younes wrote:
- controller().clearParams();
+// controller().clearParams();
That means that controller() points to nothing real. That's quite weird
considering that it is a boost::scoped_ptr and that it is set in
Dialog::setController(Controller * i) and never release after that.
Could you put a breakpoint in this method (setController) before opening
the dialog in order to verify that controller_ptr_ is correctly reset?
I've tested this and it does not crash at the new line
void Dialog::setController(Controller * i)
{
BOOST_ASSERT(i && !controller_ptr_.get());
controller_ptr_.reset(i);
controller().clearParams(); //<- new
}
so somethings happens with the parameters until I click the close button.
Is it the controller() access or the code in clearParam() that crashes?