58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
|
|
index b731f9b..7c806bf 100644
|
|
--- a/plugins/rdp/vinagre-rdp-tab.c
|
|
+++ b/plugins/rdp/vinagre-rdp-tab.c
|
|
@@ -574,45 +574,49 @@ frdp_pre_connect (freerdp *instance)
|
|
settings->order_support[NEG_POLYGON_CB_INDEX] = false;
|
|
settings->order_support[NEG_ELLIPSE_SC_INDEX] = false;
|
|
settings->order_support[NEG_ELLIPSE_CB_INDEX] = false;
|
|
#endif
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
static BOOL
|
|
frdp_post_connect (freerdp *instance)
|
|
{
|
|
VinagreRdpTab *rdp_tab = ((frdpContext *) instance->context)->rdp_tab;
|
|
VinagreRdpTabPrivate *priv = rdp_tab->priv;
|
|
rdpGdi *gdi;
|
|
int stride;
|
|
|
|
gdi_init (instance,
|
|
#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
|
|
!(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && \
|
|
FREERDP_VERSION_MINOR >= 2))
|
|
- CLRBUF_24BPP,
|
|
+ CLRBUF_24BPP, NULL
|
|
#else
|
|
- CLRBUF_32BPP,
|
|
+#ifdef CLRBUF_32BPP
|
|
+ CLRBUF_32BPP, NULL
|
|
+#else
|
|
+ PIXEL_FORMAT_BGRA32
|
|
+#endif
|
|
#endif
|
|
- NULL);
|
|
+ );
|
|
gdi = instance->context->gdi;
|
|
|
|
instance->update->BeginPaint = frdp_begin_paint;
|
|
instance->update->EndPaint = frdp_end_paint;
|
|
|
|
stride = cairo_format_stride_for_width (CAIRO_FORMAT_RGB24, gdi->width);
|
|
rdp_tab->priv->surface = cairo_image_surface_create_for_data ((unsigned char*) gdi->primary_buffer,
|
|
CAIRO_FORMAT_RGB24,
|
|
gdi->width,
|
|
gdi->height,
|
|
stride);
|
|
gtk_widget_queue_draw_area (priv->display,
|
|
0, 0,
|
|
gdi->width, gdi->height);
|
|
|
|
vinagre_tab_save_credentials_in_keyring (VINAGRE_TAB (rdp_tab));
|
|
vinagre_tab_add_recent_used (VINAGRE_TAB (rdp_tab));
|
|
vinagre_tab_set_state (VINAGRE_TAB (rdp_tab), VINAGRE_TAB_STATE_CONNECTED);
|
|
|
|
return TRUE;
|