CVS: rdesktop constants.h,1.45.2.4,1.45.2.5 proto.h,1.87.2.11,1.87.2.12 seamless.c,1.1.2.20,1.1.2.21 xwin.c,1.205.2.36,1.205.2.37

Pierre Ossman <[email protected]> Wed, 22 Mar 2006 08:20:58 -0800
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25751

Modified Files:
      Tag: seamlessrdp-branch
	constants.h proto.h seamless.c xwin.c 
Log Message:
Support for the new HIDE/UNHIDE commands.


Index: constants.h
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/constants.h,v
retrieving revision 1.45.2.4
retrieving revision 1.45.2.5
diff -C2 -d -r1.45.2.4 -r1.45.2.5
*** constants.h	21 Mar 2006 14:42:24 -0000	1.45.2.4
--- constants.h	22 Mar 2006 16:20:55 -0000	1.45.2.5
***************
*** 422,423 ****
--- 422,426 ----
  
  #define SEAMLESSRDP_CREATE_MODAL	0x0001
+ 
+ #define SEAMLESSRDP_HELLO_RECONNECT	0x0001
+ #define SEAMLESSRDP_HELLO_HIDDEN	0x0002

Index: proto.h
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/proto.h,v
retrieving revision 1.87.2.11
retrieving revision 1.87.2.12
diff -C2 -d -r1.87.2.11 -r1.87.2.12
*** proto.h	21 Mar 2006 14:42:24 -0000	1.87.2.11
--- proto.h	22 Mar 2006 16:20:55 -0000	1.87.2.12
***************
*** 273,277 ****
  void ui_begin_update(void);
  void ui_end_update(void);
! void ui_seamless_begin(void);
  void ui_seamless_toggle(void);
  void ui_seamless_create_window(unsigned long id, unsigned long group, unsigned long parent,
--- 273,279 ----
  void ui_begin_update(void);
  void ui_end_update(void);
! void ui_seamless_begin(BOOL hidden);
! void ui_seamless_hide_desktop(void);
! void ui_seamless_unhide_desktop(void);
  void ui_seamless_toggle(void);
  void ui_seamless_create_window(unsigned long id, unsigned long group, unsigned long parent,

Index: seamless.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/Attic/seamless.c,v
retrieving revision 1.1.2.20
retrieving revision 1.1.2.21
diff -C2 -d -r1.1.2.20 -r1.1.2.21
*** seamless.c	21 Mar 2006 14:42:24 -0000	1.1.2.20
--- seamless.c	22 Mar 2006 16:20:55 -0000	1.1.2.21
***************
*** 245,249 ****
  			return False;
  
! 		ui_seamless_begin();
  	}
  	else if (!strcmp("ACK", tok1))
--- 245,249 ----
  			return False;
  
! 		ui_seamless_begin(!!(flags & SEAMLESSRDP_HELLO_HIDDEN));
  	}
  	else if (!strcmp("ACK", tok1))
***************
*** 257,260 ****
--- 257,282 ----
  		ui_seamless_ack(serial);
  	}
+ 	else if (!strcmp("HIDE", tok1))
+ 	{
+ 		if (!tok3)
+ 			return False;
+ 
+ 		flags = strtoul(tok3, &endptr, 0);
+ 		if (*endptr)
+ 			return False;
+ 
+ 		ui_seamless_hide_desktop();
+ 	}
+ 	else if (!strcmp("UNHIDE", tok1))
+ 	{
+ 		if (!tok3)
+ 			return False;
+ 
+ 		flags = strtoul(tok3, &endptr, 0);
+ 		if (*endptr)
+ 			return False;
+ 
+ 		ui_seamless_unhide_desktop();
+ 	}
  
  

Index: xwin.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xwin.c,v
retrieving revision 1.205.2.36
retrieving revision 1.205.2.37
diff -C2 -d -r1.205.2.36 -r1.205.2.37
*** xwin.c	22 Mar 2006 10:02:11 -0000	1.205.2.36
--- xwin.c	22 Mar 2006 16:20:55 -0000	1.205.2.37
***************
*** 83,86 ****
--- 83,87 ----
  static BOOL g_seamless_started = False;	/* Server end is up and running */
  static BOOL g_seamless_active = False;	/* We are currently in seamless mode */
+ static BOOL g_seamless_hidden = False;	/* Desktop is hidden on server */
  extern BOOL g_seamless_rdp;
  
***************
*** 3245,3249 ****
  
  void
! ui_seamless_begin()
  {
  	if (!g_seamless_rdp)
--- 3246,3250 ----
  
  void
! ui_seamless_begin(BOOL hidden)
  {
  	if (!g_seamless_rdp)
***************
*** 3254,3257 ****
--- 3255,3292 ----
  
  	g_seamless_started = True;
+ 	g_seamless_hidden = hidden;
+ 
+ 	if (!hidden)
+ 		ui_seamless_toggle();
+ }
+ 
+ 
+ void
+ ui_seamless_hide_desktop()
+ {
+ 	if (!g_seamless_rdp)
+ 		return;
+ 
+ 	if (!g_seamless_started)
+ 		return;
+ 
+ 	if (g_seamless_active)
+ 		ui_seamless_toggle();
+ 
+ 	g_seamless_hidden = True;
+ }
+ 
+ 
+ void
+ ui_seamless_unhide_desktop()
+ {
+ 	if (!g_seamless_rdp)
+ 		return;
+ 
+ 	if (!g_seamless_started)
+ 		return;
+ 
+ 	g_seamless_hidden = False;
+ 
  	ui_seamless_toggle();
  }
***************
*** 3267,3270 ****
--- 3302,3308 ----
  		return;
  
+ 	if (g_seamless_hidden)
+ 		return;
+ 
  	if (g_seamless_active)
  	{



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642