summaryrefslogtreecommitdiffstats
path: root/xup/xup.c
diff options
context:
space:
mode:
Diffstat (limited to 'xup/xup.c')
-rw-r--r--xup/xup.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/xup/xup.c b/xup/xup.c
index 0643cb39..89ca9f06 100644
--- a/xup/xup.c
+++ b/xup/xup.c
@@ -31,6 +31,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <netdb.h>
+#include <errno.h>
/******************************************************************************/
/**
@@ -1232,6 +1233,11 @@ process_server_paint_rect_shmem(struct mod *mod, struct stream *s)
{
mod->screen_shmem_id = shmem_id;
mod->screen_shmem_pixels = g_shmat(mod->screen_shmem_id);
+ if (mod->screen_shmem_pixels == (void *)-1)
+ {
+ mod->screen_shmem_pixels = 0;
+ log_message(LOG_LEVEL_ERROR, "g_shmat() returned error, errno: %d\nIs X11rdp running on the same host as xrdp?\n", errno);
+ }
}
if (mod->screen_shmem_pixels != 0)
{
@@ -1341,6 +1347,11 @@ process_server_paint_rect_shmem_ex(struct mod *amod, struct stream *s)
{
amod->screen_shmem_id = shmem_id;
amod->screen_shmem_pixels = g_shmat(amod->screen_shmem_id);
+ if (amod->screen_shmem_pixels == (void *)-1)
+ {
+ amod->screen_shmem_pixels = 0;
+ log_message(LOG_LEVEL_ERROR, "g_shmat() returned error, errno: %d\nIs X11rdp running on the same host as xrdp?\n", errno);
+ }
}
if (amod->screen_shmem_pixels != 0)
{