Summary: | Не отрабатывается привязка объектов форм к границам окон | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Глеб Кордюков <sonner> |
Component: | Окна / фокус / перерисовка | Assignee: | Konstantin Artyushkin <akv> |
Status: | CLOSED FIXED | QA Contact: | Vitaly Lipatov <lav> |
Severity: | critical | ||
Priority: | P3 | CC: | aurimas, boris, delayer, dtimoshkov, kam, kondratyuk, lav, lebedev.v.sergey, sergling, stas, svzhu, vitperov |
Version: | 2.1 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | 7394,11298, 13718 | Связано с: | |
Дата напоминания: | |||
Bug Depends on: | 2304 | ||
Bug Blocks: | 437, 42, 5395, 7851, 9387 | ||
Deadline: | 2009-09-20 | ||
Attachments: |
1
2 скр1 скр2 скр3 конфигуратор tahoma.ttf Скрин при удаленных файлах Скрин после замены Скрин со стандартым шрифтом |
Description
Глеб Кордюков
2008-07-28 14:14:42 MSD
Created attachment 608 [details]
1
Created attachment 609 [details]
2
1c81 При изменении размеров окна, сворачивании, разворачивании проблемы не увидел. Надо проверить снова. Проверь пожалуйста. Здесь напишут на какой системе итд: http://rt.etersoft.ru/Ticket/Display.html?id=7629 Выглядит это примерно так (см. скрины). GDI стоит GNOME 2.22.2 (03.06.2008). Как воспроизвести: вызвать любое модальное окно - например, вывод на печать. От включения/выключения Compiz не зависит, исправляется при выключении менеджера окон в winecfg. Created attachment 642 [details]
скр1
Created attachment 643 [details]
скр2
Прошу прощения, комментарий 7,8,9 - не для этой баги. 1c предприятие, вайн 1.0.9, система kubuntu, 7.10, kde, версию не помню, базовая которая идет на диске с 7.10. Created attachment 646 [details]
скр3
Повторение ошибки: http://rt.etersoft.ru/Ticket/Display.html?id=7615 Дано: Ubuntu 8.04, wine-etersoft-network_1.0.9-1_i386.deb wine_1.0.9-1_i386 linux-cifs_1.53-1_i386 libwine_20071130-1_i386 libwine_1.0.9-1_i386v haspd-modules_2.0-1_i386 haspd_2.0-1_i386 etersoft-build-utils_1.4.3-1_all cabextract_1.2-1_i386 gnome ver: 2.22.3 1С 8.1.10.50 Конфигурация: управление торговлей 10.3.3.3 режим файловый. Доступ терминальный Нужно попросить либо конфигурацию такую, либо точнее способ воспроизведения. Т.к. у нас не воспоризводится. Надо проверить на базе /tmp/baraka/7615-lodin Проверил на Ubuntu 8.04, с данной конфигурацией. Проблема не воспроизвелась. Created attachment 700 [details]
конфигуратор
Воспроизвёл на Multi ---- Ubuntu 8.04
Подробности на скрине.
Открываю wine 1.0.9-1 Проверьте пожалуйста ещё раз на последней сборке. Всё-таки ошибки нет. В винде происходит также. Закрываю. Проверял на Убунту 8.04, вайн от 20 сентября. В результате в получилось что тут 2 ошибки: -привязка форм к границам, но данная ошибка не воспоризводится (по крайней мере на новой сборке) -ошибка при создании формы в конфигураторе, но Андрей порверил и в винде так же. Значит закрываю. Сейчас подключался по NX к клиенту, дистрибутив SUSE 11 стоит последняя сборка wine@etersoft eter23 и проблема воспоризвелась, воспоризведение: Документы -> Продажи -> Заказы покупателей -> выбрать любой заказ (он не разворачивается на полный экран) у нас почему то не воспроизводится. Параметры подключения к NX можно посмотреть в заявке 8278. P.S. желательно сделать сегодня Воспроизвелось у нас. Воспоризвел на lin-test. Документы -> Продажи ->Заказы покупателей -> выбрать любой заказ (он не разворачивается на полный экран) *** Bug 2304 has been marked as a duplicate of this bug. *** Ищем и решаем в кратчайший срок. чем я могу помочь? Если открыть форму на которой проявлется бага в конфигураторе и изменить параметр цвет рамки (даже если самой рамки нет) для контрола "Форма" - ошибка пропадает. То есть путем манипуляций с контролами ошибку можно устранить. Странно, что ошибка может проявляться на одной из двух практически одинаковых форм, и в то же время отсутствовать на другой. В винде все отрисовывается нормально. Ошибку можно воспроизвести в бутылке 1c81, база "bug #2168", пользователь admin без пароля. Выбрать Документы -> Продажи -> Заказы покупателей -> Добавить. Выложил патч. Правда это не совсем патч, а предыдущая версия шрифтов (из папки wine/fonts). Как установить: - заменить файлы tahoma.sfd и tahoma.ttf - удалить tahomabd.ttf Надо все хорошенько потестить. Перед заменой шрифтов надо проверить в каких случаях и в каких окошках бага появляется. Один из случаев: Документы -> Продажи -> Заказы покупателей -> Добавить (если баги нет - надо перезапустить окошко. бага появляется иногда только на второй раз) После замены надо проверить - исправилась ли бага. (In reply to comment #29) > Выложил патч. > > Правда это не совсем патч, а предыдущая > версия шрифтов (из папки wine/fonts). 0. Файлы со шрифтами в рассылку не дойдут. 1. Можно дать прямую ссылку на файлы у нас? > Как установить: > - заменить файлы tahoma.sfd и tahoma.ttf sfd наверное не нужен, это же исходник. Created attachment 776 [details]
tahoma.ttf
Файл tahoma.ttf
Заменить можно только его, без tahoma.sfd.
Скорее всего, более правильным решением будет просто удалить два файла: tahoma.ttf и tahomabd.ttf. Без всякой замены. В общем работает и замена и просто удаление, но шрифт становиться не такой как должен быть. Прилагаю скрины. Created attachment 777 [details]
Скрин при удаленных файлах
Created attachment 778 [details]
Скрин после замены
Created attachment 779 [details]
Скрин со стандартым шрифтом
Выяснилось, что ошибка пропадает если в winecfg расширение экрана изменить до 104 dpi и выше. Можно ориентироваться на системное меню: если крестик стал жирным - бага не проявляется. Бага также не проявляется на шрифте tahomabd.ttf (на стандартных 96 dpi). Скорее всего это связано с векторной и растровой отрисовкой шрифтов. Тестировать рекомендую в бутылке 1c81 (см. сообщения выше). Стандартный виндовый шрифт tahoma.ttf - не помогает на нем бага также проявляется. Предположительно проблема связана с неверным вычислением размеров строк при использовании растрового шрифта из ttf. Присутствующие в логе +relay функции, имеющие отношение к размеру строк: gdi32.GetTextExtentPoint32A user32.GetTabbedTextExtentA Изменение возвращаемого значения функции TEXT_TabbedTextOut, вызываемой GetTabbedTextExtentA и TabbedTextOutA, на 0xfff0fff ничего не меняет ни при 96, ни при 104 dpi. GetTextExtentPoint32A вызывает GetTextExtentExPointW. Добавление хака, меняющего возвращаемый GetTextExtentExPointW размер в 0.8, 0.9 или 1.1 раза, проблему устраняет. Домножение возвращаемого размера по x (без изменения размера по y) на 0.9 или 0.95 также положительно влияет на растягивание содержимого окна. Увеличение возвращаемого GetTextExtentExPointW размера по x на 2 проблему устраняет. Можно использовать этот хак, если не будет найдено лучшего решения. Отправил в рассылку патч "gdi32: Hack for 1C (eterbug #2168)." 1С использует шрифт "MS Shell Dlg". В Windows вместо него подставляется "Microsoft Sans Serif", а в Wine "Tahoma". Если удалить в реестре Wine замену "Microsoft Sans Serif" на "Tahoma", поместить в windows/fonts micross.ttf из Windows и сделать симлинк arial.ttf -> micross.ttf, то проблема не проявляется. Пробовал выставить замену на "Tahoma" в Windows. Проблема не воспроизвелась, правда, тестировал на другой конфигурации и с другими окнами. Патч приводит к появлению баги #3996, поэтому было решено его откатить. Данная бага может быть решена двумя способами: 1) запустить: wine winecfg и на вкладке "Графика" установить "Разрешение экрана" 104 dpi (или больше) 2) в конфигураторе открыть форму, на которой проявляется ошибка. В свойствах формы установить флаг "Использовать сетку", сделать горизонтальный и вертикальный шаг сетки 5. После этого ошибка перестала проявляться. Хотя не исключено, что это связано с обновлением конфигурации, выполненным под wine. Поскольку окончательного решения нет, переоткрываю на всякий случай. на 18\25 снова воспроизводится Нужно проверить согласно комментарию 44. Бага актуальна на 1.0.11 Отлично решаем баги :) Через год предлагаю Если дело в размерах шрифта, может быть сделать из tahoma некое подобие micross.ttf ? Скопировать и поменять метрики, чтобы был более похож на Microsoft Sans Serif? Ещё можно рассмотреть увеличение шрифта (dpi) по умолчанию. В конце концев у большинства большие мониторы :) Я не знаю, это может быть Косте, или Илья посмотрит что-то со своей стороны... Выложил патчи и внес изменения в закрытую часть (реестр). Решение заключается в увеличении ширины символов существующего шрифта Tahoma. Этот новый шрифт теперь называется Microsoft Sans Serif (файл micross.ttf). Чтобы шрифт из файла с таким именем записывался в реестр пришлось откатить хак на багу #1637. Изменения в закрытой части делают необходимую подмену шрифтов (ключ Windows NT): MS Shell Dlg = "Microsoft Sans Serif" и удаляют: Microsoft Sans Serif = "Tahoma" К сожалению без сглаживания новый шрифт смотрится коряво, поэтому рекомендуется его включить. Для этого достаточно сделать: wine --update (In reply to comment #50) ... > Изменения в закрытой части делают > необходимую подмену шрифтов (ключ Windows NT): > MS Shell Dlg = "Microsoft Sans Serif" > и удаляют: > Microsoft Sans Serif = "Tahoma" > > К сожалению без сглаживания новый шрифт > смотрится коряво, поэтому рекомендуется > его включить. Для этого достаточно сделать: > wine --update В [Software\\Microsoft\\Windows\\CurrentVersion\\Fonts] получается “Microsoft Sans Serif (TrueType)”=“micross.ttf” “Microsoft Sans Serif Bold (TrueType)”=“tahomabd.ttf” И наличие этого micross.ttf отвратительно портит основной шрифт диалогов (winecfg) Я так понимаю, нужно вернуть растровую составляющую, потому что у меня например сглаживание (в новой бутылке) включается лишь с определённого размера. Исправил шрифт micross.ttf. Теперь в нем есть растровая составляющая. Отображается все не так коряво, но шрифт стал заметно шире. Патч в рассылке: [2/2] [TRY 2] fonts: Add modification of the Tahoma - Microsoft Sans Serif (eterbug #2168) Чтобы не забыть, как это так получилось, опишу алгоритм создания ttf шрифта с поддержкой растров. 1) в fontforge необходимо открыть на редактирование файл sfd. При открытии ttf файла, почему-то, растры не загружаются. 2) после внесения необходимых изменений: Файл->Создать шрифты. 3) В диалоге выбираем: TrueType, In TTF/OTF Параметры: - Инструкции TrueType - Названия символов в PS - Apple - Dummy 'DSIG' - Output Glyph Map - Output OFM & CFG - Lookup Names - Сохранить направляющие - TeX Table Вероятнее всего, здесь что-то лишнее. Принято. WINE@Etersoft 1.0.11 eter8.3/eter4 Необходимо исправить получившийся шрифт, чтобы он больше походил на Tahoma. По возможности избежать искажения символов. Изменил шрифт Microsoft Sans Serif. В отличие от предыдущего варианта расширению подверглись все символы, кроме русского, латинского алфавитов, цифр и знаков препинания. Бага #2168 при этом не воспроизводится. Изменением метрик проблему не решить - необходимо именно расширение символов. Принято. WINE@Etersoft 1.0.12 eter1/1 *** Bug 4625 has been marked as a duplicate of this bug. *** На wine@etersoft 4\3 проявляется. Переоткрываю. Глеб, пиши, где и на чём проверял! В бутылке 1c81/1c81 в базе 2168 по баге проблемы нет. (Выбрать Документы -> Продажи -> Заказы покупателей -> Добавить) *** Bug 4949 has been marked as a duplicate of this bug. *** (In reply to comment #60) > Глеб, пиши, где и на чём проверял! > В бутылке 1c81/1c81 в базе 2168 по баге проблемы > нет. > (Выбрать Документы -> Продажи -> Заказы > покупателей -> Добавить) > На пакетах 1.0.12 5/4 нигде не воспроизводится. С 13718 будем решать конкретно в рамках заявки. (In reply to comment #62) > На пакетах 1.0.12 5/4 нигде не воспроизводится. А подтверждение от Интерры будет? Михаил? Будет, будет... Фраза о принятии прозвучала в 2010-04-15 19:16:06, я ж не круглосуточно работаю ;) Постараюсь завтра с утра закинуть на одну из клиентских рабочих станций, где кассы работают. В течение дня, если все хорошо, отпишусь. Не заработало, еще и торговое оборудование кучно отвалилось ;( сборка 5.1/4 кубунту 9.10 И ещё, а почему при wine --update открывается окно IE, в адресной строке которого написано http:///RegServer ? Откатиться тоже не получается: Building local environment... Checking /home/kassa3/.wine/dosdevices/c:/windows/system32/ole32.dll: [ ERROR ] Итоги: откатиться на 1.3/1 удалось только после сноса apt-get'ом wine-пакетов. Также попробовал с нуля установить 5.1/4, переустановив затем 1С и драйверы. Окно интерфейса кассира ведет себя аналогично. По-прежнему фурычит хинт с "Восстановить положение окна". Откатился до 1.3/1, так как там корректно работает торговое оборудование Надо проверить воспроизводиться ли проблема на wine'овском Tahoma с патчем на #4425? Возможно, проблема решится и необходимость в самодельном Microsoft Sans Serif отпадет. (In reply to comment #69) > Надо проверить воспроизводиться ли > проблема на wine'овском Tahoma с патчем на #4425? > > Возможно, проблема решится и необходимость > в самодельном Microsoft Sans Serif отпадет. > Свежая бутылка bugs/2168 с базой bug2168 из 1c81/1c81 Проверял по сценарию -- Выбрать Документы -> Продажи -> Заказы покупателей -> Добавить. Проблемы не увидел. Ещё какие-то манипуляции нужны? Наткнулся по ходу на багу http://bugs.etersoft.ru/show_bug.cgi?id=5563 WINE@Etersoft 1.0.12 eter5.5/eter6 Проблемы с привязкой форм к границам не воспроизводится. Закрываем Есть сведения, что провляется в последнем багфиксе (1.0.12 eter14/28) Нужно проверить для 1.0.12 и для 2.0. ubuntu 10.04 WINE@Etersoft 1.0 SQL 1.0.12-eter14.5/28 1с81 база та же bug #2168 не воспроизвелось eterhack bottle 1c81/2168 WINE@Etersoft 1.0 SQL 2.0.0-eter0.3/1 не воспроизвелось (В ответ на comment #74) > ubuntu 10.04 > WINE@Etersoft 1.0 SQL 1.0.12-eter14.5/28 > 1с81 база та же bug #2168 > не воспроизвелось > eterhack bottle 1c81/2168 > WINE@Etersoft 1.0 SQL 2.0.0-eter0.3/1 > не воспроизвелось Ошибка воспроизводится на CentOS 5: [root@lw ~]# uname -a Linux lw 2.6.18-194.32.1.el5PAE #1 SMP Wed Jan 5 18:43:13 EST 2011 i686 athlon i386 GNU/Linux [root@lw ~]# rpm -qa |grep eter wine-etersoft-gl-1.0.12-eter7centos libpq5.2-8.4eter-8.4.4-eter1.1centos fonts-ttf-ms-1.0-eter4centos postgresql-8.4eter-contrib-8.4.4-eter1.1centos wine-etersoft-network-1.0.12-eter28centos fonts-ttf-liberation-1.04-eter1centos postgresql-8.4eter-server-8.4.4-eter1.1centos haspd-3.2-eter8centos wine-etersoft-1.0.12-eter7centos wine-etersoft-twain-1.0.12-eter7centos haspd-modules-3.2-eter8centos nx-3.4.0-eter16centos postgresql-8.4eter-8.4.4-eter1.1centos etercifs-5.0.2-eter1centos rx-etersoft-1.1.1-eter8centos 1C платформа и клиент 8.2.14-537 Конфигурация - Управление торговлей 10.3 (В ответ на comment #74) > ubuntu 10.04 то есть 11.04 Попробовала к убунту 11.04 на которой 1с8.1 подключиться по nx.Не поймала проблему. (В ответ на comment #75) > Ошибка воспроизводится на CentOS 5: > [root@lw ~]# uname -a > Linux lw 2.6.18-194.32.1.el5PAE #1 SMP Wed Jan 5 18:43:13 EST 2011 i686 athlon > i386 GNU/Linux С centos 5 х32 в vbox проблемы - не загружается до конца, не выключается.Проверяю на centos 5 х64. WINE@Etersoft 1.0 Network 1.0.12-eter14.2/28 Тоже не смогла поймать проблему. Попробовала поставить на CentOS 5x64 базу к 1с81 "управление торговлей" (по заявке еще решила заодно проверить), но при загрузке файлов базы в режиме конфигуратора ошибка - при этом в бутылке все гладко проходит. Разобралась с БД "управление торговлей", на centos 5.7х64 не удалось воспроизвести. Спасибо за потраченное время. Снимаю вопрос. Проблема была где-то в .wine пользователя. После ее удаления и переустановки всех программ проблема ушла. Бага проявилась. Выглядит точно также как на скринах. Только в Xfce. 1c 8.2 открываем продажа->счет открываем любой счет видим отрисовку не во всю ширину. WINE@Etersoft SQL 2.0.0-eter4.21/14 wine@eter-2 bottle bugs/2168-1c82 WINE@Etersoft SQL 2.0.0-eter4.23/14 Не удалось воспроизвести. Не надо закрывать багу, она отлично воспроизводится. WINE@Etersoft SQL 2.0.0-eter4.23/14 eter-2 bugs/8294-1c82 eter-2 bugs/6575 eter-2 bugs/8120 Ничего не увидел (правда, для 8294-1с82 обламывается NX через несколько секунд после выбора Продажи->Счет. Но за те секунды вижу, что все в порядке). Уточните, пожалуйста, как и где можно увидеть проблему? P.S. https://bugs.etersoft.ru/show_bug.cgi?id=6958 имеет похожие симптомы. (В ответ на comment #84) > Не надо закрывать багу, она отлично воспроизводится. Бага не была закрыта. Не удалось воспроизвести на eter4.23/14 ни в бутылке,ни в виртуалке на ALTlinux6. Не удалось повторить воспроизведение баги. Пока закрываю. Бага проявлялась на xfce,посмотреть можно на [T]Debian_7x64-test ,снимок "некорректный разворот окна". на пакетах: wine-etersoft_2.1.3-eter3debian_i386.deb wine-etersoft-network_2.1.0-eter3debian_i386.deb обновила wine: wine-etersoft_2.1.3-eter5debian_i386.deb wine-etersoft-network_2.1.3-eter2debian_i386.deb Проблема осталась, снимок "2168" Воспроизведение с нуля следующее: Запускаем 1с ,база "бухгалтерия демо",пользователь "бухгалтер". Иногда сразу после запуска окно разворачивается некорректно.Если сразу этого не произвошло,то: Операции-документы-выбираем любой документ,открываем. Далее пытаемся развернуть или растянуть главное окно программы - разворачивается только рамка,пространство между неразвернутым окном и развернутой рамкой черного цвета. Также если выбрать,например, "операции-журнал операций", то окно открывается левым краем за пределами главного окна программы (как-бы частично прячется).При разворачивании это окно корректно привязывается к границам.При сворачивании снова прячется. снимок "журнал операций" Также при минимизации главного окна 1с правый и нижний край не привязываются к границе,визуально обрезаются. Снимок "некорректная минимизация". Воспроизведение с нуля: запускаем 1с, "информационная база",пользователь "любимов",после запуска базы всплывающие окошки все закрываем (предложения с обновлениями и т.д),разворачиваем окно на максимум (иногда оно открывается сразу на максимум,иногда после нажатия кнопочки максимизации присутствует небольшая задержка,но после окно разворачивается корректно).Дале вызываем модальное окно "операции-документы-документ", затем нажимаем значок минимизации главного окна программы. Проблема воспроизводится и в бутылках на eter-2.1 1c81/1c81 база "бухгалтерия" 1c82/1c82 , база "buhdemo" WINE@Etersoft SQL 2.1.3/2.1.0-eter5/3 2.1.3-eter6/3 - воспроизводится. Откладываем задачи, к которым не обращались более 100 дней. Ужас, в рамках этой баги то ли шрифты чинили, то ли поведение окон. Попытался воспроизвести по всем найденным в баге инструкциями в бутылках * 1c81/1c81 база "бухгалтерия" * 1c82/1c82 , база "buhdemo" * скопировал бутылку с проблемой из 1.0.12 bugs/2168 в 2.1 bugs/2168 и выполнить wine --update Ни в одно из них я не увидел какого-либо намёка на восприозведение проблем как с привязкой окон, так и с отображением шрифтов. Версия wine : wine-etersoft-sql-2.1.4-alt3 wine-etersoft-2.1.4-alt10 Закрываю данное задание. Принято. |