Ignore:
Timestamp:
Feb 24, 2003, 6:03:00 PM (23 years ago)
Author:
sandervl
Message:

Convert win32 icon file to os2 format when creating a shell link

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/oslibres.cpp

    r9624 r9851  
    1 /* $Id: oslibres.cpp,v 1.34 2003-01-05 16:34:58 sandervl Exp $ */
     1/* $Id: oslibres.cpp,v 1.35 2003-02-24 17:02:43 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    749749   char    szWorkDir[256];
    750750   char    szPEGUILoaderPath[256];
     751   BOOL    fWin32App;
    751752
    752753   if(pszName) {
     
    784785                                  ((pszWorkDir) ? strlen(pszWorkDir) : 0));
    785786
    786    sprintf(pszSetupString, "PROGTYPE=PM;OBJECTID=<%s>;EXENAME=%s;SET BEGINLIBPATH=%s;STARTUPDIR=%s;ICONFILE=%s;PARAMETERS=\"%s\"", pszName, szPEGUILoaderPath, szSystemDir, szWorkDir, pszIcoPath, pszPath);
     787   fWin32App = ODIN_IsWin32App(pszPath);
     788   if(!fWin32App)
     789   {//don't use the PE loader; use the program path directly
     790        sprintf(pszSetupString, "PROGTYPE=PM;OBJECTID=<%s%s>;EXENAME=%s;SET BEGINLIBPATH=%s;STARTUPDIR=%s;ICONFILE=%s;PARAMETERS=", (fDesktop) ? "DESKTOP_" : "", pszName, pszPath, szSystemDir, szWorkDir, pszIcoPath);
     791   }
     792   else sprintf(pszSetupString, "PROGTYPE=PM;OBJECTID=<%s%s>;EXENAME=%s;SET BEGINLIBPATH=%s;STARTUPDIR=%s;ICONFILE=%s;PARAMETERS=\"%s\"", (fDesktop) ? "DESKTOP_" : "", pszName, szPEGUILoaderPath, szSystemDir, szWorkDir, pszIcoPath, pszPath);
     793
    787794   if(pszArgs && *pszArgs) {
    788795       strcat(pszSetupString, " ");
     
    794801       dprintf(("Name = %s", pszName));
    795802       dprintf(("Setup string = %s", pszSetupString));
     803
     804       //Use a different name for desktop objects
    796805       hObject = WinCreateObject("WPProgram", pszName, pszSetupString,
    797806                                 "<WP_DESKTOP>", CO_REPLACEIFEXISTS);
     
    805814       hObject = WinCreateObject("WPFolder", pszFolder, szWorkDir,
    806815                                 "<ODINFOLDER>", CO_UPDATEIFEXISTS);
    807        hObject = WinCreateObject("WPProgram", pszName, pszSetupString,
    808                                  temp, CO_REPLACEIFEXISTS);
     816       if(hObject) {
     817           hObject = WinCreateObject("WPProgram", pszName, pszSetupString,
     818                                     temp, CO_REPLACEIFEXISTS);
     819       }
     820       else {
     821           hObject = 1; //force silent failure
     822       }
    809823   }
    810824
Note: See TracChangeset for help on using the changeset viewer.