summaryrefslogtreecommitdiff
path: root/0002-freerdp2-32bpp.patch
diff options
context:
space:
mode:
Diffstat (limited to '0002-freerdp2-32bpp.patch')
-rw-r--r--0002-freerdp2-32bpp.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/0002-freerdp2-32bpp.patch b/0002-freerdp2-32bpp.patch
new file mode 100644
index 0000000..f429c1c
--- /dev/null
+++ b/0002-freerdp2-32bpp.patch
@@ -0,0 +1,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;