- Added rd_create_ui() helper function

- Make sure that ui is created if processing demand active PDU
- Make sure we use precached bitmap cache again

This fixes bugs #367 and #368



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1732 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Henrik Andersson 2013-08-14 13:49:45 +00:00
parent e0cfeaa585
commit 58363c5351
3 changed files with 18 additions and 8 deletions

View File

@ -144,6 +144,7 @@ RD_BOOL subprocess(char *const argv[], str_handle_lines_t linehandler, void *dat
char *l_to_a(long N, int base);
int load_licence(unsigned char **data);
void save_licence(unsigned char *data, int length);
void rd_create_ui(void);
RD_BOOL rd_pstcache_mkdir(void);
int rd_open_file(char *filename);
void rd_close_file(int fd);

View File

@ -87,7 +87,7 @@ RD_BOOL g_bitmap_compression = True;
RD_BOOL g_sendmotion = True;
RD_BOOL g_bitmap_cache = True;
RD_BOOL g_bitmap_cache_persist_enable = False;
RD_BOOL g_bitmap_cache_precache = False;
RD_BOOL g_bitmap_cache_precache = True;
RD_BOOL g_use_ctrl = True;
RD_BOOL g_encryption = True;
RD_BOOL g_encryption_initial = True;
@ -1132,13 +1132,7 @@ main(int argc, char *argv[])
DEBUG(("Connection successful.\n"));
memset(password, 0, sizeof(password));
/* only create a window if we dont have one intialized */
if (!ui_have_window())
{
if (!ui_create_window())
return EX_OSERR;
}
rd_create_ui();
tcp_run_ui(True);
g_redirect = False;
@ -1732,6 +1726,18 @@ save_licence(unsigned char *data, int length)
close(fd);
}
/* create rdesktop ui */
void
rd_create_ui()
{
/* only create a window if we dont have one intialized */
if (!ui_have_window())
{
if (!ui_create_window())
return EX_OSERR;
}
}
/* Create the bitmap cache directory */
RD_BOOL
rd_pstcache_mkdir(void)

3
rdp.c
View File

@ -1044,6 +1044,9 @@ process_demand_active(STREAM s)
uint8 type;
uint16 len_src_descriptor, len_combined_caps;
/* at this point we need to ensure that we have ui created */
rd_create_ui();
in_uint32_le(s, g_rdp_shareid);
in_uint16_le(s, len_src_descriptor);
in_uint16_le(s, len_combined_caps);