Many fixes.
This commit is contained in:
parent
be90e00559
commit
47a800432a
|
@ -161,7 +161,8 @@ static HRESULT WINAPI IContextMenu_QueryContextMenu( LPCONTEXTMENU this, HMENU32
|
||||||
|
|
||||||
if(!(CMF_DEFAULTONLY & uFlags))
|
if(!(CMF_DEFAULTONLY & uFlags))
|
||||||
{ if(!this->bAllValues)
|
{ if(!this->bAllValues)
|
||||||
{ fExplore = uFlags & CMF_EXPLORE;
|
{ /* folder menu */
|
||||||
|
fExplore = uFlags & CMF_EXPLORE;
|
||||||
if(fExplore)
|
if(fExplore)
|
||||||
{ _InsertMenuItem(hmenu, indexMenu++, TRUE, idCmdFirst+IDM_EXPLORE, MFT_STRING, TEXT("&Explore"), MFS_ENABLED|MFS_DEFAULT);
|
{ _InsertMenuItem(hmenu, indexMenu++, TRUE, idCmdFirst+IDM_EXPLORE, MFT_STRING, TEXT("&Explore"), MFS_ENABLED|MFS_DEFAULT);
|
||||||
_InsertMenuItem(hmenu, indexMenu++, TRUE, idCmdFirst+IDM_OPEN, MFT_STRING, TEXT("&Open"), MFS_ENABLED);
|
_InsertMenuItem(hmenu, indexMenu++, TRUE, idCmdFirst+IDM_OPEN, MFT_STRING, TEXT("&Open"), MFS_ENABLED);
|
||||||
|
@ -176,6 +177,13 @@ static HRESULT WINAPI IContextMenu_QueryContextMenu( LPCONTEXTMENU this, HMENU32
|
||||||
_InsertMenuItem(hmenu, indexMenu++, TRUE, idCmdFirst+IDM_RENAME, MFT_STRING, TEXT("&Rename"), (IContextMenu_CanRenameItems(this) ? MFS_ENABLED : MFS_DISABLED));
|
_InsertMenuItem(hmenu, indexMenu++, TRUE, idCmdFirst+IDM_RENAME, MFT_STRING, TEXT("&Rename"), (IContextMenu_CanRenameItems(this) ? MFS_ENABLED : MFS_DISABLED));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else /* file menu */
|
||||||
|
{ _InsertMenuItem(hmenu, indexMenu++, TRUE, idCmdFirst+IDM_OPEN, MFT_STRING, TEXT("&Open"), MFS_ENABLED|MFS_DEFAULT);
|
||||||
|
if(uFlags & CMF_CANRENAME)
|
||||||
|
{ _InsertMenuItem(hmenu, indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0);
|
||||||
|
_InsertMenuItem(hmenu, indexMenu++, TRUE, idCmdFirst+IDM_RENAME, MFT_STRING, TEXT("&Rename"), (IContextMenu_CanRenameItems(this) ? MFS_ENABLED : MFS_DISABLED));
|
||||||
|
}
|
||||||
|
}
|
||||||
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, (IDM_LAST + 1));
|
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, (IDM_LAST + 1));
|
||||||
}
|
}
|
||||||
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, 0);
|
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, 0);
|
||||||
|
|
|
@ -297,7 +297,7 @@ static HRESULT WINAPI IDataObject_GetData (LPDATAOBJECT this, LPFORMATETC32 pfor
|
||||||
HGLOBAL32 hmem;
|
HGLOBAL32 hmem;
|
||||||
|
|
||||||
GetClipboardFormatName32A (pformatetcIn->cfFormat, temp, 256);
|
GetClipboardFormatName32A (pformatetcIn->cfFormat, temp, 256);
|
||||||
FIXME (shell, "(%p)->(%p %p format=%s)\n", this, pformatetcIn, pmedium, temp);
|
WARN (shell, "(%p)->(%p %p format=%s)semi-stub\n", this, pformatetcIn, pmedium, temp);
|
||||||
|
|
||||||
if (!DATAOBJECT_InitShellIDList()) /* is the clipformat registred? */
|
if (!DATAOBJECT_InitShellIDList()) /* is the clipformat registred? */
|
||||||
{ return(E_UNEXPECTED);
|
{ return(E_UNEXPECTED);
|
||||||
|
|
|
@ -139,12 +139,12 @@ static ULONG WINAPI IExtractIcon_Release(LPEXTRACTICON this)
|
||||||
* IExtractIcon_GetIconLocation
|
* IExtractIcon_GetIconLocation
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI IExtractIcon_GetIconLocation(LPEXTRACTICON this, UINT32 uFlags, LPSTR szIconFile, UINT32 cchMax, int * piIndex, UINT32 * pwFlags)
|
static HRESULT WINAPI IExtractIcon_GetIconLocation(LPEXTRACTICON this, UINT32 uFlags, LPSTR szIconFile, UINT32 cchMax, int * piIndex, UINT32 * pwFlags)
|
||||||
{ FIXME (shell,"(%p) (flags=%u file=%s max=%u %p %p) semi-stub\n", this, uFlags, szIconFile, cchMax, piIndex, pwFlags);
|
{ WARN (shell,"(%p) (flags=%u file=%s max=%u %p %p) semi-stub\n", this, uFlags, szIconFile, cchMax, piIndex, pwFlags);
|
||||||
|
|
||||||
*piIndex = (int) SHMapPIDLToSystemImageListIndex(0, this->pidl,0);
|
*piIndex = (int) SHMapPIDLToSystemImageListIndex(0, this->pidl,0);
|
||||||
*pwFlags = GIL_NOTFILENAME;
|
*pwFlags = GIL_NOTFILENAME;
|
||||||
|
|
||||||
FIXME (shell,"-- %x\n",*piIndex);
|
WARN (shell,"-- %x\n",*piIndex);
|
||||||
|
|
||||||
return NOERROR;
|
return NOERROR;
|
||||||
}
|
}
|
||||||
|
|
|
@ -614,7 +614,7 @@ DWORD WINAPI Shell_GetImageList(HIMAGELIST * imglist1,HIMAGELIST * imglist2)
|
||||||
DWORD WINAPI SHMapPIDLToSystemImageListIndex(LPSHELLFOLDER sh,LPITEMIDLIST pidl,DWORD z)
|
DWORD WINAPI SHMapPIDLToSystemImageListIndex(LPSHELLFOLDER sh,LPITEMIDLIST pidl,DWORD z)
|
||||||
{ LPITEMIDLIST pidltemp = ILFindLastID(pidl);
|
{ LPITEMIDLIST pidltemp = ILFindLastID(pidl);
|
||||||
|
|
||||||
FIXME(shell,"(SF=%p,pidl=%p,%08lx):stub.\n",sh,pidl,z);
|
WARN(shell,"(SF=%p,pidl=%p,%08lx):stub.\n",sh,pidl,z);
|
||||||
|
|
||||||
if (_ILIsMyComputer(pidltemp))
|
if (_ILIsMyComputer(pidltemp))
|
||||||
{ return 20;
|
{ return 20;
|
||||||
|
|
|
@ -95,5 +95,7 @@ LPPIDLDATA WINAPI _ILGetDataPointer(LPCITEMIDLIST);
|
||||||
LPSTR WINAPI _ILGetTextPointer(PIDLTYPE type, LPPIDLDATA pidldata);
|
LPSTR WINAPI _ILGetTextPointer(PIDLTYPE type, LPPIDLDATA pidldata);
|
||||||
BOOL32 WINAPI _ILGetFileDate (LPCITEMIDLIST pidl, LPSTR pOut, UINT32 uOutSize);
|
BOOL32 WINAPI _ILGetFileDate (LPCITEMIDLIST pidl, LPSTR pOut, UINT32 uOutSize);
|
||||||
BOOL32 WINAPI _ILGetFileSize (LPCITEMIDLIST pidl, LPSTR pOut, UINT32 uOutSize);
|
BOOL32 WINAPI _ILGetFileSize (LPCITEMIDLIST pidl, LPSTR pOut, UINT32 uOutSize);
|
||||||
|
BOOL32 WINAPI _ILGetExtension (LPCITEMIDLIST pidl, LPSTR pOut, UINT32 uOutSize);
|
||||||
|
|
||||||
void pdump (LPCITEMIDLIST pidl);
|
void pdump (LPCITEMIDLIST pidl);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -29,9 +29,13 @@ extern LPVOID (CALLBACK* pDPA_GetPtr) (const HDPA, INT32);
|
||||||
extern BOOL32 (CALLBACK* pDPA_Destroy) (const HDPA);
|
extern BOOL32 (CALLBACK* pDPA_Destroy) (const HDPA);
|
||||||
extern INT32 (CALLBACK *pDPA_Search) (const HDPA, LPVOID, INT32, PFNDPACOMPARE, LPARAM, UINT32);
|
extern INT32 (CALLBACK *pDPA_Search) (const HDPA, LPVOID, INT32, PFNDPACOMPARE, LPARAM, UINT32);
|
||||||
|
|
||||||
|
/* Iconcache */
|
||||||
extern BOOL32 WINAPI SIC_Initialize(void);
|
extern BOOL32 WINAPI SIC_Initialize(void);
|
||||||
extern HICON32 WINAPI SIC_GetIcon (LPSTR sSourceFile, DWORD dwSourceIndex, BOOL32 bSmallIcon );
|
extern HICON32 WINAPI SIC_GetIcon (LPSTR sSourceFile, DWORD dwSourceIndex, BOOL32 bSmallIcon );
|
||||||
|
|
||||||
|
/* Classes Root */
|
||||||
|
extern BOOL32 WINAPI HCR_MapTypeToValue ( LPSTR szExtension, LPSTR szFileType, DWORD len);
|
||||||
|
|
||||||
/* FIXME should be moved to a header file. IsEqualGUID
|
/* FIXME should be moved to a header file. IsEqualGUID
|
||||||
is declared but not exported in compobj.c !!!*/
|
is declared but not exported in compobj.c !!!*/
|
||||||
#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
|
#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
|
||||||
|
|
|
@ -247,9 +247,10 @@ BOOL32 ShellView_CreateList (LPSHELLVIEW this)
|
||||||
LVS_SHAREIMAGELISTS | LVS_EDITLABELS;
|
LVS_SHAREIMAGELISTS | LVS_EDITLABELS;
|
||||||
switch (this->FolderSettings.ViewMode)
|
switch (this->FolderSettings.ViewMode)
|
||||||
{ case FVM_ICON: dwStyle |= LVS_ICON; break;
|
{ case FVM_ICON: dwStyle |= LVS_ICON; break;
|
||||||
|
case FVM_DETAILS: dwStyle |= LVS_REPORT; break;
|
||||||
case FVM_SMALLICON: dwStyle |= LVS_SMALLICON; break;
|
case FVM_SMALLICON: dwStyle |= LVS_SMALLICON; break;
|
||||||
case FVM_LIST: dwStyle |= LVS_LIST; break;
|
case FVM_LIST: dwStyle |= LVS_LIST; break;
|
||||||
case FVM_DETAILS: dwStyle |= LVS_REPORT; break;
|
default: dwStyle |= LVS_LIST; break;
|
||||||
}
|
}
|
||||||
if (this->FolderSettings.fFlags && FWF_AUTOARRANGE) dwStyle |= LVS_AUTOARRANGE;
|
if (this->FolderSettings.fFlags && FWF_AUTOARRANGE) dwStyle |= LVS_AUTOARRANGE;
|
||||||
/*if (this->FolderSettings.fFlags && FWF_DESKTOP); used from explorer*/
|
/*if (this->FolderSettings.fFlags && FWF_DESKTOP); used from explorer*/
|
||||||
|
@ -277,10 +278,10 @@ BOOL32 ShellView_CreateList (LPSHELLVIEW this)
|
||||||
* NOTES
|
* NOTES
|
||||||
* internal
|
* internal
|
||||||
*/
|
*/
|
||||||
int nColumn1=100; /* width of column */
|
int nColumn1=120; /* width of column */
|
||||||
int nColumn2=100;
|
int nColumn2=50;
|
||||||
int nColumn3=100;
|
int nColumn3=170;
|
||||||
int nColumn4=100;
|
int nColumn4=60;
|
||||||
|
|
||||||
BOOL32 ShellView_InitList(LPSHELLVIEW this)
|
BOOL32 ShellView_InitList(LPSHELLVIEW this)
|
||||||
{ LVCOLUMN32A lvColumn;
|
{ LVCOLUMN32A lvColumn;
|
||||||
|
@ -834,69 +835,64 @@ void ShellView_DoContextMenu(LPSHELLVIEW this, WORD x, WORD y, BOOL32 fDefault)
|
||||||
{ TRACE(shell,"-- pContextMenu\n");
|
{ TRACE(shell,"-- pContextMenu\n");
|
||||||
hMenu = CreatePopupMenu32();
|
hMenu = CreatePopupMenu32();
|
||||||
|
|
||||||
/* See if we are in Explore or Open mode. If the browser's tree
|
if( hMenu )
|
||||||
is present, then we are in Explore mode.*/
|
{ /* See if we are in Explore or Open mode. If the browser's tree
|
||||||
|
is present, then we are in Explore mode.*/
|
||||||
|
|
||||||
fExplore = FALSE;
|
if(SUCCEEDED(IShellBrowser_GetControlWindow(this->pShellBrowser,FCW_TREE, &hwndTree)) && hwndTree)
|
||||||
if(SUCCEEDED(IShellBrowser_GetControlWindow(this->pShellBrowser,FCW_TREE, &hwndTree)) && hwndTree)
|
{ TRACE(shell,"-- explore mode\n");
|
||||||
{ TRACE(shell,"-- fExplore\n");
|
fExplore = TRUE;
|
||||||
fExplore = TRUE;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(hMenu && SUCCEEDED(pContextMenu->lpvtbl->fnQueryContextMenu( pContextMenu,
|
wFlags = CMF_NORMAL | (this->uSelected != 1 ? 0 : CMF_CANRENAME) | (fExplore ? CMF_EXPLORE : 0);
|
||||||
hMenu,
|
|
||||||
0,
|
|
||||||
MENU_OFFSET,
|
|
||||||
MENU_MAX,
|
|
||||||
CMF_NORMAL | (this->uSelected != 1 ? 0 : CMF_CANRENAME) | (fExplore ? CMF_EXPLORE : 0))))
|
|
||||||
{ if(fDefault)
|
|
||||||
{ TRACE(shell,"-- fDefault\n");
|
|
||||||
uCommand = 0;
|
|
||||||
|
|
||||||
ZeroMemory(&mii, sizeof(mii));
|
if (SUCCEEDED(pContextMenu->lpvtbl->fnQueryContextMenu( pContextMenu, hMenu, 0, MENU_OFFSET, MENU_MAX, wFlags )))
|
||||||
mii.cbSize = sizeof(mii);
|
{ if( fDefault )
|
||||||
mii.fMask = MIIM_STATE | MIIM_ID;
|
{ TRACE(shell,"-- get menu default command\n");
|
||||||
|
|
||||||
nMenuIndex = 0;
|
uCommand = 0;
|
||||||
|
nMenuIndex = 0;
|
||||||
|
ZeroMemory(&mii, sizeof(mii));
|
||||||
|
mii.cbSize = sizeof(mii);
|
||||||
|
mii.fMask = MIIM_STATE | MIIM_ID;
|
||||||
|
|
||||||
/*find the default item in the menu*/
|
while(GetMenuItemInfo32A(hMenu, nMenuIndex, TRUE, &mii)) /*find the default item in the menu*/
|
||||||
while(GetMenuItemInfo32A(hMenu, nMenuIndex, TRUE, &mii))
|
{ if(mii.fState & MFS_DEFAULT)
|
||||||
{ if(mii.fState & MFS_DEFAULT)
|
{ uCommand = mii.wID;
|
||||||
{ uCommand = mii.wID;
|
break;
|
||||||
break;
|
}
|
||||||
|
nMenuIndex++;
|
||||||
}
|
}
|
||||||
nMenuIndex++;
|
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else
|
{ TRACE(shell,"-- track popup\n");
|
||||||
{ TRACE(shell,"-- ! fDefault\n");
|
uCommand = TrackPopupMenu32( hMenu,TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,this->hWnd,NULL);
|
||||||
uCommand = TrackPopupMenu32( hMenu,TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,this->hWnd,NULL);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(uCommand > 0)
|
if(uCommand > 0)
|
||||||
{ TRACE(shell,"-- uCommand=%u\n", uCommand);
|
{ TRACE(shell,"-- uCommand=%u\n", uCommand);
|
||||||
if (((uCommand-MENU_OFFSET) == IDM_EXPLORE) || ((uCommand-MENU_OFFSET) == IDM_OPEN))
|
if (((uCommand-MENU_OFFSET) == IDM_EXPLORE) || ((uCommand-MENU_OFFSET) == IDM_OPEN))
|
||||||
{ if (IsInCommDlg(this)) /* are we part of a commctrl? */
|
{ if (IsInCommDlg(this)) /* are we part of a commctrl? */
|
||||||
{ TRACE(shell,"-- fnOnDefaultCommand\n");
|
{ TRACE(shell,"-- dlg: OnDefaultCommand\n");
|
||||||
OnDefaultCommand(this);
|
OnDefaultCommand(this);
|
||||||
|
}
|
||||||
|
else /* we are acting with a full featured IShellBrowser */
|
||||||
|
{ TRACE(shell,"-- explorer: BrowseObject pidl =%p\n", this->aSelectedItems[0]);
|
||||||
|
wFlags = SBSP_SAMEBROWSER | SBSP_DEFMODE | SBSP_RELATIVE;
|
||||||
|
IShellBrowser_BrowseObject(this->pShellBrowser, this->aSelectedItems[0], wFlags);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else /* we are acting with a full featured IShellBrowser */
|
else
|
||||||
{ TRACE(shell,"-- fnBrowseObject pidl =%p\n", this->aSelectedItems[0]);
|
{ TRACE(shell,"-- invoke command\n", this->aSelectedItems[0]);
|
||||||
wFlags = SBSP_SAMEBROWSER | SBSP_DEFMODE | SBSP_RELATIVE;
|
ZeroMemory(&cmi, sizeof(cmi));
|
||||||
IShellBrowser_BrowseObject(this->pShellBrowser,
|
cmi.cbSize = sizeof(cmi);
|
||||||
this->aSelectedItems[0],
|
cmi.hwnd = this->hWndParent;
|
||||||
wFlags);
|
cmi.lpVerb = (LPCSTR)MAKEINTRESOURCE32A(uCommand - MENU_OFFSET);
|
||||||
|
pContextMenu->lpvtbl->fnInvokeCommand(pContextMenu, &cmi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
DestroyMenu32(hMenu);
|
||||||
{ ZeroMemory(&cmi, sizeof(cmi));
|
|
||||||
cmi.cbSize = sizeof(cmi);
|
|
||||||
cmi.hwnd = this->hWndParent;
|
|
||||||
cmi.lpVerb = (LPCSTR)MAKEINTRESOURCE32A(uCommand - MENU_OFFSET);
|
|
||||||
pContextMenu->lpvtbl->fnInvokeCommand(pContextMenu, &cmi);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
DestroyMenu32(hMenu);
|
|
||||||
}
|
}
|
||||||
pContextMenu->lpvtbl->fnRelease(pContextMenu);
|
pContextMenu->lpvtbl->fnRelease(pContextMenu);
|
||||||
}
|
}
|
||||||
|
@ -996,6 +992,7 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT32 CtlID, LPNMHDR lpnmh)
|
||||||
|
|
||||||
case LVN_ITEMACTIVATE:
|
case LVN_ITEMACTIVATE:
|
||||||
TRACE(shell,"-- LVN_ITEMACTIVATE %p\n",this);
|
TRACE(shell,"-- LVN_ITEMACTIVATE %p\n",this);
|
||||||
|
OnStateChange(this, CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */
|
||||||
ShellView_DoContextMenu(this, 0, 0, TRUE);
|
ShellView_DoContextMenu(this, 0, 0, TRUE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1018,7 +1015,14 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT32 CtlID, LPNMHDR lpnmh)
|
||||||
_ILGetFileSize (pidl, lpdi->item.pszText, lpdi->item.cchTextMax);
|
_ILGetFileSize (pidl, lpdi->item.pszText, lpdi->item.cchTextMax);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
strncpy (lpdi->item.pszText, "File", lpdi->item.cchTextMax);
|
{ char sTemp[64];
|
||||||
|
if (!( _ILGetExtension (pidl, sTemp, 64)
|
||||||
|
&& HCR_MapTypeToValue(sTemp, sTemp, 64)
|
||||||
|
&& HCR_MapTypeToValue(sTemp, lpdi->item.pszText, lpdi->item.cchTextMax )))
|
||||||
|
{ strncpy (lpdi->item.pszText, sTemp, lpdi->item.cchTextMax);
|
||||||
|
strncat (lpdi->item.pszText, "-file", lpdi->item.cchTextMax);
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
_ILGetFileDate (pidl, lpdi->item.pszText, lpdi->item.cchTextMax);
|
_ILGetFileDate (pidl, lpdi->item.pszText, lpdi->item.cchTextMax);
|
||||||
|
@ -1028,7 +1032,7 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT32 CtlID, LPNMHDR lpnmh)
|
||||||
else /*its a folder*/
|
else /*its a folder*/
|
||||||
{ switch (lpdi->item.iSubItem)
|
{ switch (lpdi->item.iSubItem)
|
||||||
{ case 1:
|
{ case 1:
|
||||||
sprintf(lpdi->item.pszText, "fixme");
|
strcpy(lpdi->item.pszText, "");
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
strncpy (lpdi->item.pszText, "Folder", lpdi->item.cchTextMax);
|
strncpy (lpdi->item.pszText, "Folder", lpdi->item.cchTextMax);
|
||||||
|
@ -1038,6 +1042,7 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT32 CtlID, LPNMHDR lpnmh)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
TRACE(shell,"-- text=%s\n",lpdi->item.pszText);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else /*the item text is being requested*/
|
else /*the item text is being requested*/
|
||||||
|
@ -1053,8 +1058,8 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT32 CtlID, LPNMHDR lpnmh)
|
||||||
else
|
else
|
||||||
{ FIXME(shell,"type wrong\n");
|
{ FIXME(shell,"type wrong\n");
|
||||||
}
|
}
|
||||||
TRACE(shell,"-- text=%s\n",lpdi->item.pszText);
|
|
||||||
}
|
}
|
||||||
|
TRACE(shell,"-- text=%s\n",lpdi->item.pszText);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(lpdi->item.mask & LVIF_IMAGE) /*is the image being requested?*/
|
if(lpdi->item.mask & LVIF_IMAGE) /*is the image being requested?*/
|
||||||
|
@ -1412,8 +1417,6 @@ static HRESULT WINAPI IShellView_CreateViewWindow(LPSHELLVIEW this, IShellView *
|
||||||
IShellBrowser_AddRef(this->pShellBrowser);
|
IShellBrowser_AddRef(this->pShellBrowser);
|
||||||
IShellBrowser_GetWindow(this->pShellBrowser, &(this->hWndParent));
|
IShellBrowser_GetWindow(this->pShellBrowser, &(this->hWndParent));
|
||||||
|
|
||||||
/* IShellBrowser_SendControlMsg(this->pShellBrowser, FCW_TOOLBAR, TB_ENABLEBUTTON, 0xa004, TRUE, &dwResult);
|
|
||||||
*/
|
|
||||||
/* try to get the ICommDlgBrowserInterface */
|
/* try to get the ICommDlgBrowserInterface */
|
||||||
this->pCommDlgBrowser=NULL;
|
this->pCommDlgBrowser=NULL;
|
||||||
if ( SUCCEEDED (IShellBrowser_QueryInterface( this->pShellBrowser,
|
if ( SUCCEEDED (IShellBrowser_QueryInterface( this->pShellBrowser,
|
||||||
|
@ -1499,7 +1502,11 @@ static HRESULT WINAPI IShellView_GetItemObject(LPSHELLVIEW this, UINT32 uItem, R
|
||||||
{ pObj =(LPUNKNOWN)IContextMenu_Constructor(this->pSFParent,this->aSelectedItems,this->uSelected);
|
{ pObj =(LPUNKNOWN)IContextMenu_Constructor(this->pSFParent,this->aSelectedItems,this->uSelected);
|
||||||
}
|
}
|
||||||
else if (IsEqualIID(riid, &IID_IDataObject))
|
else if (IsEqualIID(riid, &IID_IDataObject))
|
||||||
{ pObj =(LPUNKNOWN)IDataObject_Constructor(this->hWndParent, this->pSFParent,this->aSelectedItems,this->uSelected);
|
{ ShellView_GetSelections(this);
|
||||||
|
pObj =(LPUNKNOWN)IDataObject_Constructor(this->hWndParent, this->pSFParent,this->aSelectedItems,this->uSelected);
|
||||||
|
SHFree(this->aSelectedItems);
|
||||||
|
this->aSelectedItems=NULL;
|
||||||
|
this->uSelected=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE(shell,"-- (%p)->(interface=%p)\n",this, ppvOut);
|
TRACE(shell,"-- (%p)->(interface=%p)\n",this, ppvOut);
|
||||||
|
|
Loading…
Reference in New Issue