Глюки и баги, появившиеся в «ночных сборках»

Здесь можно сообщить о найденных багах в Far.
User avatar
John Doe
Бюрократ
Posts: 12250
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe » Tue 07 Apr, 2009 14:05

Внимание: Тема служит исключительно для обсуждения свежих багов Far 3.
  • Под свежими понимаются глюки и баги проявляющиеся в "ночных" сборках, но отсутствующие в "стабильных".
  • О проблемах, которые существуют давно, следует сообщать в отдельных темах, либо на багтрекере.
  • Вопросы связанные с ночными сборками, но не касающиеся багов самого фара, обсуждаются в другой теме:
Если баг о котором вы сообщили не исправлен "по горячим следам", значит необходимо создать запись на багтрекере

Предыдущие ночные билды доступны здесь.

Дм. Журко
Posts: 8
Joined: Wed 06 Feb, 2008 18:17

Re: Nightly Builds — еженощные сборки

Post by Дм. Журко » Mon 08 Jun, 2009 13:26

Latest post of the previous page:

Здравствуйте и спасибо! Напишу сюда о двух замеченных неприятностях:
1. Если имя папки с точкой на конце, например "Новая папка.\", Far2 её не открывает -- "Файл не найден".
1а. Вообще, раньше Far позволял добавить точку в конец имени только в кавычках. Иначе её отбрасывал. Это неплохо было, полагаю.
2. FTP клиент, якобы, забирает память и не отдаёт. Занятая память растёт во время использования. Обнаружил не я, а коллега.

DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 2 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by DiRTy_GaRRy » Mon 08 Jun, 2009 16:14

Дм. Журко wrote:1. Если имя папки с точкой на конце, например "Новая папка.\", Far2 её не открывает -- "Файл не найден".
1а. Вообще, раньше Far позволял добавить точку в конец имени только в кавычках. Иначе её отбрасывал. Это неплохо было, полагаю.
Поиск по форуму. Обсуждалось.
Дм. Журко wrote:FTP клиент, якобы, забирает память и не отдаёт. Занятая память растёт во время использования. Обнаружил не я, а коллега.
Давай больше подробностей. Я плагином пользуюсь потоянно, но видимых ликов не замечал.
Ы?

User avatar
John Doe
Бюрократ
Posts: 12250
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

Re: Nightly Builds — еженощные сборки

Post by John Doe » Mon 08 Jun, 2009 16:27

Дм. Журко wrote:1а. Вообще, раньше Far позволял добавить точку в конец имени только в кавычках. Иначе её отбрасывал. Это неплохо было, полагаю.
Как по мне - такая "защита от дурака" действительно не повредила бы...

Дм. Журко
Posts: 8
Joined: Wed 06 Feb, 2008 18:17

Re: Nightly Builds — еженощные сборки

Post by Дм. Журко » Mon 08 Jun, 2009 21:34

Сожалею, но об FTP не могу пока ничего написать, сам не пользуюсь, коллега сказал.

Обсуждение точки в конце имени увидел, спасибо. Предлагаю:
1) убирать точку, если кавычек нет;
2) выдавать более точное сообщение об ошибке во всех таких случаях.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by NightRoman » Tue 30 Jun, 2009 10:43

svs 29.06.2009 17:57:12 +0300 - build 1013
1. в этом патче такое:
1. фрейм не удаляем из CloseDialog, т.к. эта функция вызывается из XXXProc (и из плагинов)
2. фрейм можно удалить только из "проходных" функций ProcessMouse или ProcessKey.
3. при выставленном флаге DMODE_ENDLOOP ничего плагину в обработчик диалога не кидаем
4. теперь в плагинах "Info.DialogRun(hDlg);" можно юзать сколько угодно раз между Init и Free.
Это как-то внешне на существующих диалогах должно было отразиться? Такое ощущение, что что-то чуть поменялось. К сожалению, нет времени прямо сейчас исследовать досконально, но изменения есть - юнит тесты для FarNet работают несколько иначе в 1013 по сравнению с 1012, это с большой вероятностью говорит о том, что диалоги или их контролы ведут себя чуть иначе. Доисследую, когда будет время - отпишусь, пока просто сообщаю.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Nightly Builds — еженощные сборки

Post by Skirda » Tue 30 Jun, 2009 11:08

поменялось.
тестовый плагин перестал ронять ФАР :crazy:
хмм... но здесь видимо для полного счастья нехватает правки, указанной здесь. ждемс ответа...
We are the Borg. You will be assimilated.
So Say We All!

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by NightRoman » Tue 30 Jun, 2009 11:09

Одно наблюдение. В плагине есть диалог со списком (только список, суть) для динамической фильтрации - пользователь набирает подстроку, сразу фильтруем и перезапускаем диалог (создаем новый с отфильтрованным списком). В 1012 и более старых практически невозможно заметить пропадание старого диалога и панели без диалогов перед появлением нового. В 1013 есть весьма заметная задержка, я четко вижу панели без диалога в промежутке. Машина быстрая, в плуге ничего не менялось.

User avatar
John Doe
Бюрократ
Posts: 12250
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

Баг в 1013

Post by John Doe » Tue 30 Jun, 2009 19:07

Запускаем фар со стандартными плагинами.
Назначаем какому-нибудь плагину, например Advanced compare горячую клавишу z
На клавишу F10 вешаем макрос

Code: Select all

[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Shell\F10]
"Sequence"="F11 z F10 F10"
Нажимаем F10. Ожидаем что произойдёт выход из фара, однако этого не происходит - вторая F10 почему-то не выполнилась.
(Если добавить F10 третий раз, то выход сработает)

Проблема только с билдом 1013.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Баг в 1013

Post by Skirda » Wed 01 Jul, 2009 08:58

John Doe wrote:Нажимаем F10. Ожидаем что произойдёт выход из фара, однако этого не происходит - вторая F10 почему-то не выполнилась.
(Если добавить F10 третий раз, то выход сработает)
Ндя... недолечил :(

см. build 1014
We are the Borg. You will be assimilated.
So Say We All!

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by NightRoman » Wed 01 Jul, 2009 10:07

Skirda, John Doe
Работает этот макрос в 1014, как надо, проверил.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by NightRoman » Wed 01 Jul, 2009 10:09

Одно наблюдение. В плагине есть диалог со списком (только список, суть) для динамической фильтрации - пользователь набирает подстроку, сразу фильтруем и перезапускаем диалог (создаем новый с отфильтрованным списком). В 1012 и более старых практически невозможно заметить пропадание старого диалога и панели без диалогов перед появлением нового. В 1013 есть весьма заметная задержка, я четко вижу панели без диалога в промежутке. Машина быстрая, в плуге ничего не менялось.
А вот это в 1014 еще наблюдается, как и в 1013. В 1012 и раньше такого нет.

User avatar
zg
zero-gravity
Posts: 5542
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by zg » Wed 01 Jul, 2009 11:20

NightRoman wrote:А вот это в 1014 еще наблюдается, как и в 1013. В 1012 и раньше такого нет.
я не вижу здесь бага. ты закрыл диалог. потом открыл. ожидать, что между этими событиями не будет состояния без диалога — самонадеянно. то что это в каких-то билдах работало… ну значит так сложилось. в диалогах и так проблем хватает, поэтому я настоятельно против даже каких либо попыток фиксить такое.
тем более отфильтровать список можно и не переоткрывая диалог.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by NightRoman » Wed 01 Jul, 2009 11:58

zg
А я и не пишу, что это бага. Если это ожиданный еффект изменений в 1013 - прекрасно. Если же этот эффект не планировался, то разработчикам полезно знать, ибо это *может* быть бага.
тем более отфильтровать список можно и не переоткрывая диалог.
Спасибо за совет (хотя в таком виде он и не подходит, но не буду приводить подробности), но сначала мне хочется услышать подтверждения, что это ожиданный эффект, тогда уж я безусловно придумаю, как с этим жить.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Nightly Builds — еженощные сборки

Post by Skirda » Wed 01 Jul, 2009 12:17

NightRoman, расскажи/покажи на пальцах как ты вызываешь диалог и что ты делаешь между вызовами...
We are the Borg. You will be assimilated.
So Say We All!

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by NightRoman » Wed 01 Jul, 2009 12:44

Skirda wrote:NightRoman, расскажи/покажи на пальцах как ты вызываешь диалог и что ты делаешь между вызовами...
как вызываю

Code: Select all

FarDialogItem* items = new FarDialogItem[_items->Count];
:
_hDlg = Info.DialogInit(..,items,..,FarDialogProc,..)
:
int selected = Info.DialogRun(_hDlg);
:
Info.DialogFree(_hDlg);
Все это в цикле, пока пользователь не ENTER или не ESC. FarDialogProc обрабатывает нажатия клавиш. Если была нажата следующая "буква" в фильтре, закрываем диалог по DM_CLOSE, увеличиваем фильтр на соответствующую букву, идем на начало цикла, все повторяется для абсолютно нового с нуля диалога, но новые "items" уже отфильтрованы по новому.

Почему совет zg в чистом виде не подойдет? Этот диалог работает как меню, скорей, он содержит только список и размеры его подгоняются под этот список по некоторому алгоритму в зависимости от содержимого списка. Так что одной перефильтрации списка не будет достаточно, надо пересчитать весь диалог целиком. Так и придется, конечно, сделать, если новое поведение легально. А если нелегально и все будет как было, то зачем мудрить, прекрасно все работало.

User avatar
John Doe
Бюрократ
Posts: 12250
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

Re: Баг в 1013

Post by John Doe » Thu 02 Jul, 2009 09:56

Skirda wrote:
John Doe wrote:Нажимаем F10. Ожидаем что произойдёт выход из фара, однако этого не происходит - вторая F10 почему-то не выполнилась.
(Если добавить F10 третий раз, то выход сработает)
Ндя... недолечил :(
см. build 1014
Проблема для большинства плагинов ушла, но для MultiPanel осталась.

В билде 1013 помогало добавление в макрос дополнительных F10, а в 1015 даже это уже не помогает.

P.S.
А это нормально что фар позволяет назначить один и тот же хоткей нескольким плагинам?

User avatar
zg
zero-gravity
Posts: 5542
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

Re: Nightly Builds — еженощные сборки

Post by zg » Thu 02 Jul, 2009 19:15

NightRoman wrote:А я и не пишу, что это бага.
таки это бага. всё ж таки надо писать, что задержка порядка секунды. а то «весьма» и «заметная» — это понятия растяжимые. но главное, что например у меня — не всегда повторяется. периодами как-то. то вот — глючит, то — никакой задержки :(

Post Reply

Return to “Глюки и баги”