CVS: rdesktop constants.h,1.43,1.44 proto.h,1.73,1.74 rdp.c,1.88,1.89 rdp5.c,1.18,1.19 xwin.c,1.190,1.191

Jeroen Meijer <[email protected]>
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12227

Modified Files:
	constants.h proto.h rdp.c rdp5.c xwin.c 
Log Message:
Tell the server to stop sending window updates when the rdesktop window is unmapped

Index: constants.h
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/constants.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** constants.h	17 Apr 2005 23:14:20 -0000	1.43
--- constants.h	20 May 2005 22:09:31 -0000	1.44
***************
*** 119,122 ****
--- 119,123 ----
  	RDP_DATA_PDU_SYNCHRONISE = 31,
  	RDP_DATA_PDU_BELL = 34,
+ 	RDP_DATA_PDU_CLIENT_WINDOW_STATUS = 35,
  	RDP_DATA_PDU_LOGON = 38,
  	RDP_DATA_PDU_FONT2 = 39,

Index: proto.h
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/proto.h,v
retrieving revision 1.73
retrieving revision 1.74
diff -C2 -d -r1.73 -r1.74
*** proto.h	10 Mar 2005 22:48:15 -0000	1.73
--- proto.h	20 May 2005 22:09:31 -0000	1.74
***************
*** 101,104 ****
--- 101,105 ----
  void rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1,
  		    uint16 param2);
+ void rdp_send_client_window_status(int status);
  void process_colour_pointer_pdu(STREAM s);
  void process_cached_pointer_pdu(STREAM s);

Index: rdp.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/rdp.c,v
retrieving revision 1.88
retrieving revision 1.89
diff -C2 -d -r1.88 -r1.89
*** rdp.c	17 Apr 2005 23:14:20 -0000	1.88
--- rdp.c	20 May 2005 22:09:32 -0000	1.89
***************
*** 50,54 ****
  extern BOOL g_bitmap_cache;
  extern BOOL g_bitmap_cache_persist_enable;
- extern BOOL g_rdp_compression;
  
  uint8 *g_next_packet;
--- 50,53 ----
***************
*** 483,487 ****
  }
  
! /* Inform the server on the contents of the persistent bitmap cache */
  static void
  rdp_enum_bmpcache2(void)
--- 482,512 ----
  }
  
! /* Send a client window information PDU */
! void
! rdp_send_client_window_status(int status)
! {
! 	STREAM s;
! 
! 	s = rdp_init_data(12);
! 
! 	out_uint32_le(s, status);
! 
! 	switch (status)
! 	{
! 		case 0:	/* shut the server up */
! 			break;
! 
! 		case 1:	/* receive data again */
! 			out_uint32_le(s, 0);	/* unknown */
! 			out_uint16_le(s, g_width);
! 			out_uint16_le(s, g_height);
! 			break;
! 	}
! 
! 	s_mark_end(s);
! 	rdp_send_data(s, RDP_DATA_PDU_CLIENT_WINDOW_STATUS);
! }
! 
! /* Send persistent bitmap cache enumeration PDU's */
  static void
  rdp_enum_bmpcache2(void)

Index: rdp5.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/rdp5.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** rdp5.c	26 Apr 2005 22:48:20 -0000	1.18
--- rdp5.c	20 May 2005 22:09:32 -0000	1.19
***************
*** 95,104 ****
  			case 3:	/* update synchronize */
  				break;
! 			case 5: /* null pointer */
  				ui_set_null_cursor();
  				break;
  			case 6:	/* default pointer */
  				break;
! 			case 8: /* pointer position */
  				in_uint16_le(ts, x);
  				in_uint16_le(ts, y);
--- 95,104 ----
  			case 3:	/* update synchronize */
  				break;
! 			case 5:	/* null pointer */
  				ui_set_null_cursor();
  				break;
  			case 6:	/* default pointer */
  				break;
! 			case 8:	/* pointer position */
  				in_uint16_le(ts, x);
  				in_uint16_le(ts, y);
***************
*** 106,113 ****
  					ui_move_pointer(x, y);
  				break;
! 			case 9: /* color pointer */
  				process_colour_pointer_pdu(ts);
  				break;
! 			case 10: /* cached pointer */
  				process_cached_pointer_pdu(ts);
  				break;
--- 106,113 ----
  					ui_move_pointer(x, y);
  				break;
! 			case 9:	/* color pointer */
  				process_colour_pointer_pdu(ts);
  				break;
! 			case 10:	/* cached pointer */
  				process_cached_pointer_pdu(ts);
  				break;

Index: xwin.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xwin.c,v
retrieving revision 1.190
retrieving revision 1.191
diff -C2 -d -r1.190 -r1.191
*** xwin.c	16 Apr 2005 11:57:19 -0000	1.190
--- xwin.c	20 May 2005 22:09:32 -0000	1.191
***************
*** 1228,1232 ****
  
  	input_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
! 		VisibilityChangeMask | FocusChangeMask;
  
  	if (g_sendmotion)
--- 1228,1232 ----
  
  	input_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
! 		VisibilityChangeMask | FocusChangeMask | StructureNotifyMask;
  
  	if (g_sendmotion)
***************
*** 1600,1603 ****
--- 1600,1609 ----
  				xclip_handle_PropertyNotify(&xevent.xproperty);
  				break;
+ 			case MapNotify:
+ 				rdp_send_client_window_status(1);
+ 				break;
+ 			case UnmapNotify:
+ 				rdp_send_client_window_status(0);
+ 				break;
  		}
  	}



-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.