- Sync qmgr, msvidc32, msvfw32, msrle32, msctf, msadp32.acm, mlang, localspl with Wine 1.1.19

svn path=/trunk/; revision=40455
This commit is contained in:
Dmitry Chapyshev 2009-04-11 08:56:29 +00:00
parent af63eb50eb
commit c881748838
17 changed files with 241 additions and 60 deletions

View file

@ -251,25 +251,26 @@ static LONG copy_servername_from_name(LPCWSTR name, LPWSTR target)
ptr = strchrW(server, '\\');
serverlen = (ptr) ? ptr - server : lstrlenW(server);
/* servername is empty or to long */
/* servername is empty */
if (serverlen == 0) return 0;
TRACE("found %s\n", debugstr_wn(server, serverlen));
if (serverlen > MAX_COMPUTERNAME_LENGTH) return -serverlen;
if (target) {
memcpy(target, server, serverlen * sizeof(WCHAR));
target[serverlen] = '\0';
}
len = sizeof(buffer) / sizeof(buffer[0]);
if (GetComputerNameW(buffer, &len)) {
if ((serverlen == len) && (strncmpiW(server, buffer, len) == 0)) {
/* The requested Servername is our computername */
if (target) {
memcpy(target, server, serverlen * sizeof(WCHAR));
target[serverlen] = '\0';
}
return serverlen;
return 0;
}
}
return 0;
return serverlen;
}
/******************************************************************

View file

@ -1907,15 +1907,15 @@ static HRESULT WINAPI fnIMLangFontLink_GetCharCodePages(
static HRESULT WINAPI fnIMLangFontLink_GetStrCodePages(
IMLangFontLink* iface,
const WCHAR* pszSrc,
long cchSrc,
LONG cchSrc,
DWORD dwPriorityCodePages,
DWORD* pdwCodePages,
long* pcchCodePages)
LONG* pcchCodePages)
{
long i;
LONG i;
DWORD cps = 0;
TRACE("(%p)->%s %ld %x %p %p\n", iface, debugstr_wn(pszSrc,cchSrc),cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages);
TRACE("(%p)->%s %d %x %p %p\n", iface, debugstr_wn(pszSrc, cchSrc), cchSrc, dwPriorityCodePages, pdwCodePages, pcchCodePages);
if (pdwCodePages) *pdwCodePages = 0;
if (pcchCodePages) *pcchCodePages = 0;
@ -3203,8 +3203,8 @@ static HRESULT WINAPI fnIMLangFontLink2_GetCharCodePages( IMLangFontLink2* This,
}
static HRESULT WINAPI fnIMLangFontLink2_GetStrCodePages( IMLangFontLink2* This,
const WCHAR *pszSrc, long cchSrc, DWORD dwPriorityCodePages,
DWORD *pdwCodePages, long *pcchCodePages)
const WCHAR *pszSrc, LONG cchSrc, DWORD dwPriorityCodePages,
DWORD *pdwCodePages, LONG *pcchCodePages)
{
return fnIMLangFontLink_GetStrCodePages((IMLangFontLink *)This,
pszSrc, cchSrc, dwPriorityCodePages, pdwCodePages, pcchCodePages);
@ -3354,14 +3354,14 @@ static ULONG WINAPI fnIMLangLineBreakConsole_Release(
static HRESULT WINAPI fnIMLangLineBreakConsole_BreakLineML(
IMLangLineBreakConsole* iface,
IMLangString* pSrcMLStr,
long lSrcPos,
long lSrcLen,
long cMinColumns,
long cMaxColumns,
long* plLineLen,
long* plSkipLen)
LONG lSrcPos,
LONG lSrcLen,
LONG cMinColumns,
LONG cMaxColumns,
LONG* plLineLen,
LONG* plSkipLen)
{
FIXME("(%p)->%p %li %li %li %li %p %p\n", iface, pSrcMLStr, lSrcPos, lSrcLen, cMinColumns, cMaxColumns, plLineLen, plSkipLen);
FIXME("(%p)->%p %i %i %i %i %p %p\n", iface, pSrcMLStr, lSrcPos, lSrcLen, cMinColumns, cMaxColumns, plLineLen, plSkipLen);
return E_NOTIMPL;
}
@ -3369,12 +3369,12 @@ static HRESULT WINAPI fnIMLangLineBreakConsole_BreakLineW(
IMLangLineBreakConsole* iface,
LCID locale,
const WCHAR* pszSrc,
long cchSrc,
long cMaxColumns,
long* pcchLine,
long* pcchSkip )
LONG cchSrc,
LONG cMaxColumns,
LONG* pcchLine,
LONG* pcchSkip )
{
FIXME("(%p)->%i %s %li %li %p %p\n", iface, locale, debugstr_wn(pszSrc,cchSrc), cchSrc, cMaxColumns, pcchLine, pcchSkip);
FIXME("(%p)->%i %s %i %i %p %p\n", iface, locale, debugstr_wn(pszSrc,cchSrc), cchSrc, cMaxColumns, pcchLine, pcchSkip);
*pcchLine = cchSrc;
*pcchSkip = 0;
@ -3386,12 +3386,12 @@ static HRESULT WINAPI fnIMLangLineBreakConsole_BreakLineA(
LCID locale,
UINT uCodePage,
const CHAR* pszSrc,
long cchSrc,
long cMaxColumns,
long* pcchLine,
long* pcchSkip)
LONG cchSrc,
LONG cMaxColumns,
LONG* pcchLine,
LONG* pcchSkip)
{
FIXME("(%p)->%i %i %s %li %li %p %p\n", iface, locale, uCodePage, debugstr_an(pszSrc,cchSrc), cchSrc, cMaxColumns, pcchLine, pcchSkip);
FIXME("(%p)->%i %i %s %i %i %p %p\n", iface, locale, uCodePage, debugstr_an(pszSrc,cchSrc), cchSrc, cMaxColumns, pcchLine, pcchSkip);
*pcchLine = cchSrc;
*pcchSkip = 0;

View file

@ -512,8 +512,7 @@ static LRESULT ADPCM_FormatSuggest(PACMDRVFORMATSUGGEST adfs)
if (ADPCM_GetFormatIndex(adfs->pwfxDst) == 0xFFFFFFFF) return ACMERR_NOTPOSSIBLE;
break;
default:
FIXME("\n");
break;
return ACMERR_NOTPOSSIBLE;
}
return MMSYSERR_NOERROR;

View file

@ -12,6 +12,7 @@
<file>msctf.c</file>
<file>regsvr.c</file>
<file>threadmgr.c</file>
<file>version.rc</file>
<library>wine</library>
<library>uuid</library>
<library>ole32</library>

View file

@ -0,0 +1,26 @@
/*
* Copyright 2009 CodeWeavers, Aric Stewart
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define WINE_FILEDESCRIPTION_STR "Wine Msctf"
#define WINE_FILENAME_STR "msctf.dll"
#define WINE_FILEVERSION 5,1,2600,3319
#define WINE_FILEVERSION_STR " 5.1.2600.3319"
#define WINE_PRODUCTVERSION 5,1,2600,3319
#define WINE_PRODUCTVERSION_STR "5.1.2600.3319"
#include "wine/wine_common_ver.rc"

View file

@ -34,6 +34,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(msrle32);
static HINSTANCE MSRLE32_hModule = 0;
#define compare_fourcc(fcc1, fcc2) (((fcc1)^(fcc2))&~0x20202020)
#define ABS(a) ((a) < 0 ? -(a) : (a))
#define SQR(a) ((a) * (a))
@ -1114,7 +1116,7 @@ static CodecInfo* Open(LPICOPEN icinfo)
return (LPVOID)0xFFFF0000;
}
if (icinfo->fccType != ICTYPE_VIDEO) return NULL;
if (compare_fourcc(icinfo->fccType, ICTYPE_VIDEO)) return NULL;
TRACE("(%p = {%u,0x%08X(%4.4s),0x%08X(%4.4s),0x%X,0x%X,...})\n", icinfo,
icinfo->dwSize, icinfo->fccType, (char*)&icinfo->fccType,

View file

@ -309,7 +309,7 @@ static LRESULT MCIWND_Create(HWND hWnd, LPCREATESTRUCTW cs)
/* MCI wnd class is prepared to be embedded as an MDI child window */
if (cs->dwExStyle & WS_EX_MDICHILD)
{
MDICREATESTRUCTW *mdics = (MDICREATESTRUCTW *)cs->lpCreateParams;
MDICREATESTRUCTW *mdics = cs->lpCreateParams;
lParam = mdics->lParam;
}
else
@ -449,7 +449,7 @@ static LRESULT WINAPI MCIWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lPa
TRACE("%p %04x %08lx %08lx\n", hWnd, wMsg, wParam, lParam);
mwi = (MCIWndInfo*)GetWindowLongW(hWnd, 0);
mwi = (MCIWndInfo*)GetWindowLongPtrW(hWnd, 0);
if (!mwi && wMsg != WM_CREATE)
return DefWindowProcW(hWnd, wMsg, wParam, lParam);
@ -568,7 +568,7 @@ static LRESULT WINAPI MCIWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lPa
hCursor = SetCursor(hCursor);
mci_open.lpstrElementName = (LPWSTR)lParam;
wsprintfW(aliasW, formatW, (int)hWnd + 1);
wsprintfW(aliasW, formatW, HandleToLong(hWnd) + 1);
mci_open.lpstrAlias = aliasW;
mwi->lasterror = mciSendCommandW(mwi->mci, MCI_OPEN,
MCI_OPEN_ELEMENT | MCI_OPEN_ALIAS | MCI_WAIT,
@ -588,7 +588,7 @@ static LRESULT WINAPI MCIWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lPa
}
mwi->mci = mci_open.wDeviceID;
mwi->alias = (int)hWnd + 1;
mwi->alias = HandleToLong(hWnd) + 1;
mwi->lpName = HeapAlloc(GetProcessHeap(), 0, (strlenW((LPWSTR)lParam) + 1) * sizeof(WCHAR));
strcpyW(mwi->lpName, (LPWSTR)lParam);
@ -752,7 +752,7 @@ end_of_mci_open:
MCIWND_notify_error(mwi);
return 0;
}
TRACE("MCIWNDM_GETLENGTH: %d\n", mci_status.dwReturn);
TRACE("MCIWNDM_GETLENGTH: %ld\n", mci_status.dwReturn);
return mci_status.dwReturn;
}
@ -769,7 +769,7 @@ end_of_mci_open:
MCIWND_notify_error(mwi);
return 0;
}
TRACE("MCIWNDM_GETSTART: %d\n", mci_status.dwReturn);
TRACE("MCIWNDM_GETSTART: %ld\n", mci_status.dwReturn);
return mci_status.dwReturn;
}

View file

@ -17,12 +17,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
LANGUAGE LANG_KOREAN, SUBLANG_NEUTRAL
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
ICM_CHOOSE_COMPRESSOR DIALOG DISCARDABLE 36, 24, 187, 95
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "비디오 압축"
FONT 8, "MS Shell Dlg"
FONT 9, "MS Shell Dlg"
{
DEFPUSHBUTTON "확인",IDOK,129,2,49,14
PUSHBUTTON "취소",IDCANCEL,129,18,49,14

View file

@ -0,0 +1,51 @@
/*
* Copyright 2008 Ricardo Filipe
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
ICM_CHOOSE_COMPRESSOR DIALOG DISCARDABLE 36, 24, 187, 95
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Compressão de vídeo"
FONT 8, "MS Shell Dlg"
{
DEFPUSHBUTTON "OK",IDOK,129,2,49,14
PUSHBUTTON "Cancelar",IDCANCEL,129,18,49,14
LTEXT "&Compressor:",-1,9,6,105,8
COMBOBOX 880,9,16,111,67,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
PUSHBUTTON "Con&figurar...",882,129,36,49,14
PUSHBUTTON "&Sobre...",883,129,52,49,14
SCROLLBAR 884,9,44,111,9,WS_TABSTOP
LTEXT "&Qualidade de compressão:",886,9,34,80,8
CONTROL "&Imagem chave todos os",887,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,60,66,12
EDITTEXT 888,78,60,22,12
LTEXT "frames",889,103,62,26,10
CONTROL "&Cadência de dados",894,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,76,66,12
EDITTEXT 895,78,76,22,12
LTEXT "KB/sec",896,102,78,26,10
}
STRINGTABLE DISCARDABLE
{
IDS_FULLFRAMES "Imagens Completas (Descomprimidas)"
}

View file

@ -0,0 +1,92 @@
/*
* msvfw32 (Simplified and Traditional Chinese Resources)
*
* Copyright 2008 Hongbo Ni <hongbo.at.njstar.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* Chinese text is encoded in UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
ICM_CHOOSE_COMPRESSOR DIALOG DISCARDABLE 36, 24, 187, 95
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "视频压缩"
FONT 9, "MS Shell Dlg"
{
DEFPUSHBUTTON "确定",IDOK,129,2,49,14
PUSHBUTTON "取消",IDCANCEL,129,18,49,14
LTEXT "压缩器(&C):",-1,9,6,105,8
COMBOBOX 880,9,16,111,67,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
PUSHBUTTON "配置(&F)...",882,129,36,49,14
PUSHBUTTON "关于(&A)...",883,129,52,49,14
SCROLLBAR 884,9,44,111,9,WS_TABSTOP
LTEXT "压缩质量(&Q):",886,9,34,80,8
CONTROL "关键帧/每(&K)",887,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,60,66,12
EDITTEXT 888,78,60,22,12
LTEXT "帧",889,103,62,26,10
CONTROL "数据速度(&D)",894,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,76,66,12
EDITTEXT 895,78,76,22,12
LTEXT "KB/sec",896,102,78,26,10
}
STRINGTABLE DISCARDABLE
{
IDS_FULLFRAMES "全帧(未压缩)"
}
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
ICM_CHOOSE_COMPRESSOR DIALOG DISCARDABLE 36, 24, 187, 95
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "視頻壓縮"
FONT 9, "MS Shell Dlg"
{
DEFPUSHBUTTON "確定",IDOK,129,2,49,14
PUSHBUTTON "取消",IDCANCEL,129,18,49,14
LTEXT "壓縮器(&C):",-1,9,6,105,8
COMBOBOX 880,9,16,111,67,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
PUSHBUTTON "配置(&F)...",882,129,36,49,14
PUSHBUTTON "關於(&A)...",883,129,52,49,14
SCROLLBAR 884,9,44,111,9,WS_TABSTOP
LTEXT "壓縮質量(&Q):",886,9,34,80,8
CONTROL "關鍵幀/每(&K)",887,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,60,66,12
EDITTEXT 888,78,60,22,12
LTEXT "幀",889,103,62,26,10
CONTROL "數據速度(&D)",894,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,76,66,12
EDITTEXT 895,78,76,22,12
LTEXT "KB/sec",896,102,78,26,10
}
STRINGTABLE DISCARDABLE
{
IDS_FULLFRAMES "全幀(未壓縮)"
}
#pragma code_page(default)

View file

@ -602,7 +602,7 @@ static void MSVIDEO_UnmapMsg16To32(UINT msg, LPVOID data16, LPDWORD lParam1, LPD
case ICM_GETINFO:
{
ICINFO *ici = (ICINFO*)(*lParam1);
ICINFO16 *ici16 = (ICINFO16*)data16;
ICINFO16 *ici16 = data16;
UNCOPY(ici, fccType);
UNCOPY(ici, fccHandler);

View file

@ -1,7 +1,7 @@
/*
* Copyright 1998 Marcus Meissner
* Copyright 2000 Bradley Baetz
* Copyright 2003 Michael Günnewig
* Copyright 2003 Michael Günnewig
* Copyright 2005 Dmitry Timoshkov
*
* This library is free software; you can redistribute it and/or
@ -102,7 +102,7 @@ static int compare_fourcc(DWORD fcc1, DWORD fcc2)
return strncasecmp(fcc_str1, fcc_str2, 4);
}
typedef BOOL (*enum_handler_t)(const char*, int, void*);
typedef BOOL (*enum_handler_t)(const char*, unsigned int, void*);
static BOOL enum_drivers(DWORD fccType, enum_handler_t handler, void* param)
{
@ -173,9 +173,9 @@ DWORD WINAPI VideoForWindowsVersion(void)
return 0x040003B6; /* 4.950 */
}
static BOOL ICInfo_enum_handler(const char *drv, int nr, void *param)
static BOOL ICInfo_enum_handler(const char *drv, unsigned int nr, void *param)
{
ICINFO *lpicinfo = (ICINFO *)param;
ICINFO *lpicinfo = param;
DWORD fccHandler = mmioStringToFOURCCA(drv + 5, 0);
/* exact match of fccHandler or nth driver found */
@ -519,9 +519,9 @@ static HIC try_driver(driver_info_t *info)
return 0;
}
static BOOL ICLocate_enum_handler(const char *drv, int nr, void *param)
static BOOL ICLocate_enum_handler(const char *drv, unsigned int nr, void *param)
{
driver_info_t *info = (driver_info_t *)param;
driver_info_t *info = param;
info->fccHandler = mmioStringToFOURCCA(drv + 5, 0);
info->hic = try_driver(info);
return info->hic != 0;
@ -1026,9 +1026,9 @@ void VFWAPI ICCompressorFree(PCOMPVARS pc)
LRESULT MSVIDEO_SendMessage(WINE_HIC* whic, UINT msg, DWORD_PTR lParam1, DWORD_PTR lParam2)
{
LRESULT ret;
#define XX(x) case x: TRACE("(%p,"#x",0x%08lx,0x%08lx)\n",whic,lParam1,lParam2); break;
#define XX(x) case x: TRACE("(%p,"#x",0x%08lx,0x%08lx)\n",whic,lParam1,lParam2); break
switch (msg) {
/* DRV_* */
XX(DRV_LOAD);
@ -1299,7 +1299,7 @@ HANDLE VFWAPI ICImageDecompress(
pHdr = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,cbHdr+sizeof(RGBQUAD)*256);
if ( pHdr == NULL )
goto err;
if ( ICDecompressGetFormat( hic, lpbiIn, (BITMAPINFO*)pHdr ) != ICERR_OK )
if ( ICDecompressGetFormat( hic, lpbiIn, pHdr ) != ICERR_OK )
goto err;
lpbiOut = (BITMAPINFO*)pHdr;
if ( lpbiOut->bmiHeader.biBitCount <= 8 &&
@ -1337,7 +1337,7 @@ HANDLE VFWAPI ICImageDecompress(
WARN( "out of memory\n" );
goto err;
}
pMem = (BYTE*)GlobalLock( hMem );
pMem = GlobalLock( hMem );
if ( pMem == NULL )
goto err;
memcpy( pMem, lpbiOut, cbHdr );
@ -1368,7 +1368,7 @@ err:
*/
LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS pc, UINT uiFlags, LPVOID lpBits, BOOL *pfKey, LONG *plSize)
{
ICCOMPRESS* icComp = (ICCOMPRESS *)pc->lpState;
ICCOMPRESS* icComp = pc->lpState;
DWORD ret;
TRACE("(%p, 0x%08x, %p, %p, %p)\n", pc, uiFlags, lpBits, pfKey, plSize);
@ -1490,7 +1490,7 @@ BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn)
TRACE(" -- %x\n", ret);
if (ret == ICERR_OK)
{
ICCOMPRESS* icComp = (ICCOMPRESS *)pc->lpState;
ICCOMPRESS* icComp = pc->lpState;
/* Initialise some variables */
pc->lFrame = 0; pc->lKeyCount = 0;

View file

@ -19,9 +19,6 @@
#ifndef __WINE_MSVIDEO_PRIVATE_H
#define __WINE_MSVIDEO_PRIVATE_H
/* Installable Compressor Manager */
#define ICVERSION 0x0104
#define ICM_CHOOSE_COMPRESSOR 1
#define IDC_COMP_LIST 880
#define IDS_FULLFRAMES 901

View file

@ -30,7 +30,9 @@
#include "msvfw32_Nl.rc"
#include "msvfw32_No.rc"
#include "msvfw32_Pl.rc"
#include "msvfw32_Pt.rc"
#include "msvfw32_Ru.rc"
#include "msvfw32_Si.rc"
#include "msvfw32_Sv.rc"
#include "msvfw32_Tr.rc"
#include "msvfw32_Zh.rc"

View file

@ -7,7 +7,7 @@
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -50,6 +50,7 @@ static HINSTANCE MSVIDC32_hModule;
#define CRAM_MAGIC mmioFOURCC('C', 'R', 'A', 'M')
#define MSVC_MAGIC mmioFOURCC('M', 'S', 'V', 'C')
#define WHAM_MAGIC mmioFOURCC('W', 'H', 'A', 'M')
#define compare_fourcc(fcc1, fcc2) (((fcc1)^(fcc2))&~0x20202020)
#define PALETTE_COUNT 256
#define LE_16(x) ((((const uint8_t *)(x))[1] << 8) | ((const uint8_t *)(x))[0])
@ -502,7 +503,7 @@ LRESULT WINAPI CRAM_DriverProc( DWORD_PTR dwDriverId, HDRVR hdrvr, UINT msg,
TRACE("Opened\n");
if (icinfo && icinfo->fccType != ICTYPE_VIDEO) return 0;
if (icinfo && compare_fourcc(icinfo->fccType, ICTYPE_VIDEO)) return 0;
info = HeapAlloc( GetProcessHeap(), 0, sizeof (Msvideo1Context) );
if( info )

View file

@ -157,7 +157,14 @@ DWORD WINAPI fileTransfer(void *param)
/* Check if it's the stop_event */
if (WaitForMultipleObjects(2, events, FALSE, INFINITE) == WAIT_OBJECT_0)
{
LIST_FOR_EACH_ENTRY_SAFE(job, jobCur, &qmgr->jobs, BackgroundCopyJobImpl, entryFromQmgr)
{
list_remove(&job->entryFromQmgr);
IBackgroundCopyJob_Release((IBackgroundCopyJob *) job);
}
return 0;
}
/* Note that other threads may add files to the job list, but only
this thread ever deletes them so we don't need to worry about jobs

View file

@ -153,4 +153,6 @@ ServiceMain(DWORD dwArgc, LPWSTR *lpszArgv)
UpdateStatus(SERVICE_STOPPED, NO_ERROR, 0);
CloseHandle(stop_event);
TRACE("service stoped\n");
CoUninitialize();
}