Google Groups จะไม่รองรับโพสต์หรือการสมัครสมาชิก Usenet ใหม่อีกต่อไป โดยคุณจะยังคงดูเนื้อหาเดิมได้อยู่

[Q] Close Window and DestroyNotify

ยอดดู 176 ครั้ง
ข้ามไปที่ข้อความที่ยังไม่อ่านรายการแรก

Dave Smith

ยังไม่อ่าน,
21 ก.ค. 2543 03:00:0021/7/43
ถึง
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

ยังไม่อ่าน,
27 ก.ค. 2543 03:00:0027/7/43
ถึง
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 รายการ