diff options
Diffstat (limited to 'xup/xup.c')
| -rw-r--r-- | xup/xup.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -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) { |
