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;..