Написал простенькую программку:
Показать
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
int main() {
Display *display;
Window w1,w2;
XEvent report;
int screen_number;
display = XOpenDisplay(NULL);
if (!display) {
printf("Невозможно установить соединение с X-сервером!\n");
exit(1);
}
screen_number = DefaultScreen(display);
w1 = XCreateSimpleWindow(display,
RootWindow(display, screen_number),
0,0,640,480,0,
WhitePixel(display, screen_number),
BlackPixel(display, screen_number));
w2 = XCreateSimpleWindow(display,
RootWindow(display, screen_number),
0,0,640,480,0,
WhitePixel(display, screen_number),
BlackPixel(display, screen_number));
XStoreName(display, w1, "Window 1");
XStoreName(display, w2, "Window 2");
XMapWindow(display, w1);
XMapWindow(display, w2);
while (1) {
XNextEvent(display, &report);
}
return 0;
}
Откомпилировал, запускаю - всё ok, но когда я закрываю одно из окон (w1 или w2) почему-то закрываются сразу оба
и программа вылетает с ошибкой :(
Помогите понять в чём дело