From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 9 Aug 2006 10:48:04 +0700 From: Slava Semushin To: devel@lists.altlinux.org Message-ID: <20060809034804.GA3760@semushin.plesk.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit Organization: SWSoft X-Operating-System: ALT Linux Sisyphus (20060401) 2.6.14-std26-up-alt5 User-Agent: Mutt/1.5.11 X-Antivirus: Dr.Web (R) for Mail Servers on master.plesk.ru host X-Antivirus-Code: 100000 Cc: Pawel Veselov Subject: [devel] =?koi8-r?b?8MHU3iB4dGVybV9tb3VzZV9zdXBwb3J0IMTM0SBncG0=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Aug 2006 03:47:50 -0000 Archived-At: List-Archive: List-Post: Здравствуйте! При сборке консольной игрушки clines столкнулся с проблемой, когда после выхода из программы на терминал выводятся лишние пробелы о чем и поспешил сообщить разработчику. Виталий Липатов (спасибо!) любезно предоставил шелл для расследования проблемы и она была найдена. Ниже привожу оригинальное письмо от автора программы с техническим описанием процесса и проблемы. Интересует вопрос: действительно ли патч xterm_mouse_support не до конца корректен или же следует патчить использующую gpm програму? Спасибо. P.S. Т.к. Павел не подписан на devel@, то просьба при ответе сохранять его в СС: ----- Forwarded message from Pawel Veselov ----- Subject: Re: About CLines 1.0.3 From: Pawel Veselov To: Slava Semushin 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