Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FreeRDP/FreeRDP-old.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Moreau <marcandre.moreau@gmail.com>2011-06-28 18:02:12 +0400
committerMarc-André Moreau <marcandre.moreau@gmail.com>2011-06-28 18:02:12 +0400
commitc64c24ae7bd16607b3e56e50b7ade4efea0f0d1a (patch)
treeed359acfcbdb96e9e3e615af5d1318296cd26e0c
parent6acc9e53e1c4dda5c8c2995140d936b9706dffd3 (diff)
parent2e5b06532e588f97cc35bf03b40a8246d78b34d0 (diff)
Merge pull request #53 from dorianj/master
libfreerdp-core: When server orders a screen bpp change, call ui_resize_window
-rw-r--r--X11/xf_win.c8
-rw-r--r--libfreerdp-core/capabilities.c1
-rw-r--r--libfreerdp-gdi/gdi.c2
3 files changed, 11 insertions, 0 deletions
diff --git a/X11/xf_win.c b/X11/xf_win.c
index c4947ae..ce1cc7f 100644
--- a/X11/xf_win.c
+++ b/X11/xf_win.c
@@ -787,6 +787,14 @@ l_ui_reset_clip(struct rdp_inst * inst)
static void
l_ui_resize_window(struct rdp_inst * inst)
{
+ xfInfo * xfi = GET_XFI(inst);
+
+ if (xfi->settings->software_gdi == 1)
+ {
+ gdi_free(inst);
+ gdi_init(inst, CLRCONV_ALPHA | CLRBUF_32BPP);
+ }
+
printf("ui_resize_window:\n");
}
diff --git a/libfreerdp-core/capabilities.c b/libfreerdp-core/capabilities.c
index 22d236e..cbbd6cd 100644
--- a/libfreerdp-core/capabilities.c
+++ b/libfreerdp-core/capabilities.c
@@ -168,6 +168,7 @@ void rdp_process_bitmap_capset(rdpRdp * rdp, STREAM s)
ui_warning(rdp->inst, "Remote desktop does not support color depth %d; falling back to %d\n",
rdp->settings->server_depth, preferredBitsPerPixel);
rdp->settings->server_depth = preferredBitsPerPixel;
+ ui_resize_window(rdp->inst);
}
if (rdp->settings->width != desktopWidth || rdp->settings->height != desktopHeight)
{
diff --git a/libfreerdp-gdi/gdi.c b/libfreerdp-gdi/gdi.c
index 8135caa..8e86736 100644
--- a/libfreerdp-gdi/gdi.c
+++ b/libfreerdp-gdi/gdi.c
@@ -1202,4 +1202,6 @@ void gdi_free(rdpInst* inst)
free(gdi->clrconv);
free(gdi);
}
+
+ SET_GDI(inst, NULL);
}