Summary: | Неправильные размеры у окон инсталляторов и элементов на них | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Александр Морозов <amorozov> |
Component: | Окна / фокус / перерисовка | Assignee: | Svetlana Zhukova <svzhu> |
Status: | CLOSED FIXED | QA Contact: | Marat Sharipov <regan> |
Severity: | normal | ||
Priority: | P4 | CC: | lav, night |
Version: | 2.0 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 788, 4284, 5563 | ||
Attachments: |
Скриншот
Инсталлятор 1С 8.1 Установка Компас |
Created attachment 1422 [details]
Инсталлятор 1С 8.1
Сломалось коммитом: commit 77eb0e0097d153158a27decbbfb0f39b69c28bb7 Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Tue Nov 10 14:25:52 2009 +0300 gdi32: Use the logical device coordinates for scalable text faces (eterbug #4409) К новому шрифту Microsoft Sans Serif не имеет никакого отношения. Выложил патч. Проблема в том, что в функции msi_dialog_get_sans_serif_height неправильно считается размер шрифта в point'ах, который затем используется для масштабирования контролов. Используется такая формула: lf.lfHeight = MulDiv(10, GetDeviceCaps(hdc, LOGPIXELSY), 72); Это похоже на формулу для расчета размера в логических координатах устройства: int logheight = -MulDiv(pointsize, GetDeviceCaps(hdc, LOGPIXELSY), 72); Только здесь нет минуса. Это означает, что рассчитывается высота ячейки для символа определенного шрифта, а не высота самого символа. При этом исходя из комментария к этой функции, она должна считать высоту 10 point для шрифта MS Sans Serif. Но подсчитанный по формуле размер соответствует не point'ам, а логическим координатам. Чтобы функция работала корректно (согласно комментарию) необходимо изменить формулу: lf.lfHeight = MulDiv(10, 72, GetDeviceCaps(hdc, LOGPIXELSY)); Для более подробной информации см: http://support.microsoft.com/kb/74299 http://www.catch22.net/tuts/tips В оригинальном wine такое изменение не пройдет, т.к. у них по-другому работает WineEngCreateFontInstance. Поэтому из-за этого патча все контролы и шрифт в msi диалогах становятся очень маленькими. В текущем релизе оригинального wine 1.1.34 бага #4409 решена. Поэтому при merge eterhack'а с оригинальным wine необходимо отктатить этот патч и на #4409. Принято. 1.0.12-eter1.2/1 Аналогичная проблема проявляется при установке Компаса в WINE@Etersoft CAD 1.1.0-eter9/5. Created attachment 1704 [details]
Установка Компас
Выложил реверт на коммит #4409 и новое решение для etercad. См. http://bugs.etersoft.ru/show_bug.cgi?id=5563#c1 Проверить на последней версии WINE@Etersoft CAD WINE@Etersoft CAD 1.0.12-eter7.40/15 Принято. wine-etersoft-1.3.15-alt1.2 wine-etersoft-sql-1.7.1-alt2 Проблема снова присутствует Да, на последнем eterhack воспроизводится. На school тоже воспроизводится. На cad воспроизводится. Нашёл патч, создающий проблему: commit 7d7783abb4e8d61e0712d72753888d0a33b6031d Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Tue Nov 10 14:25:52 2009 +0300 gdi32: Use the logical device coordinates for scalable text faces (eterbug #4409) Надо проверить багу 4409. Откатил патч для etercad. Там всё-равно 1с77 не работает. В school и eterhack это уже 2 патча: commit bfba4c56123fba17f512b49694c8b1fa291211bf Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Wed Mar 31 14:35:58 2010 +0400 gdi32: Fix patch for scalable text faces (eterbug #5226 #4409) commit 35d4410359246de7a79dfa45bdb217a8681269d1 Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Tue Nov 10 14:25:52 2009 +0300 gdi32: Use the logical device coordinates for scalable text faces (eterbug #4409) Откатил патчи. Теперь появилась проблема из баги 5226. Багу 4409 пока не проверял Света, не могла бы ты проверить все эти проблемы в eter-1.0.12? Нужно проверить: 1) Инсталляторы из текущей баги (думаю, что достаточно одного) 2) Размер шрифта в поле поиска 1с77 (бага 5226) 3) Проблема в клиенте Балтийского банка (бага 4409) 1. MS Office из /var/ftp/pvt/Windows/MS/MSO/MSOXPPro WINE@Etersoft 1.0 SQL 1.0.12-eter12/22 и в 1.0.11 - одинаковый размер окна. при установке Компаса тоже не вижу разницы в размере окон. Что касается BBClient - на eterhack сегодня проверила -нормально, а на 1.0.12 - шрифт больше похож на крокозябру. В exel- внизу на листах, 1с8.1, 1с77 - в окне поиска шрифт нормальный. пока закрою. |
Created attachment 1413 [details] Скриншот В 1.0.12 как-то странно изменились размеры у окна инсталлятора MS Office XP Pro. В 1.0.11 всё было меньше. Дистрибутив: /var/ftp/pvt/Windows/MS/MSO/MSOXPPro $ rpm -qa | grep wine wine-etersoft-sql-1.0.12-alt1 wine-etersoft-1.0.12-alt1.1