║ ║ *.*Assertion failed!
║ ╟─────────────────────────────────────────────
Program: D:\Projects\far\far3\unicode_far\Debug.64.vc\Far.exe
File: lapi.c, Line 552 ║
║ ║ Using code page:
Expression: L->top < L->ci->top║ All code pages
║ ╟──────────────────────────────────┬──────────
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information. [x] Searc
║ ║ [ ] Search for hex │ [x] Searc
D:\Projects\far\far3\unicode_far\Debug.64.vc>─────────────────────┴──────────
возможно ему помогли, конечно, но кто в этом лучше тебя разберётся ?
оригинальный вариант у меня вылетал по ассерту при выделении памяти в Message(), похоже по куче проехались.
и Message() вызывался для вывода какой-то ошибки луа...
Вроде разобрался, в чём дело. Этот баг проявляется, когда Фар вызывает OpenW плагина LuaMacro, не дожидаясь возврата из ProcessDialogEventW этого же плагина. Эти два вызова поступают из разных потоков.
Чинить надо Find File, на мой взгляд, а не LuaFAR/LuaMacro.
Shmuel wrote:Поскольку чинить Find file вряд ли кто-то будет
Баг есть? Надо на мантис.
Это к исходному репортеру.
Но теперь уже вышеприведенные макросы не будут валить Фар. То-есть плагин LuaMacro защищается с помощью CRITICAL_SECTION. Что касается других плагинов, эта защита на них не распространяется.