diff --git a/DDrawCompat/D3dDdi/SurfaceRepository.cpp b/DDrawCompat/D3dDdi/SurfaceRepository.cpp index 5c9fb03..2d989af 100644 --- a/DDrawCompat/D3dDdi/SurfaceRepository.cpp +++ b/DDrawCompat/D3dDdi/SurfaceRepository.cpp @@ -117,6 +117,21 @@ namespace D3dDdi if (cursor != m_cursor) { m_cursor = cursor; + + std::unique_ptr resizedCursor(reinterpret_cast( + CopyImage(cursor, IMAGE_CURSOR, 32, 32, LR_COPYRETURNORG | LR_COPYFROMRESOURCE)), DestroyCursor); + if (resizedCursor) + { + if (resizedCursor.get() == cursor) + { + resizedCursor.release(); + } + else + { + cursor = resizedCursor.get(); + } + } + ICONINFO iconInfo = {}; if (!GetIconInfo(cursor, &iconInfo)) {