X11rdp can resize sessions now

ulab-original
Jay Sorg 13 years ago
parent ed7638f0e1
commit 4c603d9855

@ -77,6 +77,17 @@ session_get_bydata(char* name, int width, int height, int bpp, int type)
while (tmp != 0) while (tmp != 0)
{ {
if (type == SESMAN_SESSION_TYPE_XRDP)
{
/* only name need to match for X11rdp, it can resize */
if (g_strncmp(name, tmp->item->name, 255) == 0 &&
tmp->item->type == type)
{
/*THREAD-FIX release chain lock */
lock_chain_release();
return tmp->item;
}
}
if (g_strncmp(name, tmp->item->name, 255) == 0 && if (g_strncmp(name, tmp->item->name, 255) == 0 &&
tmp->item->width == width && tmp->item->width == width &&
tmp->item->height == height && tmp->item->height == height &&

@ -202,6 +202,22 @@ lib_mod_connect(struct mod* mod)
g_sleep(250); g_sleep(250);
} }
if (error == 0) if (error == 0)
{
init_stream(s, 8192);
s_push_layer(s, iso_hdr, 4);
out_uint16_le(s, 103);
out_uint32_le(s, 300);
out_uint32_le(s, mod->width);
out_uint32_le(s, mod->height);
out_uint32_le(s, mod->bpp);
out_uint32_le(s, 0);
s_mark_end(s);
len = (int)(s->end - s->data);
s_pop_layer(s, iso_hdr);
out_uint32_le(s, len);
lib_send(mod, s->data, len);
}
if (error == 0)
{ {
init_stream(s, 8192); init_stream(s, 8192);
s_push_layer(s, iso_hdr, 4); s_push_layer(s, iso_hdr, 4);

Loading…
Cancel
Save