From 22942d0ae4a151696a302186cd651a2673ae0f93 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Thu, 29 May 2008 19:44:23 +0000 Subject: [PATCH] remove hFirstBitmap from the WIN_DC_INFO struct, wasn't used anyway and use StockObject(DEFAULT_BITMAP) for the default bitmap when creating a mem dc as on windows. svn path=/trunk/; revision=33762 --- reactos/subsystems/win32/win32k/include/dc.h | 1 - reactos/subsystems/win32/win32k/objects/dc.c | 29 +++----------------- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/reactos/subsystems/win32/win32k/include/dc.h b/reactos/subsystems/win32/win32k/include/dc.h index 7dbd2050482..0a41b50a077 100644 --- a/reactos/subsystems/win32/win32k/include/dc.h +++ b/reactos/subsystems/win32/win32k/include/dc.h @@ -59,7 +59,6 @@ typedef struct _WIN_DC_INFO HRGN hGCClipRgn; /* GC clip region (ClipRgn AND VisRgn) */ HBITMAP hBitmap; - HBITMAP hFirstBitmap; /* Bitmap selected at creation of the DC */ /* #if 0 */ GdiPath path; diff --git a/reactos/subsystems/win32/win32k/objects/dc.c b/reactos/subsystems/win32/win32k/objects/dc.c index d73aa4470b7..ad970b42fbc 100644 --- a/reactos/subsystems/win32/win32k/objects/dc.c +++ b/reactos/subsystems/win32/win32k/objects/dc.c @@ -60,7 +60,6 @@ NtGdiCreateCompatibleDC(HDC hDC) { PDC NewDC, OrigDC; PDC_ATTR nDc_Attr, oDc_Attr; - HBITMAP hBitmap; HDC hNewDC, DisplayDC; HRGN hVisRgn; UNICODE_STRING DriverName; @@ -118,21 +117,8 @@ NtGdiCreateCompatibleDC(HDC hDC) nDc_Attr->ptlViewportOrg = oDc_Attr->ptlViewportOrg; nDc_Attr->szlViewportExt = oDc_Attr->szlViewportExt; - /* Create default bitmap */ - if (!(hBitmap = IntGdiCreateBitmap( 1, 1, 1, NewDC->w.bitsPerPixel, NULL ))) - { - DC_UnlockDc( OrigDC ); - DC_UnlockDc( NewDC ); - DC_FreeDC( hNewDC ); - if (NULL != DisplayDC) - { - NtGdiDeleteObjectApp(DisplayDC); - } - return NULL; - } NewDC->DC_Type = DC_TYPE_MEMORY; // Always! - NewDC->w.hBitmap = hBitmap; - NewDC->w.hFirstBitmap = hBitmap; + NewDC->w.hBitmap = NtGdiGetStockObject(DEFAULT_BITMAP); NewDC->pPDev = OrigDC->pPDev; NewDC->DcLevel.hpal = OrigDC->DcLevel.hpal; @@ -1024,10 +1010,6 @@ IntGdiDeleteDC(HDC hDC, BOOL Force) NtGdiSelectBrush (DCHandle, STOCK_WHITE_BRUSH); NtGdiSelectFont (DCHandle, STOCK_SYSTEM_FONT); DC_LockDC (DCHandle); NtGdiSelectXxx does not recognize stock objects yet */ - if (DCToDelete->DC_Type == DC_TYPE_MEMORY) - { - NtGdiDeleteObject (DCToDelete->w.hFirstBitmap); - } if (DCToDelete->XlateBrush != NULL) EngDeleteXlate(DCToDelete->XlateBrush); if (DCToDelete->XlatePen != NULL) @@ -1042,9 +1024,9 @@ IntGdiDeleteDC(HDC hDC, BOOL Force) NtGdiDeleteObject (DCToDelete->w.hVisRgn); } if (NULL != DCToDelete->CombinedClip) - { - IntEngDeleteClipRegion(DCToDelete->CombinedClip); - } + { + IntEngDeleteClipRegion(DCToDelete->CombinedClip); + } if (DCToDelete->w.hGCClipRgn) { NtGdiDeleteObject (DCToDelete->w.hGCClipRgn); @@ -1336,7 +1318,6 @@ IntGdiCopyToSaveState(PDC dc, PDC newdc) nDc_Attr->hbrush = Dc_Attr->hbrush; nDc_Attr->hlfntNew = Dc_Attr->hlfntNew; newdc->w.hBitmap = dc->w.hBitmap; - newdc->w.hFirstBitmap = dc->w.hFirstBitmap; newdc->DcLevel.hpal = dc->DcLevel.hpal; newdc->w.totalExtent = dc->w.totalExtent; newdc->w.bitsPerPixel = dc->w.bitsPerPixel; @@ -1405,8 +1386,6 @@ IntGdiCopyFromSaveState(PDC dc, PDC dcs, HDC hDC) dc->DcLevel.flPath = dcs->DcLevel.flPath & ~DCPATH_SAVE; - dc->w.hFirstBitmap = dcs->w.hFirstBitmap; - Dc_Attr->dwLayout = sDc_Attr->dwLayout; dc->w.totalExtent = dcs->w.totalExtent; Dc_Attr->jROP2 = sDc_Attr->jROP2;