[C++, libX11]
В этом примере static явно не нужен. Потому как переменная объявлена в main. Мб на самом деле не нужен статик?
Нет, на самом деле, конечно, нужно создавать объект не в main.
когда дисплей dpy уже невалидный, и при выполнении деструктора происходит segmentation fault.Даже после закрытия дисплея через XCloseDisplay или при выключении сервера сегфолта у XFreePixmap не должно быть
Да, действительно... Видимо, дело в чём-то другом.
Оставить комментарий
sany79
Подскажите, пожалуйста, такую вещь.После удаления несущественных деталей пример получается такой:
Нужно в программе создать статический объект класса XXX:
К сожалению, обект прекращает жизнедеятельность после выхода из main, когда дисплей dpy уже невалидный, и при выполнении деструктора происходит segmentation fault. Но убирать из деструктора вызов XFreePixmap не хочется, т. к. нужно оставить возможность создавать также и автоматические объекта класса XXX (которые ведут себя очень хорошо).
Как внутри деструктора отследить, живо ли соединение с X-сервером, чтобы не вызывать из него функции libX11? Или следует избрать какую-то другую тактику?
Заранее признателен.