So, I think the real fix is this :
//-----------------------------------------------------------------------------
void CViewContainer::setMouseDownView (CView* view)
{
if (pImpl->mouseDownView && pImpl->mouseDownView != view)
{
// make sure the old mouse down view get a mouse cancel or if not implemented a mouse up
if (auto cvc = pImpl->mouseDownView->asViewContainer ())
cvc->setMouseDownView (nullptr);
else if (pImpl->mouseDownView->onMouseCancel () == kMouseEventNotImplemented)
{
CPoint p = pImpl->mouseDownView->getViewSize ().getTopLeft () - CPoint (10, 10);
pImpl->mouseDownView->onMouseUp (p, 0);
}
}
pImpl->mouseDownView = view;
}
What do you think ?
Cheers
Arne