Dylan Smith : wordpad: Avoid unnecessary deletion of hdcSized.
Alexandre Julliard
julliard at winehq.org
Mon Feb 22 08:46:52 CST 2010
Module: wine
Branch: master
Commit: f235c48cae7cf27c5e5a44972856f1ce6caf2c8b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f235c48cae7cf27c5e5a44972856f1ce6caf2c8b
Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date: Mon Feb 22 03:18:29 2010 -0500
wordpad: Avoid unnecessary deletion of hdcSized.
---
programs/wordpad/print.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/programs/wordpad/print.c b/programs/wordpad/print.c
index 868f992..5c679ea 100644
--- a/programs/wordpad/print.c
+++ b/programs/wordpad/print.c
@@ -927,16 +927,20 @@ LRESULT CALLBACK ruler_proc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
static void draw_preview_page(HDC hdc, HDC* hdcSized, FORMATRANGE* lpFr, float ratio, int bmNewWidth, int bmNewHeight, int bmWidth, int bmHeight)
{
HBITMAP hBitmapScaled = CreateCompatibleBitmap(hdc, bmNewWidth, bmNewHeight);
+ HBITMAP oldbm;
HPEN hPen, oldPen;
int TopMargin = (int)((float)twips_to_pixels(lpFr->rc.top, GetDeviceCaps(hdc, LOGPIXELSX)) * ratio);
int BottomMargin = (int)((float)twips_to_pixels(lpFr->rc.bottom, GetDeviceCaps(hdc, LOGPIXELSX)) * ratio);
int LeftMargin = (int)((float)twips_to_pixels(lpFr->rc.left, GetDeviceCaps(hdc, LOGPIXELSY)) * ratio);
int RightMargin = (int)((float)twips_to_pixels(lpFr->rc.right, GetDeviceCaps(hdc, LOGPIXELSY)) * ratio);
- if(*hdcSized)
- DeleteDC(*hdcSized);
- *hdcSized = CreateCompatibleDC(hdc);
- SelectObject(*hdcSized, hBitmapScaled);
+ if(*hdcSized) {
+ oldbm = SelectObject(*hdcSized, hBitmapScaled);
+ DeleteObject(oldbm);
+ } else {
+ *hdcSized = CreateCompatibleDC(hdc);
+ SelectObject(*hdcSized, hBitmapScaled);
+ }
StretchBlt(*hdcSized, 0, 0, bmNewWidth, bmNewHeight, hdc, 0, 0, bmWidth, bmHeight, SRCCOPY);
More information about the wine-cvs
mailing list