Commit 59aa6c90 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(hack_wm_protocols): Arrange to handle WM_SAVE_YOURSELF.

parent 64cfec5c
...@@ -1743,9 +1743,9 @@ XSetWMProtocols (dpy, w, protocols, count) ...@@ -1743,9 +1743,9 @@ XSetWMProtocols (dpy, w, protocols, count)
#ifdef USE_X_TOOLKIT #ifdef USE_X_TOOLKIT
/* If the WM_PROTOCOLS property does not already contain WM_TAKE_FOCUS /* WM_DELETE_WINDOW, and WM_SAVE_YOURSELF, then add them. (They may
and WM_DELETE_WINDOW, then add them. (They may already be present already be present because of the toolkit (Motif adds some of them,
because of the toolkit (Motif adds them, for example, but Xt doesn't). */ for example, but Xt doesn't). */
static void static void
hack_wm_protocols (widget) hack_wm_protocols (widget)
...@@ -1755,6 +1755,7 @@ hack_wm_protocols (widget) ...@@ -1755,6 +1755,7 @@ hack_wm_protocols (widget)
Window w = XtWindow (widget); Window w = XtWindow (widget);
int need_delete = 1; int need_delete = 1;
int need_focus = 1; int need_focus = 1;
int need_save = 1;
BLOCK_INPUT; BLOCK_INPUT;
{ {
...@@ -1771,16 +1772,18 @@ hack_wm_protocols (widget) ...@@ -1771,16 +1772,18 @@ hack_wm_protocols (widget)
while (nitems > 0) while (nitems > 0)
{ {
nitems--; nitems--;
if (atoms [nitems] == Xatom_wm_delete_window) need_delete = 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_take_focus) need_focus = 0;
else if (atoms[nitems] == Xatom_wm_save_yourself) need_save = 0;
} }
if (atoms) XFree ((char *) atoms); if (atoms) XFree ((char *) atoms);
} }
{ {
Atom props [10]; Atom props [10];
int count = 0; int count = 0;
if (need_delete) props [count++] = Xatom_wm_delete_window; if (need_delete) props[count++] = Xatom_wm_delete_window;
if (need_focus) props [count++] = Xatom_wm_take_focus; if (need_focus) props[count++] = Xatom_wm_take_focus;
if (need_save) props[count++] = Xatom_wm_save_yourself;
if (count) if (count)
XChangeProperty (dpy, w, Xatom_wm_protocols, XA_ATOM, 32, PropModeAppend, XChangeProperty (dpy, w, Xatom_wm_protocols, XA_ATOM, 32, PropModeAppend,
(unsigned char *) props, count); (unsigned char *) props, count);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment