- IDispatch* disp;
- m_frameSite->QueryInterface(IID_IDispatch, (void**)&disp);
- hret = cp->Advise(new wxActiveXEvents(this, ta->guid),
- &adviseCookie);
+ wxActiveXEvents * const
+ events = new wxActiveXEvents(this, ta->guid);
+ hret = cp->Advise(events, &adviseCookie);
+
+ // We don't need this object any more and cp will keep a
+ // reference to it if it needs it, i.e. if Advise()
+ // succeeded.
+ events->Release();
+