Description
From my post on the list:
Hi,
I don't see the point of detaching the prevModel if the model is not changing.
I was thinking about changing the logic of Component.setDefaultModel like that:
public Component setDefaultModel(final IModel<?> model)
{
IModel<?> prevModel = getModelImpl();IModel<?> wrappedModel = prevModel;
if (prevModel instanceof IWrapModel)Unknown macro: { wrappedModel = ((IWrapModel<?>)prevModel).getWrappedModel(); }// Change model
if (wrappedModel != model)
{
// Detach current model only if we really change the model
if (prevModel != null)Unknown macro: { prevModel.detach(); }modelChanging();
setModelImpl(wrap(model));
modelChanged();
}return this;
}Note that it's something that hurts us a lot in a particular pattern
we have here. We change the default model in onConfigure and every
time we do it it's detached even if it's the exact same model.We could add a check in our code but I'm thinking it could be better
to do it in Wicket directly.Thoughts?