From 807e2ee016386a396b7b57c3c675ff64e8b12f74 Mon Sep 17 00:00:00 2001 From: Daryl Poe Date: Thu, 25 Jul 2013 15:01:56 -0600 Subject: [PATCH] cover the case of servers asking for cached bitmaps they have never defined --- libfreerdp-cache/bitmap.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libfreerdp-cache/bitmap.c b/libfreerdp-cache/bitmap.c index c1583ac..9ed241d 100644 --- a/libfreerdp-cache/bitmap.c +++ b/libfreerdp-cache/bitmap.c @@ -33,6 +33,9 @@ void update_gdi_memblt(rdpContext* context, MEMBLT_ORDER* memblt) else bitmap = bitmap_cache_get(cache->bitmap, (uint8) memblt->cacheId, memblt->cacheIndex); + /* XP-SP2 servers sometimes ask for cached bitmaps they've never defined. */ + if (bitmap == NULL) return; + memblt->bitmap = bitmap; IFCALL(cache->bitmap->MemBlt, context, memblt); } @@ -47,6 +50,9 @@ void update_gdi_mem3blt(rdpContext* context, MEM3BLT_ORDER* mem3blt) else bitmap = bitmap_cache_get(cache->bitmap, (uint8) mem3blt->cacheId, mem3blt->cacheIndex); + /* XP-SP2 servers sometimes ask for cached bitmaps they've never defined. */ + if (bitmap == NULL) return; + mem3blt->bitmap = bitmap; IFCALL(cache->bitmap->Mem3Blt, context, mem3blt); } -- 2.5.0