Check-in [a011fefe76]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:fix for tclwmf and newer mingw64 cross compilers
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a011fefe760ab724c722648aa5992b3f6a52fc22
User & Date: chw 2016-08-18 13:02:32.966
Context
2016-08-18
18:26
add Eric Boudaillier's tkpath redraw optimizations, thank you check-in: d9b530baf1 user: chw tags: trunk
13:02
fix for tclwmf and newer mingw64 cross compilers check-in: a011fefe76 user: chw tags: trunk
2016-08-17
11:44
fix for ticket [7a4e415a7b] check-in: 6ef4ed7176 user: chw tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to undroid/tclwmf/tclwmf.c.
52
53
54
55
56
57
58


59
60
61
62
63
64
65
66
67
68
69
	    0xbb, 0xce, 0xac, 0xdb, 0x34, 0xa8, 0xec, 0x1);
DEFINE_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK,
	    0x58f0aad8, 0x22bf, 0x4f8a,
	    0xbb, 0x3d, 0xd2, 0xc4, 0x97, 0x8c, 0x6e, 0x2f);

#endif



DEFINE_GUID(IID_IAMVideoProcAmp,
	    0xc6e13360, 0x30ac, 0x11d0,
	    0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
DEFINE_GUID(IID_IAMCameraControl,
	    0xc6e13370, 0x30ac, 0x11d0,
	    0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);

#ifndef TCL_THREADS
#error "build requires TCL_THREADS"
#endif








>
>
|


|







52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
	    0xbb, 0xce, 0xac, 0xdb, 0x34, 0xa8, 0xec, 0x1);
DEFINE_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK,
	    0x58f0aad8, 0x22bf, 0x4f8a,
	    0xbb, 0x3d, 0xd2, 0xc4, 0x97, 0x8c, 0x6e, 0x2f);

#endif

/* These are private defs since some versions of mingw defines it, some not */

DEFINE_GUID(PRIVATE_IID_IAMVideoProcAmp,
	    0xc6e13360, 0x30ac, 0x11d0,
	    0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
DEFINE_GUID(PRIVATE_IID_IAMCameraControl,
	    0xc6e13370, 0x30ac, 0x11d0,
	    0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);

#ifndef TCL_THREADS
#error "build requires TCL_THREADS"
#endif

1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
	return;
    }

    Tcl_InitHashTable(&wmfc->ctrl, TCL_STRING_KEYS);

    /* fill in new information */
    hr = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&IID_IAMVideoProcAmp, (void **) &procAmp);
    if (SUCCEEDED(hr)) {
	for (i = 0; i < sizeof (painfo) / sizeof (painfo[0]); i++) {
	    long llim, ulim, step, def, caps;

	    hr = procAmp->lpVtbl->GetRange(procAmp, painfo[i].code,
					   &llim, &ulim, &step, &def, &caps);
	    if (!SUCCEEDED(hr)) {







|







1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
	return;
    }

    Tcl_InitHashTable(&wmfc->ctrl, TCL_STRING_KEYS);

    /* fill in new information */
    hr = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&PRIVATE_IID_IAMVideoProcAmp, (void **) &procAmp);
    if (SUCCEEDED(hr)) {
	for (i = 0; i < sizeof (painfo) / sizeof (painfo[0]); i++) {
	    long llim, ulim, step, def, caps;

	    hr = procAmp->lpVtbl->GetRange(procAmp, painfo[i].code,
					   &llim, &ulim, &step, &def, &caps);
	    if (!SUCCEEDED(hr)) {
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
	    Tcl_SetHashValue(hPtr, (ClientData) wctrl);
	}
    }
    if (procAmp != NULL) {
	procAmp->lpVtbl->Release(procAmp);
    }
    hr = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&IID_IAMCameraControl, (void **) &camCtrl);
    if (SUCCEEDED(hr)) {
	for (i = 0; i < sizeof (ccinfo) / sizeof (ccinfo[0]); i++) {
	    long llim, ulim, step, def, caps;

	    hr = camCtrl->lpVtbl->GetRange(camCtrl, ccinfo[i].code,
					   &llim, &ulim, &step, &def, &caps);
	    if (!SUCCEEDED(hr)) {







|







1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
	    Tcl_SetHashValue(hPtr, (ClientData) wctrl);
	}
    }
    if (procAmp != NULL) {
	procAmp->lpVtbl->Release(procAmp);
    }
    hr = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&PRIVATE_IID_IAMCameraControl, (void **) &camCtrl);
    if (SUCCEEDED(hr)) {
	for (i = 0; i < sizeof (ccinfo) / sizeof (ccinfo[0]); i++) {
	    long llim, ulim, step, def, caps;

	    hr = camCtrl->lpVtbl->GetRange(camCtrl, ccinfo[i].code,
					   &llim, &ulim, &step, &def, &caps);
	    if (!SUCCEEDED(hr)) {
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
    Tcl_DString ds;
    IAMVideoProcAmp *procAmp = NULL;
    IAMCameraControl *camCtrl = NULL;
    HRESULT hrpa, hrcc;

    Tcl_DStringInit(&ds);
    hrpa = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&IID_IAMVideoProcAmp, (void **) &procAmp);
    hrcc = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&IID_IAMCameraControl, (void **) &camCtrl);
    if (SUCCEEDED(hrpa) || SUCCEEDED(hrcc)) {
	hPtr = Tcl_FirstHashEntry(&wmfc->ctrl, &search);
	while (hPtr != NULL) {
	    WCTRL *wctrl = (WCTRL *) Tcl_GetHashValue(hPtr);
	    HRESULT hr = E_INVALIDARG;
	    long val = 0, flags = 0;
	    char buffer[32];







|

|







1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
    Tcl_DString ds;
    IAMVideoProcAmp *procAmp = NULL;
    IAMCameraControl *camCtrl = NULL;
    HRESULT hrpa, hrcc;

    Tcl_DStringInit(&ds);
    hrpa = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&PRIVATE_IID_IAMVideoProcAmp, (void **) &procAmp);
    hrcc = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&PRIVATE_IID_IAMCameraControl, (void **) &camCtrl);
    if (SUCCEEDED(hrpa) || SUCCEEDED(hrcc)) {
	hPtr = Tcl_FirstHashEntry(&wmfc->ctrl, &search);
	while (hPtr != NULL) {
	    WCTRL *wctrl = (WCTRL *) Tcl_GetHashValue(hPtr);
	    HRESULT hr = E_INVALIDARG;
	    long val = 0, flags = 0;
	    char buffer[32];
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
    Tcl_HashEntry *hPtr;
    int i;
    IAMVideoProcAmp *procAmp = NULL;
    IAMCameraControl *camCtrl = NULL;
    HRESULT hrpa, hrcc;

    hrpa = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&IID_IAMVideoProcAmp, (void **) &procAmp);
    hrcc = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&IID_IAMCameraControl, (void **) &camCtrl);
    for (i = 0; i < objc; i += 2) {
	WCTRL *wctrl;
	long val;
	int doauto = 0;
	char *name = Tcl_GetString(objv[i]);

	hPtr = Tcl_FindHashEntry(&wmfc->ctrl, name);







|

|







1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
    Tcl_HashEntry *hPtr;
    int i;
    IAMVideoProcAmp *procAmp = NULL;
    IAMCameraControl *camCtrl = NULL;
    HRESULT hrpa, hrcc;

    hrpa = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&PRIVATE_IID_IAMVideoProcAmp, (void **) &procAmp);
    hrcc = wmfc->mediaSrc->lpVtbl->QueryInterface(wmfc->mediaSrc,
		&PRIVATE_IID_IAMCameraControl, (void **) &camCtrl);
    for (i = 0; i < objc; i += 2) {
	WCTRL *wctrl;
	long val;
	int doauto = 0;
	char *name = Tcl_GetString(objv[i]);

	hPtr = Tcl_FindHashEntry(&wmfc->ctrl, name);