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/ole2.c?rev=48471&r1=48470&r2=48471&view=diff
==============================================================================
--- 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/oleaut32/oleaut32.spec?rev=48471&r1=48470&r2=48471&view=diff
==============================================================================
--- 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/oleaut32/typelib.c?rev=48471&r1=48470&r2=48471&view=diff
==============================================================================
--- 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/oleaut32/typelib2.c?rev=48471&r1=48470&r2=48471&view=diff
==============================================================================
--- 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/filesystems/cdfs/cdfs.h?rev=48471&r1=48470&r2=48471&view=diff
==============================================================================
--- 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/filesystems/cdfs/fsctl.c?rev=48471&r1=48470&r2=48471&view=diff
==============================================================================
--- 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/win32/win32k/eng/xlate.c?rev=48471&r1=48470&r2=48471&view=diff
==============================================================================
--- 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;
 }


Reply via email to