From 8ea545ec96c4b66b9bcfe5f8dbb7bcaa4bc34918 Mon Sep 17 00:00:00 2001
From: FunkyFr3sh <cc.red.alert.1@googlemail.com>
Date: Wed, 28 Sep 2022 03:20:29 +0200
Subject: [PATCH] #177 fix text drawing

---
 src/ddsurface.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/ddsurface.c b/src/ddsurface.c
index f8c4da8..a64ce28 100644
--- a/src/ddsurface.c
+++ b/src/ddsurface.c
@@ -1224,7 +1224,7 @@ HRESULT dd_CreateSurface(
         dst_surface->bmi = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, bmi_size);
         dst_surface->bmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
         dst_surface->bmi->bmiHeader.biWidth = aligned_width;
-        dst_surface->bmi->bmiHeader.biHeight = -((int)dst_surface->height + guard_lines);
+        dst_surface->bmi->bmiHeader.biHeight = -((int)dst_surface->height);
         dst_surface->bmi->bmiHeader.biPlanes = 1;
         dst_surface->bmi->bmiHeader.biBitCount = dst_surface->bpp;
         dst_surface->bmi->bmiHeader.biCompression = dst_surface->bpp == 8 ? BI_RGB : BI_BITFIELDS;
@@ -1292,6 +1292,11 @@ HRESULT dd_CreateSurface(
             }
         }
 
+        if (!dst_surface->surface_mapping)
+        {
+            dst_surface->bmi->bmiHeader.biHeight = -((int)dst_surface->height + guard_lines);
+        }
+
         dst_surface->bitmap =
             CreateDIBSection(
                 dst_surface->hdc,