Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Q] Close Window and DestroyNotify

177 views
Skip to first unread message

Dave Smith

unread,
Jul 21, 2000, 3:00:00 AM7/21/00
to
I create an XWindow by XCreateSimpleWindow().
When I close the window with the title bars
close feature(in my case Alt-f4), I get the
following:


XIO: fatal IO error 134 (Transport endpoint is not connected) on X
server ":0.0"
after 115 requests (96 known processed) with 0 events remaining.


Basically, after the window is deleted, I get an
Expose event(???) instead of a DestroyNotify.
How can I prevent this error?

Thanks for your help,
-DaveS

ps. Sorry if this is a newbie type question.
Haven't done much X programming in a (long) while.

Antony Uspensky

unread,
Jul 27, 2000, 3:00:00 AM7/27/00
to
Dave Smith wrote:
>
> I create an XWindow by XCreateSimpleWindow().
> When I close the window with the title bars
> close feature(in my case Alt-f4), I get the
> following:
>
> XIO: fatal IO error 134 (Transport endpoint is not connected)
> on X server ":0.0"
> after 115 requests (96 known processed) with 0 events remaining.
>

This is subject 189 in the X FAQ (see www.faqs.org)
To catch this "error" try next code:

...
Atom wm_protocols;
Atom wm_delete_window;
...
wm_protocols = XInternAtom(dpy, "WM_PROTOCOLS", False);
wm_delete_window = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
XSetWMProtocols(dpy, win, &wm_delete_window, 1);
...
for (;;) {
XEvent event;

XNextEvent(dpy, &event);
switch (event.type) {
case ClientMessage:
if (event.xclient.message_type == wm_protocols &&
event.xclient.data.l[0] == wm_delete_window) {
XDestroyWindow(dpy, win);
XCloseDisplay(dpy);
exit(0);
}
break;
...
default:
break;
}
}

0 new messages