TinyPad 4.0.4

...
  • 0CodErr wrote:Открыл в TinyPad файл размером 0 байтов и нажал 5 раз клавишу Enter — программа вылетела:
    Spoiler:
    1.PNG
    Исправлено в SVN r.4316.

    Исправлено методом увеличения места под временный буфер. Однако если пользователь возжелает, то он все еще может вызвать коллапс программы, если зажмет Enter и дождется переполнения временного буфера. Если кто может исправить лучше, чем это сделал я, то я не имею абсолютно никаких возражений.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • SVN r.4487, 4489, 4490 - внедрение поддержки общесистемного буфера обмена (функция 54).
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • SVN r.4505 - удаление лишнего кода и правка документации. Также увеличил номер версии до 4.0.8 - все же внедрение поддержки общесистемного буфера обмена стоит этой циферки.

    Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Мог бы менять до 4.1, не совсем удобно использовать 3 цифры для нумерации да и нет ощущения праздника :)
    Из хаоса в космос
  • Leency wrote:Мог бы менять до 4.1, не совсем удобно использовать 3 цифры для нумерации да и нет ощущения праздника :)
    Такую нумерацию заложил mike.dld и я не вижу причин менять.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4 wrote: Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
    Ну вообще-то я думал это известный баг. Если в многострочном файле с самого конца одной из строк скопировать этот конец строки (т.е. \r\n видимо) и несколько последующих символов, а затем вставить в другое место в этом же файле, то начинались такие чудеса, что лучше этот файл было не сохранять во избежание утраты части этого файла.
  • Asper wrote:
    Mario_r4 wrote: Также обнаружилось, что случайные Page Fault при пользовании внутренним буфером обмена происходили, еще до внедрения моего кода, так что с эти еще предстоит разобраться.
    Ну вообще-то я думал это известный баг. Если в многострочном файле с самого конца одной из строк скопировать этот конец строки (т.е. \r\n видимо) и несколько последующих символов, а затем вставить в другое место в этом же файле, то начинались такие чудеса, что лучше этот файл было не сохранять во избежание утраты части этого файла.
    Ну, вот видишь - раз на форуме не упомянули, то я потратил больше недели реального времени (5х8) по вечерам, ломая голову почему "глючит" мой код и уже в приступе отчаяния решил проверить код до моих изменений.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    А почему в буфер обмена вместе с текстом добавляется два символа (которых в исходном фрагменте нет) - перевод строки и возврат каретки?
    Это будет совместимо с другими программами? (добавил в Shell буфер обмена - приходится вручную обрезать строку)
  • Albom wrote:А почему в буфер обмена вместе с текстом добавляется два символа (которых в исходном фрагменте нет) - перевод строки и возврат каретки?
    Вроде не должно такого быть. Приведи точную методику повторения.
    Albom wrote:Это будет совместимо с другими программами? (добавил в Shell буфер обмена - приходится вручную обрезать строку)
    С TextEdit вполне совмещалось, а насчет 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:
    test1.png
    test1.png (113.45 KiB)
    Viewed 4566 times
    test2.png
    test2.png (23.87 KiB)
    Viewed 4566 times
  • Albom wrote:Пример: в Tinypad скопировал ls.
    Длина буфера обмена - 17 ( = 3*4 (заголовок) + 2 (ls) +2 (13 и 10) + 1 ('\0') )
    С Tinypad посмотрю, может в коде я не все учел.
    Albom wrote:Второй пример - попробовал t_edit. Буфер оказывается пуст (первый dword равен 0).
    А вот насчет вставки из TextEdit - тут уже не я делал код, надо у автора спрашивать. У него там не всегда соответствует число скопированной информации. Иной раз копирует все и ставит 0, где заканчиваются данные. В общем нечеткая логика.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Albom wrote:Пример: в Tinypad скопировал ls.
    Длина буфера обмена - 17 ( = 3*4 (заголовок) + 2 (ls) +2 (13 и 10) + 1 ('\0') )
    Исправлено в SVN r.4552, как и падение Tinypad при вставке из Shell.

    Осталась проблема с падением от вставки многострочных текстов (в том числе и из Shell, если многострочный текст в сам Shell предварительно вставить, а потом скопировать обратно в буфер обмена) в область за пределами текста, т.е. там где пустота справа и по идее ничего нет, но курсор туда устанавливается.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4 wrote:Осталась проблема с падением от вставки многострочных текстов (в том числе и из Shell, если многострочный текст в сам Shell предварительно вставить, а потом скопировать обратно в буфер обмена) в область за пределами текста, т.е. там где пустота справа и по идее ничего нет, но курсор туда устанавливается.
    Исправлено в SVN r. 4566.

    Остался небольшой баг с добавлением переноса конца в новую строку, но это уже не смертельный баг.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • После вставки, весь текст ниже вставленного исчезает. Если опкстить курсор ниже, то он вновь появляется, но если этого не сделать и сохранить, то пичаль-беда, текст этот мы теряем
    to infinity and beyond
  • Who is online

    Users browsing this forum: No registered users and 2 guests