Bugs / Найденные баги (1)

Russian main discussion
Locked
  • Author
  • Message
Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Fr0sT, ну дык фича. Атомарность. Тут скорее баг что оно вернуло вообще что-то, а не дождалось полного открытия. Вот сижу смотрю и не вижу где же крутится паразитный оконный цикл.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Не воспроизводится
И в самом деле, ложная тревога. Прошу прощения.
AKDN_OPENDOCUMENT_START, AKDN_OPENDOCUMENT_FINISH
Да, эти я знаю, но для нового пустого документа они не работают. Поэтому я цепляюсь к AKDN_EDIT_ONSTART.
В итоге сделал проверку по флагу, чтобы между START и FINISH имя не отображалось.
Тут скорее баг что оно вернуло вообще что-то, а не дождалось полного открытия
Да нет уж, еще не хватало - дедлока до окончания загрузки!

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Да нет уж, еще не хватало - дедлока до окончания загрузки!
1. Дедлок - это дедлок, из него не выходят нормально, на нем зависают раз и навсегда.
2. Если Вы о своём плагине, то я не вижу где там может быть дедлок. Просто негде.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Ну да, не дедлок, а просто лок. Всё равно не особо приятно.
P.S. А оконный цикл крутится, видимо, чтобы дать возможность отменить загрузку файла (поработаем за К.О., мда).

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Когда докумен недозагружен и кто-то уже лезет за его содержимым - тоже не совсем приятно.

Я знаю зачем там оконный крутится, я найти не мог где именно он крутится.
Нашел цепочку
DoFileOpen -> OpenDocument -> FileStreamIn -> SendMessage(...,AEM_STREAMIN,...) -> AE_StreamIn -> AE_NotifyProgress -> SendMessageA(..., WM_NOTIFY,..) -> EditParentMessages(AEN_PROGRESS)
и вот в этой последней функцейке крутятся парочка циклов, один из которых обрабатывает лишние сообщения. По коду видно не должны, отладчиком я туда не ходил, так что статус ХЗ по прежнему.

Offline
Posts: 2
Joined: Fri Dec 28, 2012 1:55 pm

Post by diksen »

4.8 не работает REAL MDI
WinXP 32b SP3

4.7.9 REAL MDI работает

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

REAL MDI - просвятите нас - быдло что это такое?

Offline
Posts: 2
Joined: Fri Dec 28, 2012 1:55 pm

Post by diksen »

FeyFre wrote:REAL MDI - просвятите нас - быдло что это такое?
Простите великодушно меня непосвящённого. Не знал что вы быдло.
REAL MDI настоящий многооконный интерфейс (настоящий всмысле "НЕ ПСЕВДО")

______________

Не работают кнопочки дочерних окон: [_][^][x] свернуть, развернуть, закрыть.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

diksen wrote:Не работают кнопочки дочерних окон: [_][^][x] свернуть, развернуть, закрыть.
Это упоминается в первом же сообщении в теме по 4.8.0. И несколькими сообщениями ниже ссылка на обновлённую (пробную) версию от Instructor.

Offline
Posts: 8
Joined: Mon Dec 31, 2012 7:11 pm

Post by Diskretor »

В режиме "На весь экран" F11 надо бы заблокировать (не отслеживать) клавишу F4, иначе при последующем нажатии F11 -> F4 "слетает" исходный размер окна (которое не в полный размер экрана), а то и даже становится минимальным.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Поймал странное поведение при смешении кодировок.
Имеется файл с основным текстом в utf8 и строчкой в cp1251.
Это он открыт как cp1251:

Code: Select all

їР±Р»Р°Р±Р»Р°


блабла
При открытии как utf8 строчка cp1251 превращается в китайские иероглифы (конкретно эта - всего в один!). Диалог перекодировки сильно озадачивается при попытке перегнать эту строчку в нужную кодировку. Ни utf8 => cp1251, ни наоборот не дают нужного результата.
Вопрос1: как можно (и можно ли вообще) перегнать такую строку стредствами Акеля? Очевидный вариант "открыть как cp1251, вырезать, открыть как utf8, вставить" - очевиден.
Вопрос2: есть у меня подозрение, что конвертирование из utf8 тихо пропускает символы, не являющиеся utf8. Возможно, стоит добавить хотя бы предупреждение о том, что в файле встретились косячные символы

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Вопрос2: есть у меня подозрение, что конвертирование из utf8 тихо пропускает символы, не являющиеся utf8. Возможно, стоит добавить хотя бы предупреждение о том, что в файле встретились косячные символы
Ну так оно и есть. utf8 сделан так что-бы спокйоно проигнорировать мусор и оставить уцелевшие символы.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

FeyFre да не сказал бы. Он сделан так, чтобы можно было с некой долей уверенности отличить utf8 символ от не-utf8 мусора, а уж как реагировать на последний - на усмотрение программиста

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

> некой долей уверенности
Не с "некой долей" а 100% уверенности. Порча и выпадание 1 байта из текста портит только один utf8 символ.
> уж как реагировать на последний - на усмотрение программиста
Я не о той реакции. Я о реакции базового ридера utf8 - он никогда мусорые байты даже и не подумает смешать с настоящими и таким образом испортив весь текст.. Даже если выаадет один байт, то остальные символы не искажатся.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Не с "некой долей" а 100% уверенности. Порча и выпадание 1 байта из текста портит только один utf8 символ.
Я не о том. Может встретиться байт, который не является частью utf8 символа, но будет соответствовать требованиям кодировки (ну, тут вопрос скорее смысловой нагрузки, нежели фактического значения).
Я о реакции базового ридера utf8 - он никогда мусорые байты даже и не подумает смешать с настоящими и таким образом испортив весь текст
Это все замечательно, но:
1) Неплохо было бы знать, что в файле есть некорректные для utf8 данные
2) Что же в итоге делать в описанном случае?
Locked