wine/dlls msrle32/msrle32.c msvideo/msvideo_main.c
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 28 05:01:46 CST 2005
ChangeSet ID: 21461
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard at winehq.org 2005/11/28 05:01:46
Modified files:
dlls/msrle32 : msrle32.c
dlls/msvideo : msvideo_main.c
Log message:
Dmitry Timoshkov <dmitry at codeweavers.com>
Fix several bugs in msrle32 preventing it to load.
Remove a hack in ICOpen compensating a bug in msrle32.
Use MSVFW32_hModule directly in ICCompressorChoose, and avoid a
convoluted GWLP_HINSTANCE hack.
Patch: http://cvs.winehq.org/patch.py?id=21461
Old revision New revision Changes Path
1.14 1.15 +4 -19 wine/dlls/msrle32/msrle32.c
1.68 1.69 +3 -16 wine/dlls/msvideo/msvideo_main.c
Index: wine/dlls/msrle32/msrle32.c
diff -u -p wine/dlls/msrle32/msrle32.c:1.14 wine/dlls/msrle32/msrle32.c:1.15
--- wine/dlls/msrle32/msrle32.c:1.14 28 Nov 2005 11: 1:46 -0000
+++ wine/dlls/msrle32/msrle32.c 28 Nov 2005 11: 1:46 -0000
@@ -58,7 +58,6 @@ inline WORD Intensity(RGBQUAD clr)
/* utility functions */
static BOOL isSupportedDIB(LPCBITMAPINFOHEADER lpbi);
static BOOL isSupportedMRLE(LPCBITMAPINFOHEADER lpbi);
-static void LoadWideString(UINT id, LPWSTR str, INT len);
static BYTE MSRLE32_GetNearestPaletteIndex(UINT count, const RGBQUAD *clrs, RGBQUAD clr);
/* compression functions */
@@ -98,14 +97,6 @@ static LRESULT DecompressGetPalette(Code
/*****************************************************************************/
-static void LoadWideString(UINT id, LPWSTR str, INT len)
-{
- char szTemp[80];
-
- LoadStringA(MSRLE32_hModule, id, szTemp, sizeof(szTemp));
- MultiByteToWideChar(CP_ACP, 0, szTemp, -1, str, len);
-}
-
static BOOL isSupportedMRLE(LPCBITMAPINFOHEADER lpbi)
{
/* pre-conditions */
@@ -1113,9 +1104,6 @@ static CodecInfo* Open(LPICOPEN icinfo)
icinfo->fccHandler, (char*)&icinfo->fccHandler,
icinfo->dwVersion,icinfo->dwFlags);
- if (icinfo->fccType != ICTYPE_VIDEO)
- return NULL;
-
switch (icinfo->fccHandler) {
case FOURCC_RLE:
case FOURCC_RLE4:
@@ -1176,14 +1164,14 @@ static LRESULT GetInfo(CodecInfo *pi, IC
return 0;
icinfo->dwSize = sizeof(ICINFO);
- icinfo->fccType = streamtypeVIDEO;
+ icinfo->fccType = ICTYPE_VIDEO;
icinfo->fccHandler = (pi != NULL ? pi->fccHandler : FOURCC_MRLE);
icinfo->dwFlags = VIDCF_QUALITY | VIDCF_TEMPORAL | VIDCF_CRUNCH | VIDCF_FASTTEMPORALC;
icinfo->dwVersion = MSRLE32_VERSION;
icinfo->dwVersionICM = 0x01040000; /* Version 1.4 build 0 */
- LoadWideString(IDS_NAME, icinfo->szName, sizeof(icinfo->szName));
- LoadWideString(IDS_DESCRIPTION, icinfo->szDescription, sizeof(icinfo->szDescription));
+ LoadStringW(MSRLE32_hModule, IDS_NAME, icinfo->szName, sizeof(icinfo->szName)/sizeof(WCHAR));
+ LoadStringW(MSRLE32_hModule, IDS_DESCRIPTION, icinfo->szDescription, sizeof(icinfo->szDescription)/sizeof(WCHAR));
return sizeof(ICINFO);
}
@@ -1796,9 +1784,6 @@ LRESULT CALLBACK MSRLE32_DriverProc(DWOR
case DRV_LOAD:
return DRVCNF_OK;
case DRV_OPEN:
- if (lParam2 == 0)
- return (LRESULT)0xFFFF0000;
- else
return (LRESULT)Open((ICOPEN*)lParam2);
case DRV_CLOSE:
if (dwDrvID != 0xFFFF0000 && (LPVOID)dwDrvID != NULL)
@@ -1910,7 +1895,7 @@ BOOL WINAPI DllMain(HINSTANCE hModule, D
case DLL_PROCESS_DETACH:
break;
- };
+ }
return TRUE;
}
Index: wine/dlls/msvideo/msvideo_main.c
diff -u -p wine/dlls/msvideo/msvideo_main.c:1.68 wine/dlls/msvideo/msvideo_main.c:1.69
--- wine/dlls/msvideo/msvideo_main.c:1.68 28 Nov 2005 11: 1:46 -0000
+++ wine/dlls/msvideo/msvideo_main.c 28 Nov 2005 11: 1:46 -0000
@@ -139,6 +139,7 @@ static BOOL enum_drivers(DWORD fccType,
{
for (s = buf; *s; s += strlen(s) + 1)
{
+ TRACE("got %s\n", s);
if (strncasecmp(s, fccTypeStr, 5) || s[9] != '=') continue;
if ((result = handler(s, cnt++, param))) break;
}
@@ -349,20 +350,7 @@ HIC VFWAPI ICOpen(DWORD fccType, DWORD f
hdrv = OpenDriver(codecname, drv32W, (LPARAM)&icopen);
if (!hdrv)
- {
- if (fccType == streamtypeVIDEO)
- {
- codecname[0] = 'v';
- codecname[1] = 'i';
- codecname[2] = 'd';
- codecname[3] = 'c';
-
- fccType = ICTYPE_VIDEO;
- hdrv = OpenDriver(codecname, drv32W, (LPARAM)&icopen);
- }
- if (!hdrv)
- return 0;
- }
+ return 0;
} else {
/* The driver has been registered at runtime with its name */
hdrv = OpenDriver(driver->name, NULL, (LPARAM)&icopen);
@@ -767,8 +755,7 @@ static INT_PTR CALLBACK icm_choose_compr
if (choose_comp->title)
SetWindowTextA(hdlg, choose_comp->title);
- LoadStringW((HINSTANCE)GetWindowLongPtrW(hdlg, GWLP_HINSTANCE),
- IDS_FULLFRAMES, buf, 128);
+ LoadStringW(MSVFW32_hModule, IDS_FULLFRAMES, buf, 128);
SendDlgItemMessageW(hdlg, IDC_COMP_LIST, CB_ADDSTRING, 0, (LPARAM)buf);
enum_compressors(GetDlgItem(hdlg, IDC_COMP_LIST));
More information about the wine-cvs
mailing list