ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Патч xterm_mouse_support для gpm
@ 2006-08-09  3:48 Slava Semushin
  0 siblings, 0 replies; only message in thread
From: Slava Semushin @ 2006-08-09  3:48 UTC (permalink / raw)
  To: devel; +Cc: Pawel Veselov


    Здравствуйте!

    При сборке консольной игрушки 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



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-08-09  3:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-09  3:48 [devel] Патч xterm_mouse_support для gpm Slava Semushin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git