Commit 535679ae authored by Juan Lang's avatar Juan Lang Committed by Alexandre Julliard

Fix CSIDL_CONTROLS and CSIDL_PRINTERS PIDL types, and update tests now

that they pass.
parent 568a91df
...@@ -76,6 +76,7 @@ LPSTR _dbg_ILGetTextPointer(LPCITEMIDLIST pidl) ...@@ -76,6 +76,7 @@ LPSTR _dbg_ILGetTextPointer(LPCITEMIDLIST pidl)
{ {
case PT_GUID: case PT_GUID:
case PT_SHELLEXT: case PT_SHELLEXT:
case PT_YAGUID:
return NULL; return NULL;
case PT_DRIVE: case PT_DRIVE:
...@@ -88,7 +89,6 @@ LPSTR _dbg_ILGetTextPointer(LPCITEMIDLIST pidl) ...@@ -88,7 +89,6 @@ LPSTR _dbg_ILGetTextPointer(LPCITEMIDLIST pidl)
case PT_FOLDER1: case PT_FOLDER1:
case PT_VALUE: case PT_VALUE:
case PT_IESPECIAL1: case PT_IESPECIAL1:
case PT_RAS_FOLDER:
case PT_IESPECIAL2: case PT_IESPECIAL2:
return (LPSTR)&(pdata->u.file.szNames); return (LPSTR)&(pdata->u.file.szNames);
...@@ -115,7 +115,6 @@ LPSTR _dbg_ILGetSTextPointer(LPCITEMIDLIST pidl) ...@@ -115,7 +115,6 @@ LPSTR _dbg_ILGetSTextPointer(LPCITEMIDLIST pidl)
case PT_FOLDER: case PT_FOLDER:
case PT_VALUE: case PT_VALUE:
case PT_IESPECIAL1: case PT_IESPECIAL1:
case PT_RAS_FOLDER:
case PT_IESPECIAL2: case PT_IESPECIAL2:
return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1); return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1);
...@@ -250,7 +249,7 @@ BOOL pcheck (LPCITEMIDLIST pidl) ...@@ -250,7 +249,7 @@ BOOL pcheck (LPCITEMIDLIST pidl)
case PT_NETPROVIDER: case PT_NETPROVIDER:
case PT_NETWORK: case PT_NETWORK:
case PT_IESPECIAL1: case PT_IESPECIAL1:
case PT_RAS_FOLDER: case PT_YAGUID:
case PT_IESPECIAL2: case PT_IESPECIAL2:
case PT_SHARE: case PT_SHARE:
break; break;
......
...@@ -1493,7 +1493,7 @@ LPITEMIDLIST _ILCreateControlPanel() ...@@ -1493,7 +1493,7 @@ LPITEMIDLIST _ILCreateControlPanel()
TRACE("()\n"); TRACE("()\n");
if (parent) if (parent)
{ {
LPITEMIDLIST cpl = _ILCreateGuid(PT_GUID, &CLSID_ControlPanel); LPITEMIDLIST cpl = _ILCreateGuid(PT_SHELLEXT, &CLSID_ControlPanel);
if (cpl) if (cpl)
{ {
...@@ -1512,7 +1512,7 @@ LPITEMIDLIST _ILCreatePrinters() ...@@ -1512,7 +1512,7 @@ LPITEMIDLIST _ILCreatePrinters()
TRACE("()\n"); TRACE("()\n");
if (parent) if (parent)
{ {
LPITEMIDLIST printers = _ILCreateGuid(PT_GUID, &CLSID_Printers); LPITEMIDLIST printers = _ILCreateGuid(PT_YAGUID, &CLSID_Printers);
if (printers) if (printers)
{ {
...@@ -1538,7 +1538,7 @@ LPITEMIDLIST _ILCreateGuid(PIDLTYPE type, REFIID guid) ...@@ -1538,7 +1538,7 @@ LPITEMIDLIST _ILCreateGuid(PIDLTYPE type, REFIID guid)
{ {
LPITEMIDLIST pidlOut; LPITEMIDLIST pidlOut;
if (type == PT_SHELLEXT || type == PT_GUID) if (type == PT_SHELLEXT || type == PT_GUID || type == PT_YAGUID)
{ {
pidlOut = _ILAlloc(type, sizeof(GUIDStruct)); pidlOut = _ILAlloc(type, sizeof(GUIDStruct));
if (pidlOut) if (pidlOut)
...@@ -1883,6 +1883,7 @@ LPSTR _ILGetTextPointer(LPCITEMIDLIST pidl) ...@@ -1883,6 +1883,7 @@ LPSTR _ILGetTextPointer(LPCITEMIDLIST pidl)
{ {
case PT_GUID: case PT_GUID:
case PT_SHELLEXT: case PT_SHELLEXT:
case PT_YAGUID:
return NULL; return NULL;
case PT_DRIVE: case PT_DRIVE:
...@@ -1895,7 +1896,6 @@ LPSTR _ILGetTextPointer(LPCITEMIDLIST pidl) ...@@ -1895,7 +1896,6 @@ LPSTR _ILGetTextPointer(LPCITEMIDLIST pidl)
case PT_FOLDER1: case PT_FOLDER1:
case PT_VALUE: case PT_VALUE:
case PT_IESPECIAL1: case PT_IESPECIAL1:
case PT_RAS_FOLDER:
case PT_IESPECIAL2: case PT_IESPECIAL2:
return (LPSTR)&(pdata->u.file.szNames); return (LPSTR)&(pdata->u.file.szNames);
...@@ -1926,7 +1926,6 @@ LPSTR _ILGetSTextPointer(LPCITEMIDLIST pidl) ...@@ -1926,7 +1926,6 @@ LPSTR _ILGetSTextPointer(LPCITEMIDLIST pidl)
case PT_FOLDER: case PT_FOLDER:
case PT_VALUE: case PT_VALUE:
case PT_IESPECIAL1: case PT_IESPECIAL1:
case PT_RAS_FOLDER:
case PT_IESPECIAL2: case PT_IESPECIAL2:
return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1); return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1);
......
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
* net provider 0x46 network * net provider 0x46 network
* whole network 0x47 network (5) * whole network 0x47 network (5)
* MSITStore 0x61 htmlhlp (7) * MSITStore 0x61 htmlhlp (7)
* printers/ras connections 0x70 guid
* history/favorites 0xb1 file * history/favorites 0xb1 file
* share 0xc3 network (6) * share 0xc3 network (6)
* *
...@@ -101,7 +102,7 @@ ...@@ -101,7 +102,7 @@
#define PT_NETPROVIDER 0x46 #define PT_NETPROVIDER 0x46
#define PT_NETWORK 0x47 #define PT_NETWORK 0x47
#define PT_IESPECIAL1 0x61 #define PT_IESPECIAL1 0x61
#define PT_RAS_FOLDER 0x70 #define PT_YAGUID 0x70 /* yet another guid.. */
#define PT_IESPECIAL2 0xb1 #define PT_IESPECIAL2 0xb1
#define PT_SHARE 0xc3 #define PT_SHARE 0xc3
...@@ -200,8 +201,8 @@ BOOL _ILIsCPanelStruct (LPCITEMIDLIST pidl); ...@@ -200,8 +201,8 @@ BOOL _ILIsCPanelStruct (LPCITEMIDLIST pidl);
*/ */
LPITEMIDLIST _ILAlloc(PIDLTYPE type, size_t size); LPITEMIDLIST _ILAlloc(PIDLTYPE type, size_t size);
/* Creates a PIDL with guid format and type type, which must be either PT_GUID /* Creates a PIDL with guid format and type type, which must be one of PT_GUID,
* or PT_SHELLEXT. * PT_SHELLEXT, or PT_YAGUID.
*/ */
LPITEMIDLIST _ILCreateGuid(PIDLTYPE type, REFIID guid); LPITEMIDLIST _ILCreateGuid(PIDLTYPE type, REFIID guid);
......
...@@ -53,8 +53,8 @@ ...@@ -53,8 +53,8 @@
#ifndef PT_WORKGRP #ifndef PT_WORKGRP
#define PT_WORKGRP 0x41 /* no path */ #define PT_WORKGRP 0x41 /* no path */
#endif #endif
#ifndef PT_PRINTERS #ifndef PT_YAGUID
#define PT_PRINTERS 0x70 /* no path */ #define PT_YAGUID 0x70 /* no path */
#endif #endif
/* FIXME: this is used for history/favorites folders; what's a better name? */ /* FIXME: this is used for history/favorites folders; what's a better name? */
#ifndef PT_IESPECIAL2 #ifndef PT_IESPECIAL2
...@@ -81,9 +81,7 @@ static DLLVERSIONINFO shellVersion = { 0 }; ...@@ -81,9 +81,7 @@ static DLLVERSIONINFO shellVersion = { 0 };
static LPMALLOC pMalloc; static LPMALLOC pMalloc;
static const struct shellExpectedValues requiredShellValues[] = { static const struct shellExpectedValues requiredShellValues[] = {
{ CSIDL_BITBUCKET, PT_GUID }, { CSIDL_BITBUCKET, PT_GUID },
/* FIXME: the following fails in Wine, returns type PT_FOLDER
{ CSIDL_CONTROLS, PT_SHELLEXT }, { CSIDL_CONTROLS, PT_SHELLEXT },
*/
{ CSIDL_COOKIES, PT_FOLDER }, { CSIDL_COOKIES, PT_FOLDER },
{ CSIDL_DESKTOPDIRECTORY, PT_FOLDER }, { CSIDL_DESKTOPDIRECTORY, PT_FOLDER },
{ CSIDL_DRIVES, PT_GUID }, { CSIDL_DRIVES, PT_GUID },
...@@ -95,9 +93,7 @@ static const struct shellExpectedValues requiredShellValues[] = { ...@@ -95,9 +93,7 @@ static const struct shellExpectedValues requiredShellValues[] = {
{ CSIDL_INTERNET, PT_GUID }, { CSIDL_INTERNET, PT_GUID },
{ CSIDL_NETHOOD, PT_FOLDER }, { CSIDL_NETHOOD, PT_FOLDER },
{ CSIDL_NETWORK, PT_GUID }, { CSIDL_NETWORK, PT_GUID },
/* FIXME: the following fails in Wine, returns type PT_FOLDER { CSIDL_PRINTERS, PT_YAGUID },
{ CSIDL_PRINTERS, PT_PRINTERS },
*/
{ CSIDL_PRINTHOOD, PT_FOLDER }, { CSIDL_PRINTHOOD, PT_FOLDER },
{ CSIDL_PROGRAMS, PT_FOLDER }, { CSIDL_PROGRAMS, PT_FOLDER },
{ CSIDL_RECENT, PT_FOLDER }, { CSIDL_RECENT, PT_FOLDER },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment