In the following part of the method, the info pointer is released at the beginning of the block, but it is used later and thus it results in accessing a null pointer.
I think the control = info.release() line should have been put immediately before the return statement
[code] if (info->control->DoVerb (OLEIVERB_SHOW, 0, info->clientSite, 0, hwnd, &rect) == S_OK)
{
control = info.release();
setControlBounds (Rectangle (x, y, getWidth(), getHeight()));
No it doesn’t because the setControlBounds function relies on having “control” already initialised, which is not the case if I move the line control = info.release() at the bottom