36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
diff -Naur xtrs-4.9d/trs_xinterface.c xtrs-4.9d.patched/trs_xinterface.c
|
|
--- xtrs-4.9d/trs_xinterface.c 2009-06-15 23:23:09.000000000 -0400
|
|
+++ xtrs-4.9d.patched/trs_xinterface.c 2023-05-17 15:31:29.237827697 -0400
|
|
@@ -730,6 +730,7 @@
|
|
Colormap color_map;
|
|
XColor cdef;
|
|
XGCValues gcvals;
|
|
+ Atom wm_delete_window;
|
|
char *fontname = NULL;
|
|
char *widefontname = NULL;
|
|
int len;
|
|
@@ -737,6 +738,7 @@
|
|
|
|
screen = DefaultScreen(display);
|
|
color_map = DefaultColormap(display,screen);
|
|
+ wm_delete_window = XInternAtom(display, "WM_DELETE_WINDOW", False);
|
|
|
|
(void) sprintf(option, "%s%s", program_name, ".foreground");
|
|
if (XrmGetResource(x_db, option, "Xtrs.Foreground", &type, &value)) {
|
|
@@ -937,6 +939,7 @@
|
|
trs_fix_size(window, OrigWidth, OrigHeight);
|
|
XStoreName(display,window,title);
|
|
XSelectInput(display, window, EVENT_MASK);
|
|
+ XSetWMProtocols(display, window, &wm_delete_window, 1);
|
|
|
|
(void) sprintf(option, "%s%s", program_name, ".iconic");
|
|
if (XrmGetResource(x_db, option, "Xtrs.Iconic", &type, &value)) {
|
|
@@ -1002,6 +1005,7 @@
|
|
if (wait) {
|
|
XNextEvent(display, &event);
|
|
} else {
|
|
+ if (XCheckTypedEvent(display, ClientMessage, &event)) trs_exit();
|
|
if (!XCheckMaskEvent(display, ~0, &event)) return;
|
|
}
|
|
|