diff --git a/dll/win32/shell32/CDefView.cpp b/dll/win32/shell32/CDefView.cpp index 00e310397f..fd5fa94785 100644 --- a/dll/win32/shell32/CDefView.cpp +++ b/dll/win32/shell32/CDefView.cpp @@ -1575,17 +1575,19 @@ LRESULT CDefView::OnExplorerCommand(UINT uCommand, BOOL bUseSelection) HRESULT hResult; HMENU hMenu; - hMenu = CreatePopupMenu(); - if (!hMenu) - return 0; - hResult = GetItemObject( bUseSelection ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_PPV_ARG(IContextMenu, &m_pCM)); if (FAILED_UNEXPECTEDLY( hResult)) goto cleanup; + if ((uCommand != FCIDM_SHVIEW_DELETE) && (uCommand != FCIDM_SHVIEW_RENAME)) + { + hMenu = CreatePopupMenu(); + if (!hMenu) + return 0; - hResult = m_pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_NORMAL); - if (FAILED_UNEXPECTEDLY( hResult)) - goto cleanup; + hResult = m_pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, CMF_NORMAL); + if (FAILED_UNEXPECTEDLY(hResult)) + goto cleanup; + } if (bUseSelection) {