Changeset 8048 for trunk/src


Ignore:
Timestamp:
Mar 8, 2002, 12:01:03 PM (23 years ago)
Author:
sandervl
Message:

PH: Wine resync + OS2 integration

Location:
trunk/src/shell32
Files:
2 added
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shell32/changenotify.c

    r4121 r8048  
    1 /* $Id: changenotify.c,v 1.1 2000-08-30 13:52:50 sandervl Exp $ */
     1/* $Id: changenotify.c,v 1.2 2002-03-08 11:00:58 sandervl Exp $ */
    22/*
    33 *      shell change notification
     
    2929        HWND hwnd;              /* window to notify */
    3030        DWORD uMsg;             /* message to send */
    31         LPNOTIFYREGISTER apidl; /* array of entrys to watch*/
     31        LPNOTIFYREGISTER apidl; /* array of entries to watch*/
    3232        UINT cidl;              /* number of pidls in array */
    3333        LONG wEventMask;        /* subscribed events */
     
    185185
    186186/*************************************************************************
     187 * SHChangeNotifyUpdateEntryList                [SHELL32.5]
     188 */
     189BOOL WINAPI
     190SHChangeNotifyUpdateEntryList(DWORD unknown1, DWORD unknown2,
     191                              DWORD unknown3, DWORD unknown4)
     192{
     193        FIXME("(0x%08lx, 0x%08lx, 0x%08lx, 0x%08lx)\n",
     194              unknown1, unknown2, unknown3, unknown4);
     195
     196        return -1;
     197}
     198
     199/*************************************************************************
    187200 * SHChangeNotify                               [SHELL32.239]
    188201 */
  • trunk/src/shell32/classes.c

    r4121 r8048  
    1 /* $Id: classes.c,v 1.1 2000-08-30 13:52:50 sandervl Exp $ */
     1/* $Id: classes.c,v 1.2 2002-03-08 11:00:58 sandervl Exp $ */
    22/*
    33 *      file type mapping
     
    1717#include "winreg.h"
    1818
    19 #include "wine/obj_queryassociations.h"
    2019#include "shlobj.h"
    2120#include "shell32_main.h"
    2221#include "shlguid.h"
    2322#include "shresdef.h"
     23#include "wine/obj_queryassociations.h"
    2424
    2525DEFAULT_DEBUG_CHANNEL(shell);
     
    3232
    3333        TRACE("%s %p\n",szExtension, szFileType );
     34
     35        /* added because we do not want to have double dots */
     36        if (szExtension[0]=='.')
     37                bPrependDot=0;
    3438
    3539        if (bPrependDot)
     
    106110              strcpy(szDest, sTemp);
    107111            }
    108             if (ParseFieldA (szDest, 2, sNum, 5)) *dwNr=atoi(sNum);
     112            if (ParseFieldA (szDest, 2, sNum, 5))
     113               *dwNr=atoi(sNum);
     114            else
     115               *dwNr=0; /* sometimes the icon number is missing */
    109116            ParseFieldA (szDest, 1, szDest, len);
    110117            ret = TRUE;
  • trunk/src/shell32/clipboard.c

    r4121 r8048  
    1 /* $Id: clipboard.c,v 1.1 2000-08-30 13:52:50 sandervl Exp $ */
     1/* $Id: clipboard.c,v 1.2 2002-03-08 11:00:58 sandervl Exp $ */
    22/*
    33 *      clipboard helper functions
     
    2727#include <string.h>
    2828
    29 #include "debugtools.h"
    30 
     29#include "winreg.h"
    3130#include "pidl.h"
    3231#include "wine/undocshell.h"
    3332#include "shell32_main.h"
    34 #include "shell.h" /* DROPFILESTRUCT */
    35 
    36 DEFAULT_DEBUG_CHANNEL(shell)
     33#include "shlwapi.h"
     34
     35#include "debugtools.h"
     36
     37DEFAULT_DEBUG_CHANNEL(shell);
    3738
    3839static int refClipCount = 0;
     
    102103        char szFileName[MAX_PATH];
    103104        HGLOBAL hGlobal;
    104         LPDROPFILESTRUCT pDropFiles;
     105        DROPFILES *pDropFiles;
    105106        int offset;
    106107       
     
    108109
    109110        /* get the size needed */
    110         size = sizeof(DROPFILESTRUCT);
     111        size = sizeof(DROPFILES);
    111112
    112113        SHGetPathFromIDListA(pidlRoot, szRootPath);
     
    126127        if(!hGlobal) return hGlobal;
    127128
    128         pDropFiles = (LPDROPFILESTRUCT)GlobalLock(hGlobal);
    129         pDropFiles->lSize = sizeof(DROPFILESTRUCT);
    130         pDropFiles->fWideChar = FALSE;
    131 
    132         offset = pDropFiles->lSize;
     129        pDropFiles = (DROPFILES *)GlobalLock(hGlobal);
     130        pDropFiles->pFiles = sizeof(DROPFILES);
     131        pDropFiles->fWide = FALSE;
     132
     133        offset = pDropFiles->pFiles;
    133134        strcpy(szFileName, szRootPath);
    134135       
  • trunk/src/shell32/dataobject.c

    r4121 r8048  
    1 /* $Id: dataobject.c,v 1.1 2000-08-30 13:52:51 sandervl Exp $ */
     1/* $Id: dataobject.c,v 1.2 2002-03-08 11:00:58 sandervl Exp $ */
    22/*
    33 *      IEnumFORMATETC, IDataObject
     
    2020#include "wine/obj_dataobject.h"
    2121
    22 DEFAULT_DEBUG_CHANNEL(shell)
     22DEFAULT_DEBUG_CHANNEL(shell);
    2323
    2424/***********************************************************************
  • trunk/src/shell32/dbgwrap.cpp

    r7904 r8048  
    169169DEBUGWRAP4(ILGlobalFree)
    170170DEBUGWRAP4(ILCreateFromPathAW)
    171 DEBUGWRAP4(PathGetExtensionAW)
     171DEBUGWRAP12(PathGetExtensionAW)
    172172NODEF_DEBUGWRAP4(PathIsDirectoryAW)
    173173NODEF_DEBUGWRAP8(SHRunControlPanel)
  • trunk/src/shell32/enumidlist.c

    r7359 r8048  
    1 /* $Id: enumidlist.c,v 1.3 2001-11-16 12:57:45 phaller Exp $ */
     1/* $Id: enumidlist.c,v 1.4 2002-03-08 11:00:59 sandervl Exp $ */
    22/*
    33 *      IEnumIDList
     
    9191 *  CreateFolderEnumList()
    9292 */
    93 #ifdef __WIN32OS2__
     93#ifdef __WIN32OS2__TEST_TURNED_OFF
    9494//CB: Special version to speed up retrieving files in a directory
    9595
  • trunk/src/shell32/makefile

    r7904 r8048  
    1 # $Id: makefile,v 1.38 2002-02-14 12:10:08 sandervl Exp $
     1# $Id: makefile,v 1.39 2002-03-08 11:00:59 sandervl Exp $
    22
    33#
     
    3232$(OBJDIR)\initterm.obj \
    3333$(OBJDIR)\initshell32.obj \
     34$(OBJDIR)\os2_integration.obj \
    3435$(OBJDIR)\brsfolder.obj \
    3536$(OBJDIR)\changenotify.obj \
  • trunk/src/shell32/pidl.c

    r7904 r8048  
     1/* $Id: pidl.c,v 1.15 2002-03-08 11:00:59 sandervl Exp $ */
    12/*
    23 *      pidl Handling
     
    2526#include <string.h>
    2627#include "winbase.h"
    27 #include "debugtools.h"
     28#include "winreg.h"
    2829#include "shlguid.h"
    2930#include "winerror.h"
     
    3536
    3637#include "pidl.h"
     38#include "debugtools.h"
    3739
    3840DEFAULT_DEBUG_CHANNEL(pidl);
  • trunk/src/shell32/shell.c

    r7085 r8048  
    1 /* $Id: shell.c,v 1.2 2001-10-17 09:15:20 phaller Exp $ */
     1/* $Id: shell.c,v 1.3 2002-03-08 11:01:00 sandervl Exp $ */
    22/*
    33 *                              Shell Library Functions
     
    400400    /* First try to execute lpFile with lpParameters directly */
    401401    strcpy(cmd,lpFile);
    402     strcat(cmd,lpParameters ? lpParameters : "");
     402    if (lpParameters) {
     403        strcat(cmd, " " );
     404        strcat(cmd,lpParameters );
     405    }
    403406
    404407    retval = WinExec16( cmd, iShowCmd );
  • trunk/src/shell32/shell32.def

    r7904 r8048  
    1 ; $Id: shell32.def,v 1.36 2002-02-14 12:10:10 sandervl Exp $
     1; $Id: shell32.def,v 1.37 2002-03-08 11:01:00 sandervl Exp $
    22
    33; Based on Windows 95
     
    167167    ILGlobalGree                      = _ILGlobalFree@4                       @156
    168168    ILCreateFromPath                  = _ILCreateFromPathAW@4                 @157
    169     PathGetExtension                  = _PathGetExtensionAW@4                 @158
     169    PathGetExtension                  = _PathGetExtensionAW@12                @158
    170170    PathIsDirectory                   = _PathIsDirectoryAW@4                  @159
    171171;   SHNetConnectionDialog             = _SHNetConnectionDialog@?              @160
  • trunk/src/shell32/shell32_main.c

    r7085 r8048  
    1 /* $Id: shell32_main.c,v 1.6 2001-10-17 09:15:21 phaller Exp $ */
     1/* $Id: shell32_main.c,v 1.7 2002-03-08 11:01:00 sandervl Exp $ */
    22/*
    33 *                              Shell basics
     
    215215        LPITEMIDLIST    pidlLast = NULL, pidl = NULL;
    216216        HRESULT hr = S_OK;
     217        BOOL IconNotYetLoaded=TRUE;
    217218
    218219        TRACE("(%s fattr=0x%lx sfi=%p(attr=0x%08lx) size=0x%x flags=0x%x)\n",
     
    337338        if (SUCCEEDED(hr) && (flags & SHGFI_TYPENAME))
    338339        {
    339           _ILGetFileType(pidlLast, psfi->szTypeName, 80);
     340            if (!(flags & SHGFI_USEFILEATTRIBUTES))
     341                _ILGetFileType(pidlLast, psfi->szTypeName, 80);
     342            else
     343            {
     344                char sTemp[64];
     345                strcpy(sTemp,PathFindExtensionA(path));
     346                if (!( HCR_MapTypeToValue(sTemp, sTemp, 64, TRUE)
     347                       && HCR_MapTypeToValue(sTemp, psfi->szTypeName, 80, FALSE )))
     348                {
     349                    lstrcpynA (psfi->szTypeName, sTemp, 80 - 6);
     350                    strcat (psfi->szTypeName, "-file");
     351                }
     352            }
    340353        }
    341354
     
    359372          {
    360373            hr = IExtractIconA_GetIconLocation(pei, (flags & SHGFI_OPENICON)? GIL_OPENICON : 0,szLoaction, MAX_PATH, &iIndex, &uFlags);
    361             /* fixme what to do with the index? */
     374            /* FIXME what to do with the index? */
    362375
    363376            if(uFlags != GIL_NOTFILENAME)
     
    373386        if (SUCCEEDED(hr) && (flags & (SHGFI_ICON | SHGFI_SYSICONINDEX)))
    374387        {
     388
    375389          if (flags & SHGFI_USEFILEATTRIBUTES)
    376390          {
     
    388402                strcpy(sTemp, path);
    389403              }
    390               /* FIXME: if sTemp contains a valid filename, get the icon
    391                  from there, index is in dwNr
    392               */
    393               psfi->iIcon = 2;
     404              IconNotYetLoaded=FALSE;
     405              psfi->iIcon = 0;
     406              if (SHGFI_LARGEICON)
     407                PrivateExtractIconsA(sTemp,dwNr,GetSystemMetrics(SM_CXICON),
     408                                     GetSystemMetrics(SM_CYICON),
     409                                     &psfi->hIcon,0,1,0);
     410              else
     411                PrivateExtractIconsA(sTemp,dwNr,GetSystemMetrics(SM_CXSMICON),
     412                                     GetSystemMetrics(SM_CYSMICON),
     413                                     &psfi->hIcon,0,1,0);
    394414            }
    395415            else                                  /* default icon */
     
    413433
    414434        /* icon handle */
    415         if (SUCCEEDED(hr) && (flags & SHGFI_ICON))
     435        if (SUCCEEDED(hr) && (flags & SHGFI_ICON) && IconNotYetLoaded)
    416436          psfi->hIcon = ImageList_GetIcon((flags & SHGFI_LARGEICON) ? ShellBigIconList:ShellSmallIconList, psfi->iIcon, ILD_NORMAL);
    417437
     
    432452        return ret;
    433453}
     454
    434455/*************************************************************************
    435456 * SHGetFileInfoW                       [SHELL32.@]
     
    462483
    463484/*************************************************************************
    464  * SHGetFileInfoAW                      [SHELL32.@]
     485 * SHGetFileInfo                        [SHELL32.@]
    465486 */
    466487DWORD WINAPI SHGetFileInfoAW(
  • trunk/src/shell32/shell32_odin.cpp

    r7904 r8048  
    1 /* $Id: shell32_odin.cpp,v 1.3 2002-02-14 12:10:10 sandervl Exp $ */
     1/* $Id: shell32_odin.cpp,v 1.4 2002-03-08 11:01:00 sandervl Exp $ */
    22
    33/*
     
    5555#include <ctype.h>
    5656#include <module.h>
     57
     58#include "os2_integration.h"
     59
    5760
    5861/*****************************************************************************
     
    982985                                 LPCSTR lpDirectory,
    983986                                 INT    iShowCmd )
    984 {   HINSTANCE retval=31;
    985     char old_dir[1024];
    986     char cmd[256];
    987 
    988     if (lpFile==NULL) return 0; /* should not happen */
    989     if (lpOperation==NULL) /* default is open */
    990       lpOperation="open";
    991 
    992     if (lpDirectory)
    993     { GetCurrentDirectoryA( sizeof(old_dir), old_dir );
    994         SetCurrentDirectoryA( lpDirectory );
    995     }
    996 
    997     cmd[0] = '\0';
    998     retval = SHELL_FindExecutable( lpFile, lpOperation, cmd );
    999 
    1000     if (retval > 32)  /* Found */
     987{
     988  HINSTANCE retval=31;
     989  char old_dir[1024];
     990  char cmd[256];
     991  LONG cmdlen = sizeof( cmd );
     992  LPSTR tok;
     993
     994  if (lpFile==NULL)
     995    return 0; /* should not happen */
     996 
     997  if (lpOperation==NULL) /* default is open */
     998    lpOperation="open";
     999
     1000  if (lpDirectory)
     1001  {
     1002    // @@@PH 2002-02-26 might throw whole process off track
     1003    // in case of concurrency
     1004    GetCurrentDirectoryA( sizeof(old_dir), old_dir );
     1005    SetCurrentDirectoryA( lpDirectory );
     1006  }
     1007
     1008  cmd[0] = '\0';
     1009  retval = SHELL_FindExecutable( lpFile, lpOperation, cmd );
     1010
     1011  if (retval > 32)  /* Found */
     1012  {
     1013    if (lpParameters)
    10011014    {
    1002         if (lpParameters)
    1003         {
    1004             strcat(cmd," ");
    1005             strcat(cmd,lpParameters);
    1006         }
    1007 
    1008         dprintf(("starting %s\n",cmd));
    1009         retval = WinExec( cmd, iShowCmd );
    1010     }
    1011     else if(PathIsURLA((LPSTR)lpFile))    /* File not found, check for URL */
     1015      strcat(cmd," ");
     1016      strcat(cmd,lpParameters);
     1017    }
     1018
     1019    dprintf(("starting %s\n",cmd));
     1020    retval = WinExec( cmd, iShowCmd );
     1021  }
     1022  else
     1023  {
     1024    // - path might be an URL
     1025    // - argument might be associated with some class / app
     1026
     1027    // 2002-02-26 PH
     1028    // File Extension Association is missing. We'd have to lookup
     1029    // i. e. ".doc" and create the command.
     1030    // @@@PH
     1031
     1032    // build lookup key
     1033    char lpstrShellSubkey[256] = "\\shell\\";
     1034    /* Looking for ...protocol\shell\lpOperation\command */
     1035    strcat( lpstrShellSubkey, lpOperation );
     1036    strcat( lpstrShellSubkey, "\\command" );
     1037
     1038    // First, check for URL association
     1039    if(PathIsURLA((LPSTR)lpFile))    /* File not found, check for URL */
    10121040    {
    1013       char lpstrProtocol[256];
    1014       LONG cmdlen = 512;
    10151041      LPSTR lpstrRes;
    10161042      INT iSize;
    10171043
    10181044      lpstrRes = strchr(lpFile,':');
    1019       iSize = lpstrRes - lpFile;
    1020 
    1021       /* Looking for ...protocol\shell\lpOperation\command */
    1022       strncpy(lpstrProtocol,lpFile,iSize);
    1023       lpstrProtocol[iSize]='\0';
    1024       strcat( lpstrProtocol, "\\shell\\" );
    1025       strcat( lpstrProtocol, lpOperation );
    1026       strcat( lpstrProtocol, "\\command" );
    1027 
    1028       /* Remove File Protocol from lpFile */
    1029       /* In the case file://path/file     */
    1030       if(!strnicmp(lpFile,"file",iSize))
     1045      if (NULL != lpstrRes)
    10311046      {
    1032         lpFile += iSize;
    1033         while(*lpFile == ':') lpFile++;
    1034       }
    1035 
    1036 
    1037       /* Get the application for the protocol and execute it */
    1038       if (RegQueryValueA( HKEY_CLASSES_ROOT, lpstrProtocol, cmd,
     1047        char szProtocol[256];
     1048       
     1049        iSize = lpstrRes - lpFile;
     1050 
     1051        strncpy(szProtocol,
     1052                lpFile,
     1053                min( sizeof( szProtocol ), iSize) );
     1054 
     1055        /* Remove File Protocol from lpFile */
     1056        /* In the case file://path/file     */
     1057        if(!strnicmp(lpFile,"file",iSize))
     1058        {
     1059          lpFile += iSize;
     1060          while(*lpFile == ':') lpFile++;
     1061        }
     1062 
     1063        /* Get the application for the protocol and execute it */
     1064        if (RegQueryValueA(HKEY_CLASSES_ROOT,
     1065                           szProtocol,
     1066                           cmd,
    10391067                           &cmdlen ) == ERROR_SUCCESS )
    1040       {
    1041           LPSTR tok;
     1068        {
    10421069          LPSTR tmp;
    10431070          char param[256] = "";
    10441071          LONG paramlen = 256;
    1045 
     1072 
    10461073          /* Get the parameters needed by the application
    10471074             from the associated ddeexec key */
    1048           tmp = strstr(lpstrProtocol,"command");
     1075          tmp = strstr(szProtocol,"command");
    10491076          tmp[0] = '\0';
    1050           strcat(lpstrProtocol,"ddeexec");
    1051 
    1052           if(RegQueryValueA( HKEY_CLASSES_ROOT, lpstrProtocol, param,&paramlen ) == ERROR_SUCCESS)
     1077          strcat(szProtocol,"ddeexec");
     1078 
     1079          if(RegQueryValueA(HKEY_CLASSES_ROOT,
     1080                            szProtocol,
     1081                            param,
     1082                            &paramlen ) == ERROR_SUCCESS)
    10531083          {
    10541084            strcat(cmd," ");
     
    10561086            cmdlen += paramlen;
    10571087          }
    1058 
    1059           /* Is there a replace() function anywhere? */
    1060           cmd[cmdlen]='\0';
    1061           tok=strstr( cmd, "%1" );
    1062           if (tok != NULL)
     1088        }
     1089      }
     1090    }
     1091
     1092
     1093    // Second, check for filename extension association
     1094    if (0 == cmd[0])
     1095    {
     1096      LPSTR lpstrRDot = strrchr(lpFile, '.');
     1097      if (NULL != lpstrRDot)
     1098      {
     1099        char szAssociation[256];
     1100        LONG lAssociationLen = sizeof( szAssociation );
     1101
     1102        // lookup associated application (or COM object) for
     1103        // this extension
     1104        if (RegQueryValueA(HKEY_CLASSES_ROOT,
     1105                           lpstrRDot,
     1106                           szAssociation,
     1107                           &lAssociationLen) == ERROR_SUCCESS)
     1108        {
     1109          // append the shell subkey
     1110          strcat(szAssociation, lpstrShellSubkey);
     1111          lAssociationLen = sizeof( szAssociation );
     1112
     1113          // lookup application for retrieved association
     1114          if (RegQueryValueA(HKEY_CLASSES_ROOT,
     1115                             szAssociation,
     1116                             cmd,
     1117                             &cmdlen) == ERROR_SUCCESS)
    10631118          {
    1064             tok[0]='\0'; /* truncate string at the percent */
    1065             strcat( cmd, lpFile ); /* what if no dir in xlpFile? */
    1066             tok=strstr( cmd, "%1" );
    1067             if ((tok!=NULL) && (strlen(tok)>2))
    1068             {
    1069               strcat( cmd, &tok[2] );
    1070             }
    1071           }
    1072 
    1073           retval = WinExec( cmd, iShowCmd );
     1119            // received cmd now
     1120          }
     1121        }
    10741122      }
    10751123    }
    1076     /* Check if file specified is in the form www.??????.*** */
    1077     else if(!strnicmp(lpFile,"www",3))
     1124     
     1125     
     1126#ifdef __WIN32OS2__
     1127    if (0 == cmd[0])
    10781128    {
    1079       /* if so, append lpFile http:// and call ShellExecute */
    1080       char lpstrTmpFile[256] = "http://" ;
    1081       strcat(lpstrTmpFile,lpFile);
    1082       retval = ShellExecuteA(hWnd,lpOperation,lpstrTmpFile,NULL,NULL,0);
    1083     }
     1129      // OS/2 specific addon:
     1130      // if no windows association is found, pass on to the workplace shell
     1131      // eventually.
     1132      retval = ShellExecuteOS2(hWnd,
     1133                               lpOperation,
     1134                               lpFile,
     1135                               lpParameters,
     1136                               lpDirectory,
     1137                               iShowCmd);
     1138    }
     1139#endif
     1140
     1141    if (0 != cmd[0])
     1142    {
     1143      // resolve the parameters
     1144      // @@@PH 2002-02-26 there might be more than one parameter only
     1145      /* Is there a replace() function anywhere? */
     1146      tok=strstr( cmd, "%1" );
     1147      if (tok != NULL)
     1148      {
     1149        tok[0]='\0'; /* truncate string at the percent */
     1150        strcat( cmd, lpFile ); /* what if no dir in xlpFile? */
     1151        tok=strstr( cmd, "%1" );
     1152        if ((tok!=NULL) && (strlen(tok)>2))
     1153        {
     1154          strcat( cmd, &tok[2] );
     1155        }
     1156      }
     1157    }
     1158
    10841159    /* Nothing was done yet, try to execute the cmdline directly,
    1085        maybe it's an OS/2 program */
    1086     else
     1160     maybe it's an OS/2 program */
     1161    if (0 == cmd[0])
    10871162    {
    10881163      strcpy(cmd,lpFile);
    10891164      strcat(cmd,lpParameters ? lpParameters : "");
    1090       retval = WinExec( cmd, iShowCmd );
    1091     }
    1092 
    1093     if (lpDirectory)
    1094       SetCurrentDirectoryA( old_dir );
    1095     return retval;
     1165    }
     1166     
     1167    // now launch ... something :)
     1168    retval = WinExec( cmd, iShowCmd );
     1169  }
     1170
     1171  if (lpDirectory)
     1172    SetCurrentDirectoryA( old_dir );
     1173 
     1174  return retval;
    10961175}
    10971176
  • trunk/src/shell32/shell32dbg.def

    r7904 r8048  
    1 ; $Id: shell32dbg.def,v 1.1 2002-02-14 12:10:11 sandervl Exp $
     1; $Id: shell32dbg.def,v 1.2 2002-03-08 11:01:01 sandervl Exp $
    22
    33; Based on Windows 95
     
    167167    ILGlobalGree                      = _DbgILGlobalFree@4                       @156
    168168    ILCreateFromPath                  = _DbgILCreateFromPathAW@4                 @157
    169     PathGetExtension                  = _DbgPathGetExtensionAW@4                 @158
     169    PathGetExtension                  = _DbgPathGetExtensionAW@12                @158
    170170    PathIsDirectory                   = _DbgPathIsDirectoryAW@4                  @159
    171171;   SHNetConnectionDialog             = _DbgSHNetConnectionDialog@?              @160
  • trunk/src/shell32/shelllink.c

    r7508 r8048  
    118118#include "poppack.h"
    119119
     120typedef struct
     121{
     122        HRSRC *pResInfo;
     123        int   nIndex;
     124} ENUMRESSTRUCT;
    120125
    121126static ICOM_VTABLE(IShellLinkA)         slvt;
     
    162167#define _ICOM_THIS_From_IPersistStream(class, name) class* This = (class*)(((char*)name)-_IPersistStream_Offset);
    163168#define _IPersistStream_From_ICOM_THIS(class, name) class* StreamThis = (class*)(((char*)name)+_IPersistStream_Offset);
     169
     170
     171/* strdup on the process heap */
     172inline static LPSTR heap_strdup( LPCSTR str )
     173{
     174    INT len = strlen(str) + 1;
     175    LPSTR p = HeapAlloc( GetProcessHeap(), 0, len );
     176    if (p) memcpy( p, str, len );
     177    return p;
     178}
     179
    164180
    165181/**************************************************************************
     
    364380static BOOL CALLBACK EnumResNameProc(HANDLE hModule, const char *lpszType, char *lpszName, LONG lParam)
    365381{
    366     *(HRSRC *) lParam = FindResourceA(hModule, lpszName, RT_GROUP_ICONA);
    367     return FALSE;
    368 }
     382        ENUMRESSTRUCT *sEnumRes = (ENUMRESSTRUCT *) lParam;
     383   
     384        if (!sEnumRes->nIndex--)
     385        {
     386                *sEnumRes->pResInfo = FindResourceA(hModule, lpszName, RT_GROUP_ICONA);
     387                return FALSE;
     388        }
     389        else
     390                return TRUE;
     391}
     392
    369393
    370394static int ExtractFromEXEDLL(const char *szFileName, int nIndex, const char *szXPMFileName)
     
    448472#else
    449473    for (i = 0; i < pIconDir->idCount; i++)
    450         if ((pIconDir->idEntries[i].bHeight * pIconDir->idEntries[i].bWidth) > nMax)
     474        if ((pIconDir->idEntries[i].wBitCount >= nMaxBits) && (pIconDir->idEntries[i].wBitCount <= 8))
    451475        {
    452             lpName = MAKEINTRESOURCEA(pIconDir->idEntries[i].nID);
    453             nMax = pIconDir->idEntries[i].bHeight * pIconDir->idEntries[i].bWidth;
     476          if (pIconDir->idEntries[i].wBitCount > nMaxBits)
     477          {
     478              nMaxBits = pIconDir->idEntries[i].wBitCount;
     479              nMax = 0;
     480          }
     481          if ((pIconDir->idEntries[i].bHeight * pIconDir->idEntries[i].bWidth) > nMax)
     482          {
     483              lpName = MAKEINTRESOURCEA(pIconDir->idEntries[i].nID);
     484              nMax = pIconDir->idEntries[i].bHeight * pIconDir->idEntries[i].bWidth;
     485          }
    454486        }
    455487
     
    480512
    481513done:
     514
    482515    FreeResource(hResData);
    483516    FreeLibrary(hModule);
     
    565598
    566599    if (!wine_get_unix_file_name( dos, buffer, sizeof(buffer) )) return NULL;
    567     return HEAP_strdupA( GetProcessHeap(), 0, buffer );
     600    return heap_strdup( buffer );
    568601}
    569602
     
    594627static char *extract_icon( const char *path, int index)
    595628{
    596     char *filename = HEAP_strdupA( GetProcessHeap(), 0, tmpnam(NULL) );
     629    char *filename = heap_strdup( tmpnam(NULL) );
    597630    if (ExtractFromEXEDLL( path, index, filename )) return filename;
    598631    if (ExtractFromICO( path, filename )) return filename;
     
    602635}
    603636#endif
     637
    604638
    605639static HRESULT WINAPI IPersistFile_fnSave(IPersistFile* iface, LPCOLESTR pszFileName, BOOL fRemember)
     
    709743    }
    710744    if (!*buffer) return NOERROR;
    711     shell_link_app = HEAP_strdupA( GetProcessHeap(), 0, buffer );
     745    shell_link_app = heap_strdup( buffer );
    712746
    713747    if (!WideCharToMultiByte( CP_ACP, 0, pszFileName, -1, buffer, sizeof(buffer), NULL, NULL))
    714748        return ERROR_UNKNOWN;
    715749    GetFullPathNameA( buffer, sizeof(buff2), buff2, NULL );
    716     filename = HEAP_strdupA( GetProcessHeap(), 0, buff2 );
     750    filename = heap_strdup( buff2 );
    717751
    718752    if (SHGetSpecialFolderPathA( 0, buffer, CSIDL_STARTUP, FALSE ))
     
    962996
    963997                    SHGetPathFromIDListA(&lpLinkHeader->Pidl, sTemp);
    964                     This->sPath = HEAP_strdupA ( GetProcessHeap(), 0, sTemp);
     998                    This->sPath = heap_strdup( sTemp );
    965999                  }
    9661000                  This->wHotKey = lpLinkHeader->wHotKey;
     
    11261160            HeapFree(GetProcessHeap(), 0, This->sArgs);
    11271161
    1128 
    11291162          if (This->sWorkDir)
    11301163            HeapFree(GetProcessHeap(), 0, This->sWorkDir);
     
    11991232        if (This->sDescription)
    12001233            HeapFree(GetProcessHeap(), 0, This->sDescription);
    1201         if (!(This->sDescription = HEAP_strdupA(GetProcessHeap(), 0, pszName)))
     1234        if (!(This->sDescription = heap_strdup(pszName)))
    12021235            return E_OUTOFMEMORY;
    12031236
     
    12221255        if (This->sWorkDir)
    12231256            HeapFree(GetProcessHeap(), 0, This->sWorkDir);
    1224         if (!(This->sWorkDir = HEAP_strdupA(GetProcessHeap(), 0, pszDir)))
     1257        if (!(This->sWorkDir = heap_strdup(pszDir)))
    12251258            return E_OUTOFMEMORY;
    12261259
     
    12451278        if (This->sArgs)
    12461279            HeapFree(GetProcessHeap(), 0, This->sArgs);
    1247         if (!(This->sArgs = HEAP_strdupA(GetProcessHeap(), 0, pszArgs)))
     1280        if (!(This->sArgs = heap_strdup(pszArgs)))
    12481281            return E_OUTOFMEMORY;
    12491282
     
    13041337        if (This->sIcoPath)
    13051338            HeapFree(GetProcessHeap(), 0, This->sIcoPath);
    1306         if (!(This->sIcoPath = HEAP_strdupA(GetProcessHeap(), 0, pszIconPath)))
     1339        if (!(This->sIcoPath = heap_strdup(pszIconPath)))
    13071340            return E_OUTOFMEMORY;       
    13081341        This->iIcoNdx = iIcon;
     
    13321365        if (This->sPath)
    13331366            HeapFree(GetProcessHeap(), 0, This->sPath);
    1334         if (!(This->sPath = HEAP_strdupA(GetProcessHeap(), 0, pszFile)))
     1367        if (!(This->sPath = heap_strdup(pszFile)))
    13351368            return E_OUTOFMEMORY;
    13361369       
  • trunk/src/shell32/shellord.c

    r7904 r8048  
    4141#include "undocshell.h"
    4242#endif
     43#include "pidl.h"
     44#include "shlwapi.h"
     45#include "commdlg.h"
    4346
    4447DEFAULT_DEBUG_CHANNEL(shell);
     
    8184 * ParseFieldW                  [internal]
    8285 *
    83  * copys a field from a ',' delimited string
     86 * copies a field from a ',' delimited string
    8487 *
    8588 * first field is nField = 1
     
    106109 *
    107110 */
    108 BOOL WIN32API GetFileNameFromBrowse(HWND hwndOwner, LPSTR lpstrFile,
    109                                     DWORD nMaxFile, LPCSTR lpstrInitialDir,
    110                                     LPCSTR lpstrDefExt, LPCSTR lpstrFilter,
     111BOOL WINAPI GetFileNameFromBrowse(
     112        HWND hwndOwner,
     113        LPSTR lpstrFile,
     114        DWORD nMaxFile,
     115        LPCSTR lpstrInitialDir,
     116        LPCSTR lpstrDefExt,
     117        LPCSTR lpstrFilter,
    111118                                    LPCSTR lpstrTitle)
    112119{
    113         FIXME("(%04x,%s,%ld,%s,%s,%s,%s):stub.\n",
     120    HMODULE hmodule;
     121    FARPROC pGetOpenFileNameA;
     122    OPENFILENAMEA ofn;
     123    BOOL ret;
     124
     125    TRACE("%04x, %s, %ld, %s, %s, %s, %s)\n",
    114126          hwndOwner, lpstrFile, nMaxFile, lpstrInitialDir, lpstrDefExt,
    115127          lpstrFilter, lpstrTitle);
    116128
    117     /* puts up a Open Dialog and requests input into targetbuf */
    118129    /* OFN_HIDEREADONLY|OFN_NOCHANGEDIR|OFN_FILEMUSTEXIST|OFN_unknown */
    119     strcpy(lpstrFile,"x:\\dummy.exe");
    120     return 1;
     130    hmodule = LoadLibraryA("comdlg32.dll");
     131    if(!hmodule) return FALSE;
     132    pGetOpenFileNameA = GetProcAddress(hmodule, "GetOpenFileNameA");
     133    if(!pGetOpenFileNameA)
     134    {
     135        FreeLibrary(hmodule);
     136        return FALSE;
     137    }
     138
     139    memset(&ofn, 0, sizeof(ofn));
     140
     141    ofn.lStructSize = sizeof(ofn);
     142    ofn.hwndOwner = hwndOwner;
     143    ofn.lpstrFilter = lpstrFilter;
     144    ofn.lpstrFile = lpstrFile;
     145    ofn.nMaxFile = nMaxFile;
     146    ofn.lpstrInitialDir = lpstrInitialDir;
     147    ofn.lpstrTitle = lpstrTitle;
     148    ofn.lpstrDefExt = lpstrDefExt;
     149    ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST;
     150    ret = pGetOpenFileNameA(&ofn);
     151   
     152    FreeLibrary(hmodule);
     153    return ret;
    121154}
    122155
     
    348381#endif
    349382 
    350 #if __WIN32OS2_
     383#if __WIN32OS2__
    351384  HEAP_free(x);
    352385#else
     
    10301063          /* the commandline contains 'c:\Path\wordpad.exe "%1"' */
    10311064          HCR_GetExecuteCommand(sei->lpClass, (sei->lpVerb) ? sei->lpVerb : "open", szCommandline, sizeof(szCommandline));
    1032           /* fixme: get the extension of lpFile, check if it fits to the lpClass */
     1065          /* FIXME: get the extension of lpFile, check if it fits to the lpClass */
    10331066          TRACE("SEE_MASK_CLASSNAME->'%s'\n", szCommandline);
    10341067        }
     
    10641097        TRACE("execute:'%s','%s'\n",szApplicationName, szCommandline);
    10651098
    1066         strcat(szApplicationName, " ");
    1067         strcat(szApplicationName, szCommandline);
     1099        if (szCommandline[0]) {
     1100                strcat(szApplicationName, " ");
     1101                strcat(szApplicationName, szCommandline);
     1102        }
    10681103
    10691104        ZeroMemory(&startup,sizeof(STARTUPINFOA));
     
    10721107        if (! CreateProcessA(NULL, szApplicationName,
    10731108                         NULL, NULL, FALSE, 0,
    1074                          NULL, NULL, &startup, &info))
     1109                         NULL, sei->lpDirectory,
     1110                        &startup, &info))
    10751111        {
    10761112          sei->hInstApp = GetLastError();
     
    12631299 *  parameter1 is return value from SHAllocShared
    12641300 *  parameter2 is return value from GetCurrentProcessId
    1265  *  the receiver of (WM_USER+2) trys to lock the HANDLE (?)
    1266  *  the returnvalue seems to be a memoryadress
     1301 *  the receiver of (WM_USER+2) tries to lock the HANDLE (?)
     1302 *  the return value seems to be a memory address
    12671303 */
    12681304LPVOID WINAPI SHLockShared(HANDLE hmem, DWORD procID)
  • trunk/src/shell32/shellpath.c

    r7085 r8048  
    123123 * PathGetExtensionAW           [SHELL32.158]
    124124 */
    125 LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath)
     125LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2)
    126126{
    127127        if (SHELL_OsIsUnicode())
     
    824824        "PrintHood"
    825825    },
    826     { /* CSIDL_LOCAL_APPDATA */
    827         0, 0, /* FIXME */
    828         NULL,
    829         NULL,
     826    { /* CSIDL_LOCAL_APPDATA (win2k only/undocumented) */
     827        1, HKCU,
     828        "Local AppData",
     829        "Local Settings\\Application Data",
    830830    },
    831831    { /* CSIDL_ALTSTARTUP */
  • trunk/src/shell32/shellstring.c

    r6709 r8048  
    66#include "winnls.h"
    77#include "winerror.h"
    8 #include "debugtools.h"
    9 #include "heap.h"
     8#include "winreg.h"
    109
    1110#include "shlobj.h"
    12 #include "shlwapi.h"
    1311#include "shellapi.h"
    1412#include "shell32_main.h"
    1513#include "wine/undocshell.h"
    1614#include "wine/unicode.h"
     15#include "debugtools.h"
    1716
    1817DEFAULT_DEBUG_CHANNEL(shell);
    1918
    2019/************************* STRRET functions ****************************/
     20
     21/*
     22 * ***** NOTE *****
     23 *  These routines are identical to StrRetToBuf[AW] in dlls/shlwapi/string.c.
     24 *  They were duplicated here because not every version of Shlwapi.dll exports
     25 *  StrRetToBuf[AW]. If you change one routine, change them both. YOU HAVE BEEN
     26 *  WARNED.
     27 * ***** NOTE *****
     28 */
     29
     30HRESULT WINAPI StrRetToStrNA (LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl)
     31{
     32        TRACE("dest=0x%p len=0x%lx strret=0x%p pidl=%p stub\n",dest,len,src,pidl);
     33
     34        switch (src->uType)
     35        {
     36          case STRRET_WSTR:
     37            WideCharToMultiByte(CP_ACP, 0, src->u.pOleStr, -1, (LPSTR)dest, len, NULL, NULL);
     38/*          SHFree(src->u.pOleStr);  FIXME: is this right? */
     39            break;
     40
     41          case STRRET_CSTRA:
     42            lstrcpynA((LPSTR)dest, src->u.cStr, len);
     43            break;
     44
     45          case STRRET_OFFSETA:
     46            lstrcpynA((LPSTR)dest, ((LPCSTR)&pidl->mkid)+src->u.uOffset, len);
     47            break;
     48
     49          default:
     50            FIXME("unknown type!\n");
     51            if (len)
     52            {
     53              *(LPSTR)dest = '\0';
     54            }
     55            return(FALSE);
     56        }
     57        return S_OK;
     58}
     59
     60/************************************************************************/
     61
     62HRESULT WINAPI StrRetToStrNW (LPVOID dest1, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl)
     63{
     64    LPWSTR dest = (LPWSTR) dest1;
     65        TRACE("dest=0x%p len=0x%lx strret=0x%p pidl=%p stub\n",dest,len,src,pidl);
     66
     67        switch (src->uType)
     68        {
     69          case STRRET_WSTR:
     70            lstrcpynW((LPWSTR)dest, src->u.pOleStr, len);
     71/*          SHFree(src->u.pOleStr);  FIXME: is this right? */
     72            break;
     73
     74          case STRRET_CSTRA:
     75              if (!MultiByteToWideChar( CP_ACP, 0, src->u.cStr, -1, dest, len ) && len)
     76                  dest[len-1] = 0;
     77            break;
     78
     79          case STRRET_OFFSETA:
     80            if (pidl)
     81            {
     82              if (!MultiByteToWideChar( CP_ACP, 0, ((LPCSTR)&pidl->mkid)+src->u.uOffset, -1,
     83                                        dest, len ) && len)
     84                  dest[len-1] = 0;
     85            }
     86            break;
     87
     88          default:
     89            FIXME("unknown type!\n");
     90            if (len)
     91            { *(LPSTR)dest = '\0';
     92            }
     93            return(FALSE);
     94        }
     95        return S_OK;
     96}
     97
    2198
    2299/*************************************************************************
     
    28105 *  the pidl is for STRRET OFFSET
    29106 */
    30 HRESULT WINAPI StrRetToStrNA (LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl)
    31 {
    32         return StrRetToBufA( src, pidl, dest, len );
    33 }
    34 
    35 HRESULT WINAPI StrRetToStrNW (LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl)
    36 {
    37         return StrRetToBufW( src, pidl, dest, len );
    38 }
    39 
    40107HRESULT WINAPI StrRetToStrNAW (LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl)
    41108{
     
    127194        return OleStrToStrNA (lpOut, nOut, lpIn, nIn);
    128195}
     196
     197
     198/*************************************************************************
     199 * CheckEscapes [SHELL32]
     200 */
     201DWORD WINAPI CheckEscapesA(
     202    LPSTR    string,         /* [in]    string to check ??*/
     203           DWORD    b,              /* [???]   is 0 */
     204           DWORD    c,              /* [???]   is 0 */
     205           LPDWORD  d,              /* [???]   is address */
     206           LPDWORD  e,              /* [???]   is address */
     207           DWORD    handle )        /* [in]    looks like handle but not */
     208{
     209    FIXME("(%p<%s> %ld %ld %p<%ld> %p<%ld> 0x%08lx) stub\n",
     210   string, debugstr_a(string),
     211   b,
     212   c,
     213   d, (d) ? *d : 0xabbacddc,
     214   e, (e) ? *e : 0xabbacddd,
     215   handle);
     216    return 0;
     217}
     218
     219DWORD WINAPI CheckEscapesW(
     220    LPWSTR   string,         /* [in]    string to check ??*/
     221           DWORD    b,              /* [???]   is 0 */
     222           DWORD    c,              /* [???]   is 0 */
     223           LPDWORD  d,              /* [???]   is address */
     224           LPDWORD  e,              /* [???]   is address */
     225           DWORD    handle )        /* [in]    looks like handle but not */
     226{
     227    FIXME("(%p<%s> %ld %ld %p<%ld> %p<%ld> 0x%08lx) stub\n",
     228   string, debugstr_w(string),
     229   b,
     230   c,
     231   d, (d) ? *d : 0xabbacddc,
     232   e, (e) ? *e : 0xabbacddd,
     233   handle);
     234    return 0;
     235}
  • trunk/src/shell32/shlfolder.c

    r7359 r8048  
    15371537            if (! SHELL_DeleteDirectoryA(szPath, bConfirm))
    15381538            {
    1539               TRACE("delete %s failed, bConfirm=%d", szPath, bConfirm);
     1539              TRACE("delete %s failed, bConfirm=%d\n", szPath, bConfirm);
    15401540              return E_FAIL;
    15411541            }
     
    15511551            if (! SHELL_DeleteFileA(szPath, bConfirm))
    15521552            {
    1553               TRACE("delete %s failed, bConfirm=%d", szPath, bConfirm);
     1553              TRACE("delete %s failed, bConfirm=%d\n", szPath, bConfirm);
    15541554              return E_FAIL;
    15551555            }
     
    15661566 * ISFHelper_fnCopyItems
    15671567 *
    1568  * copys items to this folder
     1568 * copies items to this folder
    15691569 */
    15701570static HRESULT WINAPI ISFHelper_fnCopyItems(
     
    17211721        if (pchEaten) *pchEaten = 0;    /* strange but like the original */
    17221722       
    1723         /* fixme no real parsing implemented */
     1723        /* FIXME no real parsing implemented */
    17241724        pidlTemp = _ILCreateMyComputer();
    17251725        szNext = lpszDisplayName;
     
    17781778        GUID            const * clsid;
    17791779        IShellFolder    *pShellFolder, *pSubFolder;
     1780        HRESULT         hr;
    17801781       
    17811782        TRACE("(%p)->(pidl=%p,%p,\n\tIID:\t%s,%p)\n",
     
    18241825        {
    18251826          *ppvOut = pShellFolder;
     1827          hr = S_OK;
    18261828        }
    18271829        else                            /* go deeper */
    18281830        {
    1829           IShellFolder_BindToObject(pShellFolder, ILGetNext(pidl), NULL, riid, (LPVOID)&pSubFolder);
     1831          hr = IShellFolder_BindToObject(pShellFolder, ILGetNext(pidl), NULL, riid, (LPVOID)&pSubFolder);
    18301832          IShellFolder_Release(pShellFolder);
    18311833          *ppvOut = pSubFolder;
    18321834        }
    18331835
    1834         TRACE("-- (%p) returning (%p)\n",This, *ppvOut);
    1835 
    1836         return S_OK;
     1836        TRACE("-- (%p) returning (%p) %08lx\n",This, *ppvOut, hr);
     1837
     1838        return hr;
    18371839}
    18381840
     
    22202222        IShellFolder    *pShellFolder, *pSubFolder;
    22212223        LPITEMIDLIST    pidltemp;
     2224        HRESULT         hr;
    22222225       
    22232226        TRACE("(%p)->(pidl=%p,%p,\n\tIID:\t%s,%p)\n",
     
    22472250        {
    22482251          *ppvOut = pShellFolder;
     2252          hr = S_OK;
    22492253        }
    22502254        else                            /* go deeper */
    22512255        {
    2252           IShellFolder_BindToObject(pShellFolder, ILGetNext(pidl), NULL, &IID_IShellFolder, (LPVOID)&pSubFolder);
     2256          hr = IShellFolder_BindToObject(pShellFolder, ILGetNext(pidl), NULL,
     2257                                         riid, (LPVOID)&pSubFolder);
    22532258          IShellFolder_Release(pShellFolder);
    22542259          *ppvOut = pSubFolder;
    22552260        }
    22562261
    2257         TRACE("-- (%p) returning (%p)\n",This, *ppvOut);
    2258 
    2259         return S_OK;
     2262        TRACE("-- (%p) returning (%p) %08lx\n",This, *ppvOut, hr);
     2263
     2264        return hr;
    22602265}
    22612266
  • trunk/src/shell32/shlview.c

    r6709 r8048  
    139139typedef void (* CALLBACK PFNSHGETSETTINGSPROC)(LPSHELLFLAGSTATE lpsfs, DWORD dwMask);
    140140#else
    141 typedef void CALLBACK (*PFNSHGETSETTINGSPROC)(LPSHELLFLAGSTATE lpsfs, DWORD dwMask);
     141typedef void (CALLBACK *PFNSHGETSETTINGSPROC)(LPSHELLFLAGSTATE lpsfs, DWORD dwMask);
    142142#endif
    143143
     
    536536          ListView_SetItemA(This->hWndList, &lvItem);
    537537          ListView_Update(This->hWndList, nItem);
    538           return TRUE;                                  /* fixme: better handling */
     538          return TRUE;                                  /* FIXME: better handling */
    539539        }
    540540        return FALSE;
     
    11521152       
    11531153          case LVN_GETDISPINFOA:
    1154             TRACE("-- LVN_GETDISPINFOA %p\n",This);
     1154          case LVN_GETDISPINFOW:
     1155            TRACE("-- LVN_GETDISPINFO %p\n",This);
    11551156            pidl = (LPITEMIDLIST)lpdi->item.lParam;
    11561157
     
    11611162                SHELLDETAILS sd;
    11621163                IShellFolder2_GetDetailsOf(This->pSF2Parent, pidl, lpdi->item.iSubItem, &sd);
     1164                if (lpnmh->code == LVN_GETDISPINFOA)
     1165                {
    11631166                StrRetToStrNA( lpdi->item.pszText, lpdi->item.cchTextMax, &sd.str, NULL);
    11641167                TRACE("-- text=%s\n",lpdi->item.pszText);               
     1168              }
     1169                else /* LVN_GETDISPINFOW */
     1170                {
     1171                    StrRetToStrNW( lpdi->item.pszText, lpdi->item.cchTextMax, &sd.str, NULL);
     1172                    TRACE("-- text=%s\n",debugstr_w((WCHAR*)(lpdi->item.pszText)));
     1173                }
    11651174              }
    11661175              else
     
    15591568        if ((lpmsg->message>=WM_KEYFIRST) && (lpmsg->message>=WM_KEYLAST))
    15601569        {
    1561           TRACE("-- key=0x04%x",lpmsg->wParam) ;
     1570          TRACE("-- key=0x04%x\n",lpmsg->wParam) ;
    15621571        }
    15631572        return S_FALSE; /* not handled */
  • trunk/src/shell32/shpolicy.c

    r6709 r8048  
    1818
    1919#include "windef.h"
    20 #include "wingdi.h"
    2120#include "winerror.h"
    2221#include "winreg.h"
     22
     23#include "wine/undocshell.h"
     24#include "wine/winuser16.h"
     25
    2326#include "debugtools.h"
    24 #include "wine/winuser16.h"
    2527
    2628DEFAULT_DEBUG_CHANNEL(shell);
  • trunk/src/shell32/shresdef.h

    r5576 r8048  
    1 /* $Id: shresdef.h,v 1.9 2001-04-23 10:47:23 sandervl Exp $ */
     1/* $Id: shresdef.h,v 1.10 2002-03-08 11:01:03 sandervl Exp $ */
    22
    33/*
     
    3131#define IDS_SHV_COLUMN3DV       12
    3232#define IDS_SHV_COLUMN4DV       13
     33
     34#ifndef __WIN32OS2__
     35#define IDS_DESKTOP             20
     36#define IDS_MYCOMPUTER          21
     37#endif
    3338
    3439#define IDS_SELECT              22
  • trunk/src/shell32/shv_bg_cmenu.c

    r6709 r8048  
    236236              {
    237237                ISFHelper_CopyItems(psfhlpdst, psfFrom, lpcida->cidl, apidl);
    238                 /* fixme handle move
     238                /* FIXME handle move
    239239                ISFHelper_DeleteItems(psfhlpsrc, lpcida->cidl, apidl);
    240240                */
  • trunk/src/shell32/shv_item_cmenu.c

    r6709 r8048  
    338338 * DoCopyOrCut
    339339 *
    340  * copys the currently selected items into the clipboard
     340 * copies the currently selected items into the clipboard
    341341 */
    342342static BOOL DoCopyOrCut(
Note: See TracChangeset for help on using the changeset viewer.