diff --git a/dlls/shell32/debughlp.c b/dlls/shell32/debughlp.c index 379ff374e60..2522c885364 100644 --- a/dlls/shell32/debughlp.c +++ b/dlls/shell32/debughlp.c @@ -76,6 +76,7 @@ LPSTR _dbg_ILGetTextPointer(LPCITEMIDLIST pidl) { case PT_GUID: case PT_SHELLEXT: + case PT_YAGUID: return NULL; case PT_DRIVE: @@ -88,7 +89,6 @@ LPSTR _dbg_ILGetTextPointer(LPCITEMIDLIST pidl) case PT_FOLDER1: case PT_VALUE: case PT_IESPECIAL1: - case PT_RAS_FOLDER: case PT_IESPECIAL2: return (LPSTR)&(pdata->u.file.szNames); @@ -115,7 +115,6 @@ LPSTR _dbg_ILGetSTextPointer(LPCITEMIDLIST pidl) case PT_FOLDER: case PT_VALUE: case PT_IESPECIAL1: - case PT_RAS_FOLDER: case PT_IESPECIAL2: return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1); @@ -250,7 +249,7 @@ BOOL pcheck (LPCITEMIDLIST pidl) case PT_NETPROVIDER: case PT_NETWORK: case PT_IESPECIAL1: - case PT_RAS_FOLDER: + case PT_YAGUID: case PT_IESPECIAL2: case PT_SHARE: break; diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c index 98c707a7c3f..f7018a47fad 100644 --- a/dlls/shell32/pidl.c +++ b/dlls/shell32/pidl.c @@ -1493,7 +1493,7 @@ LPITEMIDLIST _ILCreateControlPanel() TRACE("()\n"); if (parent) { - LPITEMIDLIST cpl = _ILCreateGuid(PT_GUID, &CLSID_ControlPanel); + LPITEMIDLIST cpl = _ILCreateGuid(PT_SHELLEXT, &CLSID_ControlPanel); if (cpl) { @@ -1512,7 +1512,7 @@ LPITEMIDLIST _ILCreatePrinters() TRACE("()\n"); if (parent) { - LPITEMIDLIST printers = _ILCreateGuid(PT_GUID, &CLSID_Printers); + LPITEMIDLIST printers = _ILCreateGuid(PT_YAGUID, &CLSID_Printers); if (printers) { @@ -1538,7 +1538,7 @@ LPITEMIDLIST _ILCreateGuid(PIDLTYPE type, REFIID guid) { LPITEMIDLIST pidlOut; - if (type == PT_SHELLEXT || type == PT_GUID) + if (type == PT_SHELLEXT || type == PT_GUID || type == PT_YAGUID) { pidlOut = _ILAlloc(type, sizeof(GUIDStruct)); if (pidlOut) @@ -1883,6 +1883,7 @@ LPSTR _ILGetTextPointer(LPCITEMIDLIST pidl) { case PT_GUID: case PT_SHELLEXT: + case PT_YAGUID: return NULL; case PT_DRIVE: @@ -1895,7 +1896,6 @@ LPSTR _ILGetTextPointer(LPCITEMIDLIST pidl) case PT_FOLDER1: case PT_VALUE: case PT_IESPECIAL1: - case PT_RAS_FOLDER: case PT_IESPECIAL2: return (LPSTR)&(pdata->u.file.szNames); @@ -1926,7 +1926,6 @@ LPSTR _ILGetSTextPointer(LPCITEMIDLIST pidl) case PT_FOLDER: case PT_VALUE: case PT_IESPECIAL1: - case PT_RAS_FOLDER: case PT_IESPECIAL2: return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1); diff --git a/dlls/shell32/pidl.h b/dlls/shell32/pidl.h index 8e09c4c009d..b28d217ff6b 100644 --- a/dlls/shell32/pidl.h +++ b/dlls/shell32/pidl.h @@ -71,6 +71,7 @@ * net provider 0x46 network * whole network 0x47 network (5) * MSITStore 0x61 htmlhlp (7) +* printers/ras connections 0x70 guid * history/favorites 0xb1 file * share 0xc3 network (6) * @@ -101,7 +102,7 @@ #define PT_NETPROVIDER 0x46 #define PT_NETWORK 0x47 #define PT_IESPECIAL1 0x61 -#define PT_RAS_FOLDER 0x70 +#define PT_YAGUID 0x70 /* yet another guid.. */ #define PT_IESPECIAL2 0xb1 #define PT_SHARE 0xc3 @@ -200,8 +201,8 @@ BOOL _ILIsCPanelStruct (LPCITEMIDLIST pidl); */ LPITEMIDLIST _ILAlloc(PIDLTYPE type, size_t size); -/* Creates a PIDL with guid format and type type, which must be either PT_GUID - * or PT_SHELLEXT. +/* Creates a PIDL with guid format and type type, which must be one of PT_GUID, + * PT_SHELLEXT, or PT_YAGUID. */ LPITEMIDLIST _ILCreateGuid(PIDLTYPE type, REFIID guid); diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index a1d12df57b0..d6de3ec68dc 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -53,8 +53,8 @@ #ifndef PT_WORKGRP #define PT_WORKGRP 0x41 /* no path */ #endif -#ifndef PT_PRINTERS -#define PT_PRINTERS 0x70 /* no path */ +#ifndef PT_YAGUID +#define PT_YAGUID 0x70 /* no path */ #endif /* FIXME: this is used for history/favorites folders; what's a better name? */ #ifndef PT_IESPECIAL2 @@ -81,9 +81,7 @@ static DLLVERSIONINFO shellVersion = { 0 }; static LPMALLOC pMalloc; static const struct shellExpectedValues requiredShellValues[] = { { CSIDL_BITBUCKET, PT_GUID }, -/* FIXME: the following fails in Wine, returns type PT_FOLDER { CSIDL_CONTROLS, PT_SHELLEXT }, - */ { CSIDL_COOKIES, PT_FOLDER }, { CSIDL_DESKTOPDIRECTORY, PT_FOLDER }, { CSIDL_DRIVES, PT_GUID }, @@ -95,9 +93,7 @@ static const struct shellExpectedValues requiredShellValues[] = { { CSIDL_INTERNET, PT_GUID }, { CSIDL_NETHOOD, PT_FOLDER }, { CSIDL_NETWORK, PT_GUID }, -/* FIXME: the following fails in Wine, returns type PT_FOLDER - { CSIDL_PRINTERS, PT_PRINTERS }, - */ + { CSIDL_PRINTERS, PT_YAGUID }, { CSIDL_PRINTHOOD, PT_FOLDER }, { CSIDL_PROGRAMS, PT_FOLDER }, { CSIDL_RECENT, PT_FOLDER },