# HG changeset patch # User Richard M. Stallman # Date 779768193 0 # Node ID c4b7fda8f611db6e2e64a78cec426828aa333c28 # Parent 831af7d0a0f62640711fc8e2dc4848c5c1c45797 (hack_wm_protocols): Arrange to handle WM_SAVE_YOURSELF. diff -r 831af7d0a0f6 -r c4b7fda8f611 src/xfns.c --- a/src/xfns.c Sat Sep 17 02:07:50 1994 +0000 +++ b/src/xfns.c Sat Sep 17 02:16:33 1994 +0000 @@ -1743,9 +1743,9 @@ #ifdef USE_X_TOOLKIT -/* If the WM_PROTOCOLS property does not already contain WM_TAKE_FOCUS - and WM_DELETE_WINDOW, then add them. (They may already be present - because of the toolkit (Motif adds them, for example, but Xt doesn't). */ +/* WM_DELETE_WINDOW, and WM_SAVE_YOURSELF, then add them. (They may + already be present because of the toolkit (Motif adds some of them, + for example, but Xt doesn't). */ static void hack_wm_protocols (widget) @@ -1755,6 +1755,7 @@ Window w = XtWindow (widget); int need_delete = 1; int need_focus = 1; + int need_save = 1; BLOCK_INPUT; { @@ -1771,16 +1772,18 @@ while (nitems > 0) { nitems--; - if (atoms [nitems] == Xatom_wm_delete_window) need_delete = 0; - else if (atoms [nitems] == Xatom_wm_take_focus) need_focus = 0; + if (atoms[nitems] == Xatom_wm_delete_window) need_delete = 0; + else if (atoms[nitems] == Xatom_wm_take_focus) need_focus = 0; + else if (atoms[nitems] == Xatom_wm_save_yourself) need_save = 0; } if (atoms) XFree ((char *) atoms); } { Atom props [10]; int count = 0; - if (need_delete) props [count++] = Xatom_wm_delete_window; - if (need_focus) props [count++] = Xatom_wm_take_focus; + if (need_delete) props[count++] = Xatom_wm_delete_window; + if (need_focus) props[count++] = Xatom_wm_take_focus; + if (need_save) props[count++] = Xatom_wm_save_yourself; if (count) XChangeProperty (dpy, w, Xatom_wm_protocols, XA_ATOM, 32, PropModeAppend, (unsigned char *) props, count);