Artifact 328401c2f5b596bc05a112c71a0559e6ffbe2317:
- File
src/win32/cpl.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /*************** 0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..* 0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0060: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 70 6c cpl 0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .d 0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..* 00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *. 00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .* 00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows 0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu 0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le 0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..* 0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..* 0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla 0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W 01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers 01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a * 01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..* 01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 by 01e0: 20 53 74 65 77 61 72 74 20 47 6f 72 64 6f 6e 20 Stewart Gordon 01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..* 0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0250: 20 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 *..* 0260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0270: 50 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c Placed into publ 0280: 69 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 ic domain 0290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 02a0: 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a *..\************ 02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f ***********/..mo 02f0: 64 75 6c 65 20 77 69 6e 33 32 2e 63 70 6c 3b 0d dule win32.cpl;. 0300: 0a 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 ...private impor 0310: 74 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 2c 20 t win32.windef, 0320: 77 69 6e 33 32 2e 77 69 6e 75 73 65 72 3b 0d 0a win32.winuser;.. 0330: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 0d ..enum : uint {. 0340: 0a 09 57 4d 5f 43 50 4c 5f 4c 41 55 4e 43 48 20 ..WM_CPL_LAUNCH 0350: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 30 30 = WM_USER + 1000 0360: 2c 0d 0a 09 57 4d 5f 43 50 4c 5f 4c 41 55 4e 43 ,...WM_CPL_LAUNC 0370: 48 45 44 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a HED..}....enum : 0380: 20 75 69 6e 74 20 7b 0d 0a 09 43 50 4c 5f 44 59 uint {...CPL_DY 0390: 4e 41 4d 49 43 5f 52 45 53 2c 0d 0a 09 43 50 4c NAMIC_RES,...CPL 03a0: 5f 49 4e 49 54 2c 0d 0a 09 43 50 4c 5f 47 45 54 _INIT,...CPL_GET 03b0: 43 4f 55 4e 54 2c 0d 0a 09 43 50 4c 5f 49 4e 51 COUNT,...CPL_INQ 03c0: 55 49 52 45 2c 0d 0a 09 43 50 4c 5f 53 45 4c 45 UIRE,...CPL_SELE 03d0: 43 54 2c 0d 0a 09 43 50 4c 5f 44 42 4c 43 4c 4b CT,...CPL_DBLCLK 03e0: 2c 0d 0a 09 43 50 4c 5f 53 54 4f 50 2c 0d 0a 09 ,...CPL_STOP,... 03f0: 43 50 4c 5f 45 58 49 54 2c 0d 0a 09 43 50 4c 5f CPL_EXIT,...CPL_ 0400: 4e 45 57 49 4e 51 55 49 52 45 2c 0d 0a 09 43 50 NEWINQUIRE,...CP 0410: 4c 5f 53 54 41 52 54 57 50 41 52 4d 53 41 2c 0d L_STARTWPARMSA,. 0420: 0a 09 43 50 4c 5f 53 54 41 52 54 57 50 41 52 4d ..CPL_STARTWPARM 0430: 53 57 2c 20 2f 2f 20 3d 20 31 30 0d 0a 09 43 50 SW, // = 10...CP 0440: 4c 5f 53 45 54 55 50 20 3d 20 32 30 30 0d 0a 7d L_SETUP = 200..} 0450: 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 ....extern (Wind 0460: 6f 77 73 29 20 61 6c 69 61 73 20 4c 4f 4e 47 20 ows) alias LONG 0470: 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 function(HWND, U 0480: 49 4e 54 2c 20 4c 4f 4e 47 2c 20 4c 4f 4e 47 29 INT, LONG, LONG) 0490: 20 41 50 50 4c 45 54 5f 50 52 4f 43 3b 0d 0a 0d APPLET_PROC;... 04a0: 0a 73 74 72 75 63 74 20 43 50 4c 49 4e 46 4f 20 .struct CPLINFO 04b0: 7b 0d 0a 09 69 6e 74 20 20 69 64 49 63 6f 6e 3b {...int idIcon; 04c0: 0d 0a 09 69 6e 74 20 20 69 64 4e 61 6d 65 3b 0d ...int idName;. 04d0: 0a 09 69 6e 74 20 20 69 64 49 6e 66 6f 3b 0d 0a ..int idInfo;.. 04e0: 09 4c 4f 4e 47 20 6c 44 61 74 61 3b 0d 0a 7d 0d .LONG lData;..}. 04f0: 0a 61 6c 69 61 73 20 43 50 4c 49 4e 46 4f 2a 20 .alias CPLINFO* 0500: 4c 50 43 50 4c 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 LPCPLINFO;....st 0510: 72 75 63 74 20 4e 45 57 43 50 4c 49 4e 46 4f 41 ruct NEWCPLINFOA 0520: 20 7b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 64 {...DWORD d 0530: 77 53 69 7a 65 20 3d 20 4e 45 57 43 50 4c 49 4e wSize = NEWCPLIN 0540: 46 4f 41 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 57 FOA.sizeof;...DW 0550: 4f 52 44 20 20 20 20 20 64 77 46 6c 61 67 73 3b ORD dwFlags; 0560: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 64 77 48 ...DWORD dwH 0570: 65 6c 70 43 6f 6e 74 65 78 74 3b 0d 0a 09 4c 4f elpContext;...LO 0580: 4e 47 20 20 20 20 20 20 6c 44 61 74 61 3b 0d 0a NG lData;.. 0590: 09 48 49 43 4f 4e 20 20 20 20 20 68 49 63 6f 6e .HICON hIcon 05a0: 3b 0d 0a 09 43 48 41 52 5b 33 32 5d 20 20 73 7a ;...CHAR[32] sz 05b0: 4e 61 6d 65 3b 0d 0a 09 43 48 41 52 5b 36 34 5d Name;...CHAR[64] 05c0: 20 20 73 7a 49 6e 66 6f 3b 0d 0a 09 43 48 41 52 szInfo;...CHAR 05d0: 5b 31 32 38 5d 20 73 7a 48 65 6c 70 46 69 6c 65 [128] szHelpFile 05e0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e 45 57 43 ;..}..alias NEWC 05f0: 50 4c 49 4e 46 4f 41 2a 20 4c 50 4e 45 57 43 50 PLINFOA* LPNEWCP 0600: 4c 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 LINFOA;....struc 0610: 74 20 4e 45 57 43 50 4c 49 4e 46 4f 57 20 7b 0d t NEWCPLINFOW {. 0620: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 64 77 53 ..DWORD dwS 0630: 69 7a 65 20 3d 20 4e 45 57 43 50 4c 49 4e 46 4f ize = NEWCPLINFO 0640: 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 57 4f 52 W.sizeof;...DWOR 0650: 44 20 20 20 20 20 20 64 77 46 6c 61 67 73 3b 0d D dwFlags;. 0660: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 64 77 48 ..DWORD dwH 0670: 65 6c 70 43 6f 6e 74 65 78 74 3b 0d 0a 09 4c 4f elpContext;...LO 0680: 4e 47 20 20 20 20 20 20 20 6c 44 61 74 61 3b 0d NG lData;. 0690: 0a 09 48 49 43 4f 4e 20 20 20 20 20 20 68 49 63 ..HICON hIc 06a0: 6f 6e 3b 0d 0a 09 57 43 48 41 52 5b 33 32 5d 20 on;...WCHAR[32] 06b0: 20 73 7a 4e 61 6d 65 3b 0d 0a 09 57 43 48 41 52 szName;...WCHAR 06c0: 5b 36 34 5d 20 20 73 7a 49 6e 66 6f 3b 0d 0a 09 [64] szInfo;... 06d0: 57 43 48 41 52 5b 31 32 38 5d 20 73 7a 48 65 6c WCHAR[128] szHel 06e0: 70 46 69 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 pFile;..}..alias 06f0: 20 4e 45 57 43 50 4c 49 4e 46 4f 57 2a 20 4c 50 NEWCPLINFOW* LP 0700: 4e 45 57 43 50 4c 49 4e 46 4f 57 3b 0d 0a 0d 0a NEWCPLINFOW;.... 0710: 76 65 72 73 69 6f 6e 20 28 55 6e 69 63 6f 64 65 version (Unicode 0720: 29 20 7b 0d 0a 09 61 6c 69 61 73 20 43 50 4c 5f ) {...alias CPL_ 0730: 53 54 41 52 54 57 50 41 52 4d 53 57 20 43 50 4c STARTWPARMSW CPL 0740: 5f 53 54 41 52 54 57 50 41 52 4d 53 3b 0d 0a 09 _STARTWPARMS;... 0750: 61 6c 69 61 73 20 4e 45 57 43 50 4c 49 4e 46 4f alias NEWCPLINFO 0760: 57 20 4e 45 57 43 50 4c 49 4e 46 4f 3b 0d 0a 7d W NEWCPLINFO;..} 0770: 20 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 61 73 20 else {...alias 0780: 43 50 4c 5f 53 54 41 52 54 57 50 41 52 4d 53 41 CPL_STARTWPARMSA 0790: 20 43 50 4c 5f 53 54 41 52 54 57 50 41 52 4d 53 CPL_STARTWPARMS 07a0: 3b 0d 0a 09 61 6c 69 61 73 20 4e 45 57 43 50 4c ;...alias NEWCPL 07b0: 49 4e 46 4f 41 20 4e 45 57 43 50 4c 49 4e 46 4f INFOA NEWCPLINFO 07c0: 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4e 45 ;..}....alias NE 07d0: 57 43 50 4c 49 4e 46 4f 2a 20 4c 50 4e 45 57 43 WCPLINFO* LPNEWC 07e0: 50 4c 49 4e 46 4f 3b 0d 0a PLINFO;..