summaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.c')
-rw-r--r--src/client.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c
index cda3fa5c9..01df0d9af 100644
--- a/src/client.c
+++ b/src/client.c
@@ -1138,6 +1138,14 @@ clientFree (Client * c)
{
XFree (c->class.res_class);
}
+ if (c->dialog_pid)
+ {
+ kill (c->dialog_pid, SIGKILL);
+ }
+ if (c->dialog_fd >= 0)
+ {
+ close (c->dialog_fd);
+ }
g_free (c);
}
@@ -1550,6 +1558,10 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
c->screen_info = screen_info;
c->serial = screen_info->client_serial++;
+ /* Termination dialog */
+ c->dialog_pid = 0;
+ c->dialog_fd = -1;
+
getWindowName (display_info, c->window, &c->name);
getWindowHostname (display_info, c->window, &c->hostname);
getTransientFor (display_info, screen_info->xroot, c->window, &c->transient_for);