Changeset 1803 for trunk/dll/shadow.c
- Timestamp:
- May 2, 2015, 11:56:39 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/shadow.c
r1782 r1803 17 17 17 JAN 10 GKY Changes to get working with Watcom 1.9 Beta (1/16/10). Mostly cast CHAR CONSTANT * as CHAR *. 18 18 28 Jun 14 GKY Fix errors identified with CPPCheck; 19 02 May 15 GKY Changes to allow a JAVA executable object to be created using "Real object" 20 menu item on a jar file. 19 21 20 22 ***********************************************************************/ … … 43 45 #include "fortify.h" 44 46 #include "init.h" // Data declaration(s) 47 #include "notebook.h" // Data declaration(s) 48 #include "getnames.h" // insert_filename 49 #include "srchpath.h" // SearchMultiplePathsForFile 45 50 46 51 #pragma data_seg(DATA1) … … 53 58 54 59 static HOBJECT CreateProgramObject(CHAR * objtitle, CHAR * location, CHAR * path, 60 CHAR * cnr); 61 static HOBJECT CreateJAVAProgramObject(CHAR * objtitle, CHAR * location, CHAR * path, 55 62 CHAR * cnr); 56 63 static HOBJECT CreateShadowObject(CHAR * objtitle, CHAR * location, CHAR * path, … … 62 69 HOBJECT obj = (HOBJECT) 0; 63 70 CHAR *s; 64 65 if (!cnr) 66 return obj; 71 CHAR objecttmp[CCHMAXPATH]; 72 73 if (!cnr) 74 return obj; 75 strcpy(objecttmp, objtitle); 76 s = strchr(objecttmp, '.'); 77 if (s) 78 *s = 0; 67 79 obj = WinCreateObject((CHAR *) WPProgram, 68 obj title,80 objecttmp, 69 81 "NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO", 70 82 (location) ? location : cnr, CO_FAILIFEXISTS); … … 85 97 } 86 98 99 HOBJECT CreateJAVAProgramObject(CHAR * objtitle, CHAR * location, CHAR * path, 100 CHAR * cnr) 101 { 102 HOBJECT obj = (HOBJECT) 0; 103 CHAR *s; 104 CHAR objecttmp[CCHMAXPATH]; 105 CHAR javaexe[CCHMAXPATH] = {0}; 106 CHAR icon[CCHMAXPATH] = {0}; 107 //PSZ env = 0; 108 //FILESTATUS3 fsa; 109 110 if (!cnr) 111 return obj; 112 if (!PrfQueryProfileString(fmprof, appname, "JavaExe", NULL, javaexe, CCHMAXPATH - 1)) { 113 strcpy(javaexe, PCSZ_STARDOTEXE); 114 if (insert_filename(HWND_DESKTOP, javaexe, TRUE, FALSE) && 115 *javaexe && !strchr(javaexe, '*') && !strchr(javaexe, '?')) 116 PrfWriteProfileString(fmprof, appname, "JavaExe", javaexe); 117 else 118 return obj; 119 } 120 strcpy(objecttmp, objtitle); 121 s = strchr(objecttmp, '.'); 122 if (s) 123 *s = 0; 124 strcpy(icon, path); 125 strcat(icon, "\\*.ico"); 126 insert_filename(HWND_DESKTOP, icon, TRUE, FALSE); 127 obj = WinCreateObject((CHAR *) WPProgram, 128 objecttmp, 129 "NOPRINT=YES;DEFAULTVIEW=RUNNING", 130 (location) ? location : cnr, CO_FAILIFEXISTS); 131 if (obj) { 132 s = xmalloc(5192, pszSrcFile, __LINE__); 133 if (s) { 134 sprintf(s, 135 "%s%s;EXENAME=%s%s%s;PARAMETERS= %s%s%s%s %%*;%sOBJECTID=<FM2_%s>", 136 "ICONFILE=", 137 icon, 138 javaexe, 139 (path) ? ";STARTUPDIR=" : NullStr, 140 (path) ? path : NullStr, 141 "-jar ", 142 (path) ? path : NullStr, 143 (path) ? PCSZ_BACKSLASH : NullStr, 144 objtitle, 145 "PROGTYPE=PM;", 146 objecttmp); 147 WinSetObjectData(obj, s); 148 free(s); 149 } 150 } 151 return obj; 152 } 153 87 154 HOBJECT CreateDataObject(CHAR * objtitle, CHAR * location, CHAR * path, 88 155 CHAR * cnr) … … 189 256 HOBJECT obj = (HOBJECT) 0; 190 257 FILESTATUS3 fsa; 258 BOOL JAVA = FALSE; 191 259 192 260 *szBuff = 0; … … 233 301 if (!stricmp(p, PCSZ_DOTBAT) || !stricmp(p, PCSZ_DOTCMD) || 234 302 !stricmp(p, PCSZ_DOTBTM)) 235 apt |= FAPPTYP_BOUND; 303 apt |= FAPPTYP_BOUND; 304 else if(!stricmp(p, ".jar")) 305 JAVA = TRUE; 236 306 } 237 307 *szBuffer = 0; … … 262 332 *szBuffer = 0; 263 333 if ((fsa.attrFile & FILE_DIRECTORY) || Shadows) 264 CreateShadowObject(p, (obj) ? szBuffer : NULL, szDir, 0, cnr); 334 CreateShadowObject(p, (obj) ? szBuffer : NULL, szDir, 0, cnr); 335 else if (JAVA) 336 if (CreateJAVAProgramObject(p, (obj) ? szBuffer : NULL, szDir, cnr)) 337 apt |= FAPPTYP_BOUND; 265 338 else if (!(apt & (FAPPTYP_NOTWINDOWCOMPAT | FAPPTYP_WINDOWCOMPAT | FAPPTYP_WINDOWAPI | 266 339 FAPPTYP_BOUND | FAPPTYP_DOS | FAPPTYP_WINDOWSREAL |
Note:
See TracChangeset
for help on using the changeset viewer.