Author: jgardou Date: Fri Aug 6 21:33:37 2010 New Revision: 48471
URL: http://svn.reactos.org/svn/reactos?rev=48471&view=rev Log: [WIN32K] - sync with trunk (48469)
Modified: branches/reactos-yarotows/ (props changed) branches/reactos-yarotows/dll/win32/jscript/jscript_Si.rc (props changed) branches/reactos-yarotows/dll/win32/ole32/ole2.c branches/reactos-yarotows/dll/win32/oleaut32/oleaut32.spec branches/reactos-yarotows/dll/win32/oleaut32/typelib.c branches/reactos-yarotows/dll/win32/oleaut32/typelib2.c branches/reactos-yarotows/drivers/filesystems/cdfs/cdfs.h branches/reactos-yarotows/drivers/filesystems/cdfs/fsctl.c branches/reactos-yarotows/subsystems/win32/csrss/win32csr/ (props changed) branches/reactos-yarotows/subsystems/win32/win32k/eng/xlate.c
Propchange: branches/reactos-yarotows/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Aug 6 21:33:37 2010 @@ -1,4 +1,4 @@ /branches/header-work:45691-47721 /branches/ros-amd64-bringup:36852 /branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34770,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36443,36445,36475,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36990,36992,37019,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41483-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43852,43857-43858,43860,43905-43907,43952,43954,43965,43969,43979,43981,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,46868,47472,47846-47847,47878,47882 -/trunk/reactos:45219-48463 +/trunk/reactos:45219-48470
Propchange: branches/reactos-yarotows/dll/win32/jscript/jscript_Si.rc ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Aug 6 21:33:37 2010 @@ -2,4 +2,4 @@ /branches/reactos-yarotows/dll/win32/jscript/jscript_Si.rc:46848,46966,47800 /branches/ros-amd64-bringup/dll/win32/jscript/jscript_Si.rc:36852 /branches/ros-amd64-bringup/reactos/dll/win32/jscript/jscript_Si.rc:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43969,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44772,45124,45126-45127,46394,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805 -/trunk/reactos/dll/win32/jscript/jscript_Si.rc:47414-48463 +/trunk/reactos/dll/win32/jscript/jscript_Si.rc:47414-48470
Modified: branches/reactos-yarotows/dll/win32/ole32/ole2.c URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/ole32... ============================================================================== --- branches/reactos-yarotows/dll/win32/ole32/ole2.c [iso-8859-1] (original) +++ branches/reactos-yarotows/dll/win32/ole32/ole2.c [iso-8859-1] Fri Aug 6 21:33:37 2010 @@ -409,6 +409,7 @@ HRESULT hr; IStream *stream; HANDLE map; + IUnknown *unk;
TRACE("(%p,%p)\n", hwnd, pDropTarget);
@@ -449,7 +450,15 @@ hr = CreateStreamOnHGlobal(NULL, TRUE, &stream); if(FAILED(hr)) return hr;
- hr = CoMarshalInterface(stream, &IID_IDropTarget, (IUnknown*)pDropTarget, MSHCTX_LOCAL, NULL, MSHLFLAGS_TABLESTRONG); + hr = IDropTarget_QueryInterface(pDropTarget, &IID_IUnknown, (void**)&unk); + if(FAILED(hr)) + { + IStream_Release(stream); + return hr; + } + hr = CoMarshalInterface(stream, &IID_IDropTarget, unk, MSHCTX_LOCAL, NULL, MSHLFLAGS_TABLESTRONG); + IUnknown_Release(unk); + if(SUCCEEDED(hr)) { hr = create_map_from_stream(stream, &map);
Modified: branches/reactos-yarotows/dll/win32/oleaut32/oleaut32.spec URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/oleau... ============================================================================== --- branches/reactos-yarotows/dll/win32/oleaut32/oleaut32.spec [iso-8859-1] (original) +++ branches/reactos-yarotows/dll/win32/oleaut32/oleaut32.spec [iso-8859-1] Fri Aug 6 21:33:37 2010 @@ -410,6 +410,8 @@ 439 stdcall VarUI8FromUI2(long ptr) 440 stdcall VarUI8FromUI4(long ptr) 441 stdcall VarUI8FromDec(long ptr) +442 stdcall RegisterTypeLibForUser(ptr wstr wstr) +443 stdcall UnRegisterTypeLibForUser(ptr long long long long)
@ stdcall -private DllCanUnloadNow() @ stdcall -private DllGetClassObject(ptr ptr ptr)
Modified: branches/reactos-yarotows/dll/win32/oleaut32/typelib.c URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/oleau... ============================================================================== --- branches/reactos-yarotows/dll/win32/oleaut32/typelib.c [iso-8859-1] (original) +++ branches/reactos-yarotows/dll/win32/oleaut32/typelib.c [iso-8859-1] Fri Aug 6 21:33:37 2010 @@ -901,6 +901,49 @@ if (subKey) RegCloseKey(subKey); if (key) RegCloseKey(key); return result; +} + +/****************************************************************************** + * RegisterTypeLibForUser [OLEAUT32.442] + * Adds information about a type library to the user registry + * NOTES + * Docs: ITypeLib FAR * ptlib + * Docs: OLECHAR FAR* szFullPath + * Docs: OLECHAR FAR* szHelpDir + * + * RETURNS + * Success: S_OK + * Failure: Status + */ +HRESULT WINAPI RegisterTypeLibForUser( + ITypeLib * ptlib, /* [in] Pointer to the library*/ + OLECHAR * szFullPath, /* [in] full Path of the library*/ + OLECHAR * szHelpDir) /* [in] dir to the helpfile for the library, + may be NULL*/ +{ + FIXME("(%p, %s, %s) registering the typelib system-wide\n", ptlib, + debugstr_w(szFullPath), debugstr_w(szHelpDir)); + return RegisterTypeLib(ptlib, szFullPath, szHelpDir); +} + +/****************************************************************************** + * UnRegisterTypeLibForUser [OLEAUT32.443] + * Removes information about a type library from the user registry + * + * RETURNS + * Success: S_OK + * Failure: Status + */ +HRESULT WINAPI UnRegisterTypeLibForUser( + REFGUID libid, /* [in] GUID of the library */ + WORD wVerMajor, /* [in] major version */ + WORD wVerMinor, /* [in] minor version */ + LCID lcid, /* [in] locale id */ + SYSKIND syskind) +{ + FIXME("(%s, %u, %u, %u, %u) unregistering the typelib system-wide\n", + debugstr_guid(libid), wVerMajor, wVerMinor, lcid, syskind); + return UnRegisterTypeLib(libid, wVerMajor, wVerMinor, lcid, syskind); }
/*======================= ITypeLib implementation =======================*/ @@ -6017,13 +6060,13 @@ unsigned int var_index; TYPEKIND type_kind; HRESULT hres; - const TLBFuncDesc *pFuncInfo = This->funclist; + const TLBFuncDesc *pFuncInfo;
TRACE("(%p)(%p,id=%d,flags=0x%08x,%p,%p,%p,%p)\n", This,pIUnk,memid,wFlags,pDispParams,pVarResult,pExcepInfo,pArgErr );
- if( pFuncInfo->funcdesc.wFuncFlags == FUNCFLAG_FRESTRICTED ) + if( This->TypeAttr.wTypeFlags & TYPEFLAG_FRESTRICTED ) return DISP_E_MEMBERNOTFOUND;
if (!pDispParams) @@ -6045,7 +6088,8 @@ * FUNCDESC for dispinterfaces and we want the real function description */ for (pFuncInfo = This->funclist; pFuncInfo; pFuncInfo=pFuncInfo->next) if ((memid == pFuncInfo->funcdesc.memid) && - (wFlags & pFuncInfo->funcdesc.invkind)) + (wFlags & pFuncInfo->funcdesc.invkind) && + (pFuncInfo->funcdesc.wFuncFlags & FUNCFLAG_FRESTRICTED) == 0) break;
if (pFuncInfo) {
Modified: branches/reactos-yarotows/dll/win32/oleaut32/typelib2.c URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/oleau... ============================================================================== --- branches/reactos-yarotows/dll/win32/oleaut32/typelib2.c [iso-8859-1] (original) +++ branches/reactos-yarotows/dll/win32/oleaut32/typelib2.c [iso-8859-1] Fri Aug 6 21:33:37 2010 @@ -317,7 +317,7 @@ while (offset != -1) { guidentry = (MSFT_GuidEntry *)&This->typelib_segment_data[MSFT_SEG_GUID][offset];
- if (!memcmp(guidentry, guid, sizeof(GUID))) return offset; + if (IsEqualGUID(guidentry, guid)) return offset;
offset = guidentry->next_hash; } @@ -1695,7 +1695,7 @@ impinfo.oGuid = guid_offset; *phRefType = ctl2_alloc_importinfo(This->typelib, &impinfo)+1;
- if(!memcmp(&guid.guid, &IID_IDispatch, sizeof(GUID))) + if(IsEqualGUID(&guid.guid, &IID_IDispatch)) This->typelib->typelib_header.dispatchpos = *phRefType; }
@@ -2469,7 +2469,7 @@ return hres; }
- if(!memcmp(&typeattr->guid, &IID_IDispatch, sizeof(IDispatch))) + if(IsEqualGUID(&typeattr->guid, &IID_IDispatch)) This->typeinfo->flags |= TYPEFLAG_FDISPATCHABLE;
This->typeinfo->datatype2 += (typeattr->cFuncs<<16) + 1;
Modified: branches/reactos-yarotows/drivers/filesystems/cdfs/cdfs.h URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/filesys... ============================================================================== --- branches/reactos-yarotows/drivers/filesystems/cdfs/cdfs.h [iso-8859-1] (original) +++ branches/reactos-yarotows/drivers/filesystems/cdfs/cdfs.h [iso-8859-1] Fri Aug 6 21:33:37 2010 @@ -142,7 +142,7 @@ ULONG JolietLevel; ULONG RootStart; ULONG RootSize; - WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH]; + WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR)]; ULONG VolumeLabelLength; ULONG SerialNumber; } CDINFO, *PCDINFO;
Modified: branches/reactos-yarotows/drivers/filesystems/cdfs/fsctl.c URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/filesys... ============================================================================== --- branches/reactos-yarotows/drivers/filesystems/cdfs/fsctl.c [iso-8859-1] (original) +++ branches/reactos-yarotows/drivers/filesystems/cdfs/fsctl.c [iso-8859-1] Fri Aug 6 21:33:37 2010 @@ -73,11 +73,24 @@ /* Extract the volume label */ pc = Pvd->VolumeId; pw = CdInfo->VolumeLabel; - for (i = 0; i < MAXIMUM_VOLUME_LABEL_LENGTH && *pc != ' '; i++) + for (i = 0; i < MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR); i++) { *pw++ = (WCHAR)*pc++; } *pw = 0; + + /* Trim trailing spaces */ + while (pw > CdInfo->VolumeLabel) + { + if (*--pw != ' ') break; + + /* Remove the space */ + *pw = '\0'; + + /* Decrease size */ + i--; + } + CdInfo->VolumeLabelLength = i * sizeof(WCHAR);
CdInfo->VolumeSpaceSize = Pvd->VolumeSpaceSizeL;
Propchange: branches/reactos-yarotows/subsystems/win32/csrss/win32csr/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Aug 6 21:33:37 2010 @@ -1,4 +1,4 @@ /branches/header-work/subsystems/win32/csrss/win32csr:45691-46463 /branches/ros-amd64-bringup/reactos/subsystems/win32/csrss/win32csr:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43969,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44772,45124,45126-45127,46394,46478,46511,46524,46526,46534-46535,46537-46539,46589 /branches/ros-amd64-bringup/subsystems/win32/csrss/win32csr:36852 -/trunk/reactos/subsystems/win32/csrss/win32csr:45219-48463 +/trunk/reactos/subsystems/win32/csrss/win32csr:45219-48470
Modified: branches/reactos-yarotows/subsystems/win32/win32k/eng/xlate.c URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win3... ============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/eng/xlate.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/eng/xlate.c [iso-8859-1] Fri Aug 6 21:33:37 2010 @@ -83,24 +83,45 @@ { ULONG iNewColor;
+ /* Copy blue */ + iColor >>= 3; + iNewColor = iColor & 0x1F; + + /* Copy green */ + iColor >>= 3; + iNewColor |= iColor & 0x3E0; + + /* Copy red */ + iColor >>= 3; + iNewColor |= iColor & 0x7C00; + + return iNewColor; +} + +ULONG +FASTCALL +EXLATEOBJ_iXlateBGRto555(PEXLATEOBJ pxlo, ULONG iColor) +{ + ULONG iNewColor; + /* Copy red */ iColor <<= 7; iNewColor = iColor & 0x7C00;
/* Copy green */ iColor >>= 13; - iNewColor |= iColor & 0x3E0; - - /* Copy green */ + iNewColor |= (iColor & 0x3E0); + + /* Copy blue */ iColor >>= 13; - iNewColor |= iColor & 0x1F; - - return iNewColor; -} - -ULONG -FASTCALL -EXLATEOBJ_iXlateBGRto555(PEXLATEOBJ pxlo, ULONG iColor) + iNewColor |= (iColor & 0x1F); + + return iNewColor; +} + +ULONG +FASTCALL +EXLATEOBJ_iXlateRGBto565(PEXLATEOBJ pxlo, ULONG iColor) { ULONG iNewColor;
@@ -109,19 +130,19 @@ iNewColor = iColor & 0x1f;
/* Copy green */ - iColor >>= 3; - iNewColor |= (iColor & 0x3E0); + iColor >>= 2; + iNewColor |= (iColor & 0x7E0);
/* Copy red */ iColor >>= 3; - iNewColor |= (iColor & 0x7C00); - - return iNewColor; -} - -ULONG -FASTCALL -EXLATEOBJ_iXlateRGBto565(PEXLATEOBJ pxlo, ULONG iColor) + iNewColor |= (iColor & 0xF800); + + return iNewColor; +} + +ULONG +FASTCALL +EXLATEOBJ_iXlateBGRto565(PEXLATEOBJ pxlo, ULONG iColor) { ULONG iNewColor;
@@ -142,35 +163,34 @@
ULONG FASTCALL -EXLATEOBJ_iXlateBGRto565(PEXLATEOBJ pxlo, ULONG iColor) -{ - ULONG iNewColor; - - /* Copy blue */ - iColor >>= 3; - iNewColor = iColor & 0x1f; - - /* Copy green */ - iColor >>= 2; - iNewColor |= (iColor & 0x7E0); +EXLATEOBJ_iXlateRGBtoPal(PEXLATEOBJ pexlo, ULONG iColor) +{ + return PALETTE_ulGetNearestPaletteIndex(pexlo->ppalDst, iColor); +} + +ULONG +FASTCALL +EXLATEOBJ_iXlate555toRGB(PEXLATEOBJ pxlo, ULONG iColor) +{ + ULONG iNewColor; + + /* Copy blue */ + iNewColor = gajXlate5to8[iColor & 0x1F]; + + /* Copy green */ + iColor >>= 5; + iNewColor |= gajXlate5to8[iColor & 0x1F] << 8;
/* Copy red */ - iColor >>= 3; - iNewColor |= (iColor & 0xF800); - - return iNewColor; -} - -ULONG -FASTCALL -EXLATEOBJ_iXlateRGBtoPal(PEXLATEOBJ pexlo, ULONG iColor) -{ - return PALETTE_ulGetNearestPaletteIndex(pexlo->ppalDst, iColor); -} - -ULONG -FASTCALL -EXLATEOBJ_iXlate555toRGB(PEXLATEOBJ pxlo, ULONG iColor) + iColor >>= 5; + iNewColor |= gajXlate5to8[iColor & 0x1F] << 16; + + return iNewColor; +} + +ULONG +FASTCALL +EXLATEOBJ_iXlate555toBGR(PEXLATEOBJ pxlo, ULONG iColor) { ULONG iNewColor;
@@ -190,26 +210,6 @@
ULONG FASTCALL -EXLATEOBJ_iXlate555toBGR(PEXLATEOBJ pxlo, ULONG iColor) -{ - ULONG iNewColor; - - /* Copy blue */ - iNewColor = gajXlate5to8[iColor & 0x1F]; - - /* Copy green */ - iColor >>= 5; - iNewColor |= gajXlate5to8[iColor & 0x1F] << 8; - - /* Copy red */ - iColor >>= 5; - iNewColor |= gajXlate5to8[iColor & 0x1F] << 16; - - return iNewColor; -} - -ULONG -FASTCALL EXLATEOBJ_iXlate555to565(PEXLATEOBJ pxlo, ULONG iColor) { ULONG iNewColor; @@ -260,6 +260,26 @@ ULONG iNewColor;
/* Copy blue */ + iNewColor = gajXlate5to8[iColor & 0x1F]; + + /* Copy green */ + iColor >>= 5; + iNewColor |= gajXlate6to8[iColor & 0x3F] << 8; + + /* Copy red */ + iColor >>= 6; + iNewColor |= gajXlate5to8[iColor & 0x1F] << 16; + + return iNewColor; +} + +ULONG +FASTCALL +EXLATEOBJ_iXlate565toBGR(PEXLATEOBJ pexlo, ULONG iColor) +{ + ULONG iNewColor; + + /* Copy blue */ iNewColor = gajXlate5to8[iColor & 0x1F] << 16;
/* Copy green */ @@ -269,26 +289,6 @@ /* Copy red */ iColor >>= 6; iNewColor |= gajXlate5to8[iColor & 0x1F]; - - return iNewColor; -} - -ULONG -FASTCALL -EXLATEOBJ_iXlate565toBGR(PEXLATEOBJ pexlo, ULONG iColor) -{ - ULONG iNewColor; - - /* Copy blue */ - iNewColor = gajXlate5to8[iColor & 0x1F]; - - /* Copy green */ - iColor >>= 5; - iNewColor |= gajXlate6to8[iColor & 0x3F] << 8; - - /* Copy blue */ - iColor >>= 6; - iNewColor |= gajXlate5to8[iColor & 0x1F] << 16;
return iNewColor; }