Bug 742

Summary: Падение 1Cv80 при переходе на другие рабочие столы.
Product: WINE@Etersoft Reporter: Синицын Иван <ivan>
Component: ОбщееAssignee: Константин Кондратюк <kondratyuk>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5 CC: baraka, lav
Version: 1.0.7   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 437, 584    

Description Синицын Иван 2007-09-08 12:26:21 MSD
при открытых модульных окнах программа 1с 8.0 сама закрывается если 
сменить виртуальный рабочий стол (примерно через 5 сек.).
В консоль выводится:

fixme:actctx:ActivateActCtx 0x7fef5a38 0x7fe2e7a4
fixme:actctx:DeactivateActCtx 00000000 00f00bad
fixme:gdi:ExtCreatePen Hatches not implemented
fixme:system:SystemParametersInfoW Unimplemented action: 95 (SPI_GETSNAPTODEFBUTTON)
fixme:advapi:GetCurrentHwProfileA (0x7fe2ebd0) semi-stub
fixme:shell:SHCreateShellPalette stub
fixme:shell:SHGetInverseCMAP  - returning bogus address for SHGetInverseCMAP
fixme:text:TEXT_Ellipsify Rectangle size = -2: stub!
fixme:system:SystemParametersInfoW Unimplemented action: 95 (SPI_GETSNAPTODEFBUTTON)
text.c:724: TEXT_NextLineW: Проверочное утверждение `pellip->under == 0 && pellip->after == 0' не выполнено.
wine: Assertion failed at address 0xb7ce4c16 (thread 0009), starting debugger...
WineDbg starting on pid 0008
Unhandled exception: assertion failed in 32-bit code (0xb7ce4c16).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
...

Воспроизведение: 
Запускаем 1C80 и открываем пункт Помощь->О программе. Переходим на другой рабочий стол. Секунд через 5 1Сv80 падает.
Comment 1 Константин Кондратюк 2007-09-10 10:01:32 MSD
Подтверждаю, мой случай. Из той же серии:
http://bugs.etersoft.ru/show_bug.cgi?id=149
Comment 2 Константин Кондратюк 2007-09-10 13:30:14 MSD
Здесь проваливается из-за того, что
pellip->after=14-3=11
Comment 3 Константин Кондратюк 2007-09-10 16:01:24 MSD
Непонятно, почему в функцию TEXT_NextLineW() при выводе текста, например, в окно about передаётся аттрибут DT_PATH_ELLIPSIS, хотя обрезать текст там не нужно.
Может быть, неправильно передаётся формат, а не идёт неправильный расчёт параметров...
P.S. Вообще, не совсем понимаю, зачем там assert. Вроде ничего критического не блокирует, а проблемы из-за него уже не в первый раз. Может, заменить на warning?
Comment 4 Константин Кондратюк 2007-09-11 09:31:59 MSD
Заменил проверку assert() на обычный fixme().
При переключении рабочих столов выдаёт сообщение в консоль, но не падает. Вообще, не заметил никаких последствий провала проверки этого условия. По крайней мере, точно не должно проявиться в тексте, который выводится полностью, без сокращения.