libfreerdp-gdi: merge fix from ngraziano for offscreen cache handling
authorMarc-André Moreau <marcandre.moreau@gmail.com>
Wed, 12 Oct 2011 01:15:32 +0000 (21:15 -0400)
committerMarc-André Moreau <marcandre.moreau@gmail.com>
Wed, 12 Oct 2011 01:15:32 +0000 (21:15 -0400)
1  2 
client/X11/xf_gdi.c
libfreerdp-gdi/gdi.c

@@@ -616,7 -617,12 +617,12 @@@ void xf_gdi_memblt(rdpUpdate* update, M
        xfInfo* xfi = GET_XFI(update);
  
        xf_set_rop3(xfi, gdi_rop3_code(memblt->bRop));
-       bitmap_cache_get(xfi->cache->bitmap, memblt->cacheId, memblt->cacheIndex, (void**) &extra);
 -      if(memblt->cacheId == 255)
 -              extra = offscreen_get(xfi->cache->offscreen, memblt->cacheIndex);
++      if(memblt->cacheId == 0xFF)
++              extra = offscreen_cache_get(xfi->cache->offscreen, memblt->cacheIndex);
+       else
 -              bitmap_v2_get(xfi->cache->bitmap_v2, memblt->cacheId, memblt->cacheIndex, (void**) &extra);
++              bitmap_cache_get(xfi->cache->bitmap, memblt->cacheId, memblt->cacheIndex, (void**) &extra);
        bitmap = (Pixmap) extra;
  
        if (extra == NULL)
@@@ -651,7 -651,11 +651,11 @@@ void gdi_memblt(rdpUpdate* update, MEMB
        GDI_IMAGE* gdi_bmp;
        GDI* gdi = GET_GDI(update);
  
-       bitmap_cache_get(gdi->cache->bitmap, memblt->cacheId, memblt->cacheIndex, (void**) &extra);
 -      if(memblt->cacheId == 255)
 -              extra = offscreen_get(gdi->cache->offscreen, memblt->cacheIndex);
++      if(memblt->cacheId == 0xFF)
++              extra = offscreen_cache_get(gdi->cache->offscreen, memblt->cacheIndex);
+       else
 -              bitmap_v2_get(gdi->cache->bitmap_v2, memblt->cacheId, memblt->cacheIndex, (void**) &extra);
++              bitmap_cache_get(gdi->cache->bitmap, memblt->cacheId, memblt->cacheIndex, (void**) &extra);
        gdi_bmp = (GDI_IMAGE*) extra;
  
        if (extra == NULL)