settings->OrderSupport[NEG_LINETO_INDEX] = TRUE;
settings->OrderSupport[NEG_POLYLINE_INDEX] = TRUE;
settings->OrderSupport[NEG_MEMBLT_INDEX] = settings->BitmapCacheEnabled;
- settings->OrderSupport[NEG_MEM3BLT_INDEX] = (settings->SoftwareGdi) ? TRUE :
- FALSE;
+ settings->OrderSupport[NEG_MEM3BLT_INDEX] = TRUE;
settings->OrderSupport[NEG_MEMBLT_V2_INDEX] = settings->BitmapCacheEnabled;
settings->OrderSupport[NEG_MEM3BLT_V2_INDEX] = FALSE;
settings->OrderSupport[NEG_SAVEBITMAP_INDEX] = FALSE;
settings->OrderSupport[NEG_GLYPH_INDEX_INDEX] = TRUE;
settings->OrderSupport[NEG_FAST_INDEX_INDEX] = TRUE;
settings->OrderSupport[NEG_FAST_GLYPH_INDEX] = TRUE;
- settings->OrderSupport[NEG_POLYGON_SC_INDEX] = (settings->SoftwareGdi) ? FALSE :
- TRUE;
- settings->OrderSupport[NEG_POLYGON_CB_INDEX] = (settings->SoftwareGdi) ? FALSE :
- TRUE;
+ settings->OrderSupport[NEG_POLYGON_SC_INDEX] = TRUE;
+ settings->OrderSupport[NEG_POLYGON_CB_INDEX] = TRUE;
settings->OrderSupport[NEG_ELLIPSE_SC_INDEX] = FALSE;
settings->OrderSupport[NEG_ELLIPSE_CB_INDEX] = FALSE;
PubSub_SubscribeChannelConnected(instance->context->pubSub,
}
xf_gdi_register_update_callbacks(update);
+ brush_cache_register_callbacks(instance->update);
+ glyph_cache_register_callbacks(instance->update);
+ bitmap_cache_register_callbacks(instance->update);
+ offscreen_cache_register_callbacks(instance->update);
+ palette_cache_register_callbacks(instance->update);
}
#ifdef WITH_XRENDER
static BOOL xf_gdi_memblt(rdpContext* context, MEMBLT_ORDER* memblt)
{
- xfBitmap* bitmap = (xfBitmap*) memblt->bitmap;
- xfContext* xfc = (xfContext*) context;
+ xfBitmap* bitmap;
+ xfContext* xfc;
BOOL ret = TRUE;
- if (!xfc->display || !xfc->drawing)
+ if (!context || !memblt)
+ return FALSE;
+
+ bitmap = (xfBitmap*) memblt->bitmap;
+ xfc = (xfContext*) context;
+
+ if (!bitmap || !xfc || !xfc->display || !xfc->drawing)
return FALSE;
xf_lock_x11(xfc, FALSE);