JBR-1273 Common Item Dialog does not open when wrong path to directory is passed

Handle set directory / set file properly
This commit is contained in:
Vyacheslav Moklev
2019-03-14 13:31:43 +03:00
committed by alexey.ushakov@jetbrains.com
parent b802473cc3
commit 2f694a75e6

View File

@@ -749,16 +749,23 @@ AwtFileDialog::Show(void *p)
OLE_HRT(pfd->SetFileTypes(s_fileFilterCount, s_fileFilterSpec));
OLE_HRT(pfd->SetFileTypeIndex(1));
IShellItemPtr directoryItem;
OLE_NEXT_TRY
OLE_HRT(CreateShellItem(directoryBuffer, directoryItem));
OLE_HRT(pfd->SetFolder(directoryItem));
OLE_CATCH
CoTaskStringHolder shortName = GetShortName(fileBuffer);
if (shortName) {
OLE_HRT(pfd->SetFileName(shortName));
{
IShellItemPtr directoryItem;
OLE_TRY
OLE_HRT(CreateShellItem(directoryBuffer, directoryItem));
OLE_HRT(pfd->SetFolder(directoryItem));
OLE_CATCH
}
{
CoTaskStringHolder shortName = GetShortName(fileBuffer);
if (shortName) {
OLE_TRY
OLE_HRT(pfd->SetFileName(shortName));
OLE_CATCH
}
}
OLE_CATCH
}