CVS: rdesktop proto.h, 1.110, 1.111 seamless.c, 1.8, 1.9 xwin.c, 1.227, 1.228
Peter Ã
strand <[email protected]> Fri, 07 Mar 2008 03:26:31 -0800
| Newsgroups | gmane.network.rdesktop.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv10219
Modified Files:
proto.h seamless.c xwin.c
Log Message:
Applied patch:
[ 1715358 ] seamlessrdp window close
Index: proto.h
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/proto.h,v
retrieving revision 1.110
retrieving revision 1.111
diff -C2 -d -r1.110 -r1.111
*** proto.h 5 Jan 2008 05:43:02 -0000 1.110
--- proto.h 7 Mar 2008 11:26:28 -0000 1.111
***************
*** 310,313 ****
--- 310,314 ----
unsigned int seamless_send_zchange(unsigned long id, unsigned long below, unsigned long flags);
unsigned int seamless_send_focus(unsigned long id, unsigned long flags);
+ unsigned int seamless_send_destroy(unsigned long id);
/* scard.c */
void scard_lock(int lock);
Index: seamless.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/seamless.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** seamless.c 18 Jun 2007 12:00:33 -0000 1.8
--- seamless.c 7 Mar 2008 11:26:29 -0000 1.9
***************
*** 510,511 ****
--- 510,518 ----
return seamless_send("FOCUS", "0x%08lx,0x%lx", id, flags);
}
+
+ /* Send client-to-server message to destroy process on the server. */
+ unsigned int
+ seamless_send_destroy(unsigned long id)
+ {
+ return seamless_send("DESTROY", "0x%08lx", id);
+ }
Index: xwin.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xwin.c,v
retrieving revision 1.227
retrieving revision 1.228
diff -C2 -d -r1.227 -r1.228
*** xwin.c 6 Mar 2008 15:39:21 -0000 1.227
--- xwin.c 7 Mar 2008 11:26:29 -0000 1.228
***************
*** 2029,2034 ****
if ((xevent.xclient.message_type == g_protocol_atom)
&& ((Atom) xevent.xclient.data.l[0] == g_kill_atom))
! /* Quit */
! return 0;
break;
--- 2029,2042 ----
if ((xevent.xclient.message_type == g_protocol_atom)
&& ((Atom) xevent.xclient.data.l[0] == g_kill_atom))
! {
! /* When killing a seamless window, close the window on the
! serverside instead of terminating rdesktop */
! sw = sw_get_window_by_wnd(xevent.xclient.window);
! if (!sw)
! /* Otherwise, quit */
! return 0;
! /* send seamless destroy process message */
! seamless_send_destroy(sw->id);
! }
break;
***************
*** 3466,3472 ****
XSelectInput(g_display, wnd, input_mask);
! /* handle the WM_DELETE_WINDOW protocol. FIXME: When killing a
! seamless window, we could try to close the window on the
! serverside, instead of terminating rdesktop */
XSetWMProtocols(g_display, wnd, &g_kill_atom, 1);
--- 3474,3478 ----
XSelectInput(g_display, wnd, input_mask);
! /* handle the WM_DELETE_WINDOW protocol. */
XSetWMProtocols(g_display, wnd, &g_kill_atom, 1);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/