void CFileView::RemoveItem(const r3d::IMapObjRef& mapObj) { HTREEITEM item = FindMapObjItem(mapObj); if (item) { ReleaseItem(item); m_wndFileView.DeleteItem(item); } }
//*************************************************************************************** void CBCGPShellList::OnDeleteitem(NMHDR* pNMHDR, LRESULT* pResult) { ASSERT_VALID (g_pShellManager); NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; LPBCGCBITEMINFO pItem = (LPBCGCBITEMINFO)pNMListView->lParam; ReleaseItem(pItem); *pResult = 0; }
void GonkVideoDecoderManager::PostReleaseVideoBuffer( android::MediaBuffer *aBuffer, FenceHandle aReleaseFence) { { MutexAutoLock autoLock(mPendingReleaseItemsLock); if (aBuffer) { mPendingReleaseItems.AppendElement(ReleaseItem(aBuffer, aReleaseFence)); } } sp<AMessage> notify = new AMessage(kNotifyPostReleaseBuffer, id()); notify->post(); }
//*************************************************************************************** HRESULT CBCGPShellList::EnumObjects (LPSHELLFOLDER pParentFolder, LPITEMIDLIST pidlParent) { ASSERT_VALID (this); ASSERT_VALID (g_pShellManager); LPENUMIDLIST pEnum; HRESULT hRes = pParentFolder->EnumObjects (NULL, m_nTypes, &pEnum); if (SUCCEEDED (hRes)) { LPITEMIDLIST pidlTemp; DWORD dwFetched = 1; LPBCGCBITEMINFO pItem; //enumerate the item's PIDLs while (pEnum->Next(1, &pidlTemp, &dwFetched) == S_OK && dwFetched) { LVITEM lvItem; ZeroMemory(&lvItem, sizeof(lvItem)); //fill in the TV_ITEM structure for this item lvItem.mask = LVIF_PARAM | LVIF_TEXT | LVIF_IMAGE | LVIF_STATE; //AddRef the parent folder so it's pointer stays valid pParentFolder->AddRef(); //put the private information in the lParam pItem = (LPBCGCBITEMINFO)GlobalAlloc(GPTR, sizeof(BCGCBITEMINFO)); pItem->pidlRel = pidlTemp; pItem->pidlFQ = g_pShellManager->ConcatenateItem (pidlParent, pidlTemp); pItem->pParentFolder = pParentFolder; if (!IsItemMatchedToFilter(pItem)) { ReleaseItem(pItem); dwFetched = 0; continue; } lvItem.lParam = (LPARAM)pItem; lvItem.pszText = _T(""); lvItem.iImage = OnGetItemIcon (GetItemCount (), pItem); //determine if the item is shared DWORD dwAttr = SFGAO_DISPLAYATTRMASK; pParentFolder->GetAttributesOf (1, (LPCITEMIDLIST*)&pidlTemp, &dwAttr); if (dwAttr & SFGAO_SHARE) { lvItem.mask |= LVIF_STATE; lvItem.stateMask |= LVIS_OVERLAYMASK; lvItem.state |= INDEXTOOVERLAYMASK(1); //1 is the index for the shared overlay image } if (dwAttr & SFGAO_GHOSTED) { lvItem.mask |= LVIF_STATE; lvItem.stateMask |= LVIS_CUT; lvItem.state |= LVIS_CUT; } int iItem = InsertItem (&lvItem); if (iItem >= 0) { //------------- // Set columns: //------------- const int nColumns = (GetStyle () & LVS_TYPEMASK) == LVS_REPORT ? m_wndHeader.GetItemCount () : 1; for (int iColumn = 0; iColumn < nColumns; iColumn++) { SetItemText (iItem, iColumn, OnGetItemText (iItem, iColumn, pItem)); } } dwFetched = 0; } pEnum->Release (); } return hRes; }