summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--neutrinordp/xrdp-color.c22
-rw-r--r--neutrinordp/xrdp-neutrinordp.c3
2 files changed, 25 insertions, 0 deletions
diff --git a/neutrinordp/xrdp-color.c b/neutrinordp/xrdp-color.c
index 34afc67c..80fac32b 100644
--- a/neutrinordp/xrdp-color.c
+++ b/neutrinordp/xrdp-color.c
@@ -213,6 +213,28 @@ convert_bitmap(int in_bpp, int out_bpp, char *bmpdata,
return bmpdata;
}
+ if ((in_bpp == 16) && (out_bpp == 32))
+ {
+ out = (char *)g_malloc(width * height * 4, 0);
+ src = bmpdata;
+ dst = out;
+
+ for (i = 0; i < height; i++)
+ {
+ for (j = 0; j < width; j++)
+ {
+ pixel = *((tui16 *)src);
+ SPLITCOLOR16(red, green, blue, pixel);
+ pixel = COLOR24RGB(red, green, blue);
+ *((tui32 *)dst) = pixel;
+ src += 2;
+ dst += 4;
+ }
+ }
+
+ return out;
+ }
+
g_writeln("convert_bitmap: error unknown conversion from %d to %d",
in_bpp, out_bpp);
return 0;
diff --git a/neutrinordp/xrdp-neutrinordp.c b/neutrinordp/xrdp-neutrinordp.c
index 784b6e88..e2acc6de 100644
--- a/neutrinordp/xrdp-neutrinordp.c
+++ b/neutrinordp/xrdp-neutrinordp.c
@@ -145,6 +145,9 @@ lxrdp_connect(struct mod *mod)
g_snprintf(buf, 128, "Authentication error check your password "
"and username");
break;
+ case INSUFFICIENTPRIVILEGESERROR:
+ g_snprintf(buf, 128, "Insufficent privileges on target server");
+ break;
default:
g_snprintf(buf, 128, "Unhandled Errorcode from connect : %d",
connectErrorCode);