[devel] Патч xterm_mouse_support для gpm
Slava Semushin
=?iso-8859-1?q?php-coder_=CE=C1_ngs=2Eru?=
Ср Авг 9 07:48:04 MSD 2006
Здравствуйте!
При сборке консольной игрушки clines столкнулся с проблемой, когда
после выхода из программы на терминал выводятся лишние пробелы о чем и
поспешил сообщить разработчику.
Виталий Липатов (спасибо!) любезно предоставил шелл для расследования
проблемы и она была найдена.
Ниже привожу оригинальное письмо от автора программы с техническим
описанием процесса и проблемы.
Интересует вопрос: действительно ли патч xterm_mouse_support не до
конца корректен или же следует патчить использующую gpm програму?
Спасибо.
P.S. Т.к. Павел не подписан на devel@, то просьба при ответе сохранять
его в СС:
----- Forwarded message from Pawel Veselov <pawel.veselov at gmail.com> -----
Subject: Re: About CLines 1.0.3
From: Pawel Veselov <pawel.veselov at gmail.com>
To: Slava Semushin <php-coder at ngs.ru>
Date: Tue, 8 Aug 2006 20:00:52 -0700
Привет,
ломает всё : gpm-1.20.1-deb-alt-xterm_mouse_support.patch
CLines делает:
initscr();
int fd = Gpm_Open();
if (fd == -2) { Gpm_Close(); } // я сам с xterm'ом разберусь
........ игра тут.....
endwin();
initscr() : открывает терминал, сохраняет значения, устанавливает на
терминале нужный режим
Gpm_Open(с патчем) : вызывает setupterm(), это переписывает в cursese
сохранённые значения
endwin() востанавливет то что было на момент Gpm_Open() , что уже
application mode, посему глюки.
без патча setupterm из Gpm_* не вызывается, и всё нормально.
Наверно если в CLines поменять местами Gpm_Open и initscr, будет работать.
По хорошему в gpm-патче надо сначала проверять на isendwin(), а потом только
коговрить setupterm, или
чего-то ещё делать, чтобы не переписывались значения текущего терминала.
Вот это всё можешь акуратно запостить в devel list. Я собственно и ждал
авторизации в этот list, да -- не придёт -- и фик с ним :)
Счастливо !
--
With best of best regards
Pawel S. Veselov
----- End forwarded message -----
--
+ Slava Semushin | php-coder @ ngs.ru
+ ALT Linux Team | php-coder @ altlinux.ru
+ Expand QA Team | vsemushin @ swsoft.com
Подробная информация о списке рассылки Devel