Use system default pointer when requested

Solves problem with hidden cursors at login screen (part of
issue #165)

Signed-off-by: Karl Mikaelsson <derfian@cendio.se>
Signed-off-by: Henrik Andersson <hean01@cendio.se>
This commit is contained in:
Karl Mikaelsson 2017-10-16 13:55:39 +02:00
parent 0e530e6095
commit b8a1d04ffb
3 changed files with 10 additions and 1 deletions

View File

@ -275,6 +275,7 @@ RD_HCURSOR ui_create_cursor(unsigned int x, unsigned int y, int width, int heigh
void ui_set_cursor(RD_HCURSOR cursor);
void ui_destroy_cursor(RD_HCURSOR cursor);
void ui_set_null_cursor(void);
void ui_set_standard_cursor(void);
RD_HCOLOURMAP ui_create_colourmap(COLOURMAP * colours);
void ui_destroy_colourmap(RD_HCOLOURMAP map);
void ui_set_colourmap(RD_HCOLOURMAP map);

4
rdp.c
View File

@ -1222,7 +1222,9 @@ set_system_pointer(uint32 ptr)
case SYSPTR_NULL:
ui_set_null_cursor();
break;
case SYSPTR_DEFAULT:
ui_set_standard_cursor();
break;
default:
logger(Protocol, Warning,
"set_system_pointer(), unhandled pointer type 0x%x",

6
xwin.c
View File

@ -3103,6 +3103,12 @@ ui_set_null_cursor(void)
ui_set_cursor(g_null_cursor);
}
void
ui_set_standard_cursor(void)
{
XUndefineCursor(g_display, g_wnd);
}
#define MAKE_XCOLOR(xc,c) \
(xc)->red = ((c)->red << 8) | (c)->red; \
(xc)->green = ((c)->green << 8) | (c)->green; \