git://git.jankratochvil.net
/
reactos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
branch update for HEAD-2003050101
[reactos.git]
/
subsys
/
win32k
/
objects
/
bitmaps.c
diff --git
a/subsys/win32k/objects/bitmaps.c
b/subsys/win32k/objects/bitmaps.c
index
f8d37ca
..
9a55690
100644
(file)
--- a/
subsys/win32k/objects/bitmaps.c
+++ b/
subsys/win32k/objects/bitmaps.c
@@
-4,6
+4,7
@@
#include <win32k/bitmaps.h>
//#include <win32k/debug.h>
#include "../eng/handle.h"
#include <win32k/bitmaps.h>
//#include <win32k/debug.h>
#include "../eng/handle.h"
+#include <include/inteng.h>
#define NDEBUG
#include <win32k/debug1.h>
#define NDEBUG
#include <win32k/debug1.h>
@@
-26,7
+27,7
@@
BOOL STDCALL W32kBitBlt(HDC hDCDest,
POINTL SourcePoint;
PBITMAPOBJ DestBitmapObj;
PBITMAPOBJ SrcBitmapObj;
POINTL SourcePoint;
PBITMAPOBJ DestBitmapObj;
PBITMAPOBJ SrcBitmapObj;
- BOOL Status, SurfDestAlloc, SurfSrcAlloc;
+ BOOL Status, SurfDestAlloc, SurfSrcAlloc
, XlateAlloc
;
PPALOBJ DCLogPal;
PPALGDI PalDestGDI, PalSourceGDI;
PXLATEOBJ XlateObj = NULL;
PPALOBJ DCLogPal;
PPALGDI PalDestGDI, PalSourceGDI;
PXLATEOBJ XlateObj = NULL;
@@
-48,6
+49,7
@@
BOOL STDCALL W32kBitBlt(HDC hDCDest,
SurfDestAlloc = FALSE;
SurfSrcAlloc = FALSE;
SurfDestAlloc = FALSE;
SurfSrcAlloc = FALSE;
+ XlateAlloc = FALSE;
// Determine surfaces to be used in the bitblt
SurfDest = (PSURFOBJ)AccessUserObject(DCDest->Surface);
// Determine surfaces to be used in the bitblt
SurfDest = (PSURFOBJ)AccessUserObject(DCDest->Surface);
@@
-81,15
+83,17
@@
BOOL STDCALL W32kBitBlt(HDC hDCDest,
PalDestGDI = (PPALGDI)AccessInternalObject(DestPalette);
PalSourceGDI = (PPALGDI)AccessInternalObject(SourcePalette);
PalDestGDI = (PPALGDI)AccessInternalObject(DestPalette);
PalSourceGDI = (PPALGDI)AccessInternalObject(SourcePalette);
- XlateObj = (PXLATEOBJ)EngCreateXlate(PalDestGDI->Mode, PalSourceGDI->Mode, DestPalette, SourcePalette);
+ XlateObj = (PXLATEOBJ)IntEngCreateXlate(PalDestGDI->Mode, PalSourceGDI->Mode, DestPalette, SourcePalette);
+ XlateAlloc = TRUE;
}
// Perform the bitblt operation
}
// Perform the bitblt operation
- Status = EngBitBlt(SurfDest, SurfSrc, NULL, NULL, XlateObj, &DestRect, &SourcePoint, NULL, NULL, NULL, ROP);
+ Status =
Int
EngBitBlt(SurfDest, SurfSrc, NULL, NULL, XlateObj, &DestRect, &SourcePoint, NULL, NULL, NULL, ROP);
- if(SurfDestAlloc == TRUE) ExFreePool(SurfDest);
- if(SurfSrcAlloc == TRUE) ExFreePool(SurfSrc);
+ if (XlateAlloc) EngDeleteXlate(XlateObj);
+ if (SurfDestAlloc) ExFreePool(SurfDest);
+ if (SurfSrcAlloc) ExFreePool(SurfSrc);
DC_ReleasePtr(hDCDest);
DC_ReleasePtr(hDCSrc);
DC_ReleasePtr(hDCDest);
DC_ReleasePtr(hDCSrc);