TinyPad 4.0.4
-
Баг подтверждаю.
- Attachments
-
-
BOARDLOG.TXT (7.36 KiB)Downloaded 203 times
-
Исправлено в SVN r.4316.0CodErr wrote:Открыл в TinyPad файл размером 0 байтов и нажал 5 раз клавишу Enter — программа вылетела:Spoiler:
Исправлено методом увеличения места под временный буфер. Однако если пользователь возжелает, то он все еще может вызвать коллапс программы, если зажмет Enter и дождется переполнения временного буфера. Если кто может исправить лучше, чем это сделал я, то я не имею абсолютно никаких возражений.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
SVN r.4487, 4489, 4490 - внедрение поддержки общесистемного буфера обмена (функция 54).
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
SVN r.4505 - удаление лишнего кода и правка документации. Также увеличил номер версии до 4.0.8 - все же внедрение поддержки общесистемного буфера обмена стоит этой циферки.
Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Мог бы менять до 4.1, не совсем удобно использовать 3 цифры для нумерации да и нет ощущения праздника
Из хаоса в космос
Такую нумерацию заложил mike.dld и я не вижу причин менять.Leency wrote:Мог бы менять до 4.1, не совсем удобно использовать 3 цифры для нумерации да и нет ощущения праздника
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Ну вообще-то я думал это известный баг. Если в многострочном файле с самого конца одной из строк скопировать этот конец строки (т.е. \r\n видимо) и несколько последующих символов, а затем вставить в другое место в этом же файле, то начинались такие чудеса, что лучше этот файл было не сохранять во избежание утраты части этого файла.Mario_r4 wrote: Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
Ну, вот видишь - раз на форуме не упомянули, то я потратил больше недели реального времени (5х8) по вечерам, ломая голову почему "глючит" мой код и уже в приступе отчаяния решил проверить код до моих изменений.Asper wrote:Ну вообще-то я думал это известный баг. Если в многострочном файле с самого конца одной из строк скопировать этот конец строки (т.е. \r\n видимо) и несколько последующих символов, а затем вставить в другое место в этом же файле, то начинались такие чудеса, что лучше этот файл было не сохранять во избежание утраты части этого файла.Mario_r4 wrote: Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Mario_r4
А почему в буфер обмена вместе с текстом добавляется два символа (которых в исходном фрагменте нет) - перевод строки и возврат каретки?
Это будет совместимо с другими программами? (добавил в Shell буфер обмена - приходится вручную обрезать строку)
А почему в буфер обмена вместе с текстом добавляется два символа (которых в исходном фрагменте нет) - перевод строки и возврат каретки?
Это будет совместимо с другими программами? (добавил в Shell буфер обмена - приходится вручную обрезать строку)
Вроде не должно такого быть. Приведи точную методику повторения.Albom wrote:А почему в буфер обмена вместе с текстом добавляется два символа (которых в исходном фрагменте нет) - перевод строки и возврат каретки?
С TextEdit вполне совмещалось, а насчет Shell опять же нужны подробности и насколько я понимаю этот код еще не закончен?Albom wrote:Это будет совместимо с другими программами? (добавил в Shell буфер обмена - приходится вручную обрезать строку)
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Да, возможно не до конца разобрался.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:
С Tinypad посмотрю, может в коде я не все учел.Albom wrote:Пример: в Tinypad скопировал ls.
Длина буфера обмена - 17 ( = 3*4 (заголовок) + 2 (ls) +2 (13 и 10) + 1 ('\0') )
А вот насчет вставки из TextEdit - тут уже не я делал код, надо у автора спрашивать. У него там не всегда соответствует число скопированной информации. Иной раз копирует все и ставит 0, где заканчиваются данные. В общем нечеткая логика.Albom wrote:Второй пример - попробовал t_edit. Буфер оказывается пуст (первый dword равен 0).
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Исправлено в SVN r.4552, как и падение Tinypad при вставке из Shell.Albom wrote:Пример: в Tinypad скопировал ls.
Длина буфера обмена - 17 ( = 3*4 (заголовок) + 2 (ls) +2 (13 и 10) + 1 ('\0') )
Осталась проблема с падением от вставки многострочных текстов (в том числе и из Shell, если многострочный текст в сам Shell предварительно вставить, а потом скопировать обратно в буфер обмена) в область за пределами текста, т.е. там где пустота справа и по идее ничего нет, но курсор туда устанавливается.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Исправлено в SVN r. 4566.Mario_r4 wrote:Осталась проблема с падением от вставки многострочных текстов (в том числе и из Shell, если многострочный текст в сам Shell предварительно вставить, а потом скопировать обратно в буфер обмена) в область за пределами текста, т.е. там где пустота справа и по идее ничего нет, но курсор туда устанавливается.
Остался небольшой баг с добавлением переноса конца в новую строку, но это уже не смертельный баг.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
После вставки, весь текст ниже вставленного исчезает. Если опкстить курсор ниже, то он вновь появляется, но если этого не сделать и сохранить, то пичаль-беда, текст этот мы теряем
to infinity and beyond
Who is online
Users browsing this forum: No registered users and 2 guests