Page 18 of 23

Re: TinyPad 4.0.4

Posted: Fri Nov 22, 2013 7:56 pm
by DmitrySokolowsky
Баг подтверждаю.

Re: TinyPad 4.0.4

Posted: Sat Nov 30, 2013 11:54 pm
by Mario_r4
0CodErr wrote:Открыл в TinyPad файл размером 0 байтов и нажал 5 раз клавишу Enter — программа вылетела:
Spoiler:
1.PNG
Исправлено в SVN r.4316.

Исправлено методом увеличения места под временный буфер. Однако если пользователь возжелает, то он все еще может вызвать коллапс программы, если зажмет Enter и дождется переполнения временного буфера. Если кто может исправить лучше, чем это сделал я, то я не имею абсолютно никаких возражений.

Re: TinyPad 4.0.4

Posted: Mon Jan 20, 2014 1:36 am
by Mario_r4
SVN r.4487, 4489, 4490 - внедрение поддержки общесистемного буфера обмена (функция 54).

Re: TinyPad 4.0.4

Posted: Tue Jan 21, 2014 11:18 pm
by Mario_r4
SVN r.4505 - удаление лишнего кода и правка документации. Также увеличил номер версии до 4.0.8 - все же внедрение поддержки общесистемного буфера обмена стоит этой циферки.

Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.

Re: TinyPad 4.0.4

Posted: Tue Jan 21, 2014 11:31 pm
by Leency
Мог бы менять до 4.1, не совсем удобно использовать 3 цифры для нумерации да и нет ощущения праздника :)

Re: TinyPad 4.0.4

Posted: Tue Jan 21, 2014 11:57 pm
by Mario_r4
Leency wrote:Мог бы менять до 4.1, не совсем удобно использовать 3 цифры для нумерации да и нет ощущения праздника :)
Такую нумерацию заложил mike.dld и я не вижу причин менять.

Re: TinyPad 4.0.4

Posted: Wed Jan 22, 2014 2:27 am
by Asper
Mario_r4 wrote: Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
Ну вообще-то я думал это известный баг. Если в многострочном файле с самого конца одной из строк скопировать этот конец строки (т.е. \r\n видимо) и несколько последующих символов, а затем вставить в другое место в этом же файле, то начинались такие чудеса, что лучше этот файл было не сохранять во избежание утраты части этого файла.

Re: TinyPad 4.0.4

Posted: Wed Jan 22, 2014 8:29 am
by Mario_r4
Asper wrote:
Mario_r4 wrote: Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
Ну вообще-то я думал это известный баг. Если в многострочном файле с самого конца одной из строк скопировать этот конец строки (т.е. \r\n видимо) и несколько последующих символов, а затем вставить в другое место в этом же файле, то начинались такие чудеса, что лучше этот файл было не сохранять во избежание утраты части этого файла.
Ну, вот видишь - раз на форуме не упомянули, то я потратил больше недели реального времени (5х8) по вечерам, ломая голову почему "глючит" мой код и уже в приступе отчаяния решил проверить код до моих изменений.

Re: TinyPad 4.0.4

Posted: Thu Jan 23, 2014 1:35 am
by Albom
Mario_r4
А почему в буфер обмена вместе с текстом добавляется два символа (которых в исходном фрагменте нет) - перевод строки и возврат каретки?
Это будет совместимо с другими программами? (добавил в Shell буфер обмена - приходится вручную обрезать строку)

Re: TinyPad 4.0.4

Posted: Thu Jan 23, 2014 1:56 am
by Mario_r4
Albom wrote:А почему в буфер обмена вместе с текстом добавляется два символа (которых в исходном фрагменте нет) - перевод строки и возврат каретки?
Вроде не должно такого быть. Приведи точную методику повторения.
Albom wrote:Это будет совместимо с другими программами? (добавил в Shell буфер обмена - приходится вручную обрезать строку)
С TextEdit вполне совмещалось, а насчет Shell опять же нужны подробности и насколько я понимаю этот код еще не закончен?

Re: TinyPad 4.0.4

Posted: Thu Jan 23, 2014 9:25 am
by Albom
Mario_r4 wrote:Вроде не должно такого быть. Приведи точную методику повторения.
Да, возможно не до конца разобрался.

1) вызываю подфункцию 0.
2) если результат больше 0, вызываю 1-ю подфункцию.
3) если первый dword больше 0, проверяю второй.
4) если второй dword равен 0, проверяю третий.
5) если третий dword равен 1, то со следующего байта будет строка, заканчивающаяся нулевым символом.

В общем всё получается, только последние символы в строке 13 и 10.

Пример: в Tinypad скопировал ls.
Длина буфера обмена - 17 ( = 3*4 (заголовок) + 2 (ls) +2 (13 и 10) + 1 ('\0') )

Второй пример - попробовал t_edit. Буфер оказывается пуст (первый dword равен 0).
Spoiler:
test1.png
test1.png (113.45 KiB)
Viewed 5088 times
test2.png
test2.png (23.87 KiB)
Viewed 5088 times

Re: TinyPad 4.0.4

Posted: Thu Jan 23, 2014 9:57 am
by Mario_r4
Albom wrote:Пример: в Tinypad скопировал ls.
Длина буфера обмена - 17 ( = 3*4 (заголовок) + 2 (ls) +2 (13 и 10) + 1 ('\0') )
С Tinypad посмотрю, может в коде я не все учел.
Albom wrote:Второй пример - попробовал t_edit. Буфер оказывается пуст (первый dword равен 0).
А вот насчет вставки из TextEdit - тут уже не я делал код, надо у автора спрашивать. У него там не всегда соответствует число скопированной информации. Иной раз копирует все и ставит 0, где заканчиваются данные. В общем нечеткая логика.

Re: TinyPad 4.0.4

Posted: Fri Jan 31, 2014 2:17 am
by Mario_r4
Albom wrote:Пример: в Tinypad скопировал ls.
Длина буфера обмена - 17 ( = 3*4 (заголовок) + 2 (ls) +2 (13 и 10) + 1 ('\0') )
Исправлено в SVN r.4552, как и падение Tinypad при вставке из Shell.

Осталась проблема с падением от вставки многострочных текстов (в том числе и из Shell, если многострочный текст в сам Shell предварительно вставить, а потом скопировать обратно в буфер обмена) в область за пределами текста, т.е. там где пустота справа и по идее ничего нет, но курсор туда устанавливается.

Re: TinyPad 4.0.4

Posted: Sun Feb 09, 2014 9:20 pm
by Mario_r4
Mario_r4 wrote:Осталась проблема с падением от вставки многострочных текстов (в том числе и из Shell, если многострочный текст в сам Shell предварительно вставить, а потом скопировать обратно в буфер обмена) в область за пределами текста, т.е. там где пустота справа и по идее ничего нет, но курсор туда устанавливается.
Исправлено в SVN r. 4566.

Остался небольшой баг с добавлением переноса конца в новую строку, но это уже не смертельный баг.

Re: TinyPad 4.0.4

Posted: Mon Mar 17, 2014 10:46 pm
by punk_joker
После вставки, весь текст ниже вставленного исчезает. Если опкстить курсор ниже, то он вновь появляется, но если этого не сделать и сохранить, то пичаль-беда, текст этот мы теряем