SETSTATE is not two ops: TITLE and STATE

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1093 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Peter Åstrand 2006-03-10 10:40:50 +00:00
parent 6c76781ce0
commit f756bec8c3
4 changed files with 26 additions and 11 deletions

View File

@ -276,7 +276,7 @@ void ui_seamless_create_window(unsigned long id, unsigned long flags);
void ui_seamless_destroy_window(unsigned long id, unsigned long flags);
void ui_seamless_move_window(unsigned long id, int x, int y, int width, int height,
unsigned long flags);
void ui_seamless_settitle(unsigned long id, const char *title);
void ui_seamless_settitle(unsigned long id, const char *title, unsigned long flags);
void ui_seamless_setstate(unsigned long id, unsigned int state, unsigned long flags);
/* lspci.c */
BOOL lspci_init(void);

View File

@ -95,3 +95,5 @@
#ifndef MAKE_PROTO
#include "proto.h"
#endif
#define WITH_DEBUG_SEAMLESS 1

View File

@ -150,27 +150,40 @@ seamless_process_line(const char *line, void *data)
{
unimpl("SeamlessRDP ZCHANGE1\n");
}
else if (!strcmp("SETSTATE", tok1))
else if (!strcmp("TITLE", tok1))
{
unsigned int state;
if (!tok5)
if (!tok4)
return False;
id = strtol(tok2, &endptr, 16);
if (*endptr)
return False;
state = strtol(tok4, &endptr, 16); // XXX
flags = strtol(tok4, &endptr, 16);
if (*endptr)
return False;
flags = strtol(tok5, &endptr, 16);
ui_seamless_settitle(id, tok3, flags);
}
else if (!strcmp("STATE", tok1))
{
unsigned int state;
if (!tok4)
return False;
id = strtol(tok2, &endptr, 16);
if (*endptr)
return False;
state = strtol(tok3, &endptr, 16);
if (*endptr)
return False;
flags = strtol(tok4, &endptr, 16);
if (*endptr)
return False;
/* FIXME */
ui_seamless_settitle(id, tok3);
ui_seamless_setstate(id, state, flags);
}
else if (!strcmp("DEBUG", tok1))

4
xwin.c
View File

@ -1731,6 +1731,7 @@ xwin_process_events(void)
char str[256];
Status status;
int events = 0;
seamless_window *sw;
while ((XPending(g_display) > 0) && events++ < 20)
{
@ -1893,7 +1894,6 @@ xwin_process_events(void)
}
else
{
seamless_window *sw;
sw = seamless_get_window_by_wnd(xevent.xexpose.window);
if (sw)
XCopyArea(g_display, g_backstore,
@ -3095,7 +3095,7 @@ ui_seamless_move_window(unsigned long id, int x, int y, int width, int height, u
void
ui_seamless_settitle(unsigned long id, const char *title)
ui_seamless_settitle(unsigned long id, const char *title, unsigned long flags)
{
seamless_window *sw;