1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
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;
|