Sat May 05 06:10:07 2012: Request 43574 was acted upon. Transaction: Correspondence added by patcat88 Queue: Win32-OLE Subject: Could't use default event source if it begins with underscore character Broken in: 0.1709 Severity: Important Owner: Nobody Requestors: ern...@eis.ru Status: new Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=43574 >
On Tue Feb 24 07:17:28 2009, Erny wrote: > If default event source name begins with underscore character (as > autocreated by Visual Studio) than events not arrive. > > Patch for this bug: > > 4405,4406c4409,4415 > < if (isalpha(pszItf[0])) > < hr = FindIID(aTHX_ pObj, pszItf, &iid, &pTypeInfo, cp, > lcid); > --- > > //PE: > > if (pszItf[0]=='{') { > > OLECHAR Buffer[OLE_BUF_SIZ]; > > OLECHAR *pBuffer = GetWideChar(aTHX_ itf, > Buffer, OLE_BUF_SIZ, cp); > > hr = IIDFromString(pBuffer, &iid); > > ReleaseBuffer(aTHX_ pBuffer, Buffer); > > } > 4408,4411c4417 > < OLECHAR Buffer[OLE_BUF_SIZ]; > < OLECHAR *pBuffer = GetWideChar(aTHX_ itf, Buffer, > OLE_BUF_SIZ, cp); > < hr = IIDFromString(pBuffer, &iid); > < ReleaseBuffer(aTHX_ pBuffer, Buffer); > --- > > hr = FindIID(aTHX_ pObj, pszItf, &iid, > &pTypeInfo, cp, lcid); Yep, this is a bug. I encountered it just now. You can't use WithEvents on interface that beings with '_'. 3 years for a bug with a patch is too long.