···11261126 ::GetWindowRect(m_hwndEdit, &m_rcEdit);
1127112711281128 // get an IEnumString
11291129- ATLASSERT(!m_pEnum);
11301129 punkACL->QueryInterface(IID_IEnumString, (VOID **)&m_pEnum);
11311130 TRACE("m_pEnum: %p\n", static_cast<void *>(m_pEnum));
11321132- if (m_pEnum)
11331133- m_pEnum->AddRef(); // hold not to be freed
1134113111351132 // get an IACList
11361136- ATLASSERT(!m_pACList);
11371133 punkACL->QueryInterface(IID_IACList, (VOID **)&m_pACList);
11381134 TRACE("m_pACList: %p\n", static_cast<void *>(m_pACList));
11391139- if (m_pACList)
11401140- m_pACList->AddRef(); // hold not to be freed
1141113511421136 UpdateDropDownState(); // create/hide the drop-down window if necessary
11431137
+8-14
dll/win32/browseui/desktopipc.cpp
···348348 BOOL Ret;
349349350350 // Tell the thread ref we are using it.
351351- if (parameters && parameters->offsetF8)
352352- parameters->offsetF8->AddRef();
351351+ if (parameters && parameters->pExplorerInstance)
352352+ parameters->pExplorerInstance->AddRef();
353353354354 /* Handle /e parameter */
355355 UINT wFlags = 0;
···410410 }
411411 }
412412413413- int nrc = browser->Release();
414414- if (nrc > 0)
415415- {
416416- DbgPrint("WARNING: There are %d references to the CShellBrowser active or leaked.\n", nrc);
417417- }
418418-419419- browser.Detach();
413413+ ReleaseCComPtrExpectZero(browser);
420414421415 // Tell the thread ref we are not using it anymore.
422422- if (parameters && parameters->offsetF8)
423423- parameters->offsetF8->Release();
416416+ if (parameters && parameters->pExplorerInstance)
417417+ parameters->pExplorerInstance->Release();
424418425419 return hResult;
426420}
···519513 param->offset78->Release();
520514 if (param->offsetC != NULL)
521515 param->offsetC->Release();
522522- if (param->offsetF8 != NULL)
523523- param->offsetF8->Release();
516516+ if (param->pExplorerInstance != NULL)
517517+ param->pExplorerInstance->Release();
524518 LocalFree(param);
525519}
526520···563557564558 PIE_THREAD_PARAM_BLOCK paramsCopy = SHCloneIETHREADPARAM(parameters);
565559566566- SHGetInstanceExplorer(&(paramsCopy->offsetF8));
560560+ SHGetInstanceExplorer(&(paramsCopy->pExplorerInstance));
567561 threadHandle = CreateThread(NULL, 0x10000, BrowserThreadProc, paramsCopy, 0, &threadID);
568562 if (threadHandle != NULL)
569563 {
···1121112111221122 // we have to store our basebar into cache now
11231123 *cache = newBaseBar;
11241124- newBaseBar->AddRef();
11241124+ (*cache)->AddRef();
1125112511261126 // tell the new base bar about the shell browser
11271127 hResult = IUnknown_SetSite(newBaseBar, static_cast<IDropTarget *>(this));