{\
public:\
LONG l;\
- TAutoInitInt() : l(0) {}\
+ TAutoInitInt() : l(1) {}\
};\
TAutoInitInt refCount, lockCount;\
static void _GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc);\
// FrameSite
m_frameSite = new FrameSite(m_realparent, this);
- m_frameSite->AddRef();
// oleClientSite
hret = m_clientSite.QueryInterface(
IID_IOleClientSite, (IDispatch *) m_frameSite);
if ( cp )
{
- 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();
+
CHECK_HR(hret);
}
}