Summary: | 1Cv77: Неправильная реакция на создание реквизита в конфигураторе | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Dmitry A. Petuhov <pda> |
Component: | Окна / фокус / перерисовка | Assignee: | Денис Баранов <baraka> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | P3 | CC: | baraka, lav, night, shpigor, sonner, vostok |
Version: | 1.0.9 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 945 | ||
Bug Blocks: | 2432, 3019 | ||
Attachments: | screen |
> Смотри скриншот > Создана по нашей баге: http://interro.dyndns.org/bugs/show_bug.cgi?id=101 Проблему воспроизвел на Ubuntu 8.04, на Alt не воспоризвелось. тестировал на сборке от 12сентября. Получилось воспроизвести в бутылке 1C727. Проблема в том, что по нажатию ОК, пытается перерисоваться окно редактирования формы. Этому окну передается фокус, а 1С блокирует смену фокуса (до тех пор пока задан неверный идентификатор). Если в winecfg отключить флаг "разрешить менеджеру окон управлять окнами wine", бага не воспроизводится. Выложил патч. Хак запрещает использовать в 1с7 managed режим для MessageBox'ов. (In reply to comment #4) > Выложил патч. > Хак запрещает использовать в 1с7 managed режим > для MessageBox'ов. > Это не очень хорошо, т.к. может ломать другие месседжбоксы, которые теперь будут поверх всех окон и не будут появляться в таскбаре. Хотя может быть уже таких проблем нет. > Это не очень хорошо, т.к. может ломать
> другие месседжбоксы, которые теперь будут
> поверх всех окон и не будут появляться в
> таскбаре. Хотя может быть уже таких проблем
> нет.
Да, не хорошо получилось. В таскбаре MessageBox'ы не появлялись и до хака, но поверх всех окон - совсем не дело.
Ошибка похожа на #945 (#1050). Проблема все с тем же окном "Свойства...". Дело в том, что потеря фокуса окном расценивается как нажатие кнопки "ОК". Выложил патч - [TRY 2]. Решение заключается в том, чтобы дать managed popup окнам свое X-овое окно. В этом случае они отображаются в таскбаре и корректно передают фокус друг другу. А не через родительское X окно, как было раньше. Этот патч откатывает хак на багу #945, но в то же время должен ее решить. Думаю ее надо переоткрыть и протестирвоать с этим патчем. Изменения в списке подписки. Изменение на fixed. Проверил на последней сборке от 17окт. Проблема не воспроизвелась. проверял на Ubuntu 8.04. Данная ошибка вновь воспроизвелась, только немного по другому: Если добавляю пользователя сделать ошибку (пробел в имени), то появляется окно с кнопкой ОК, посде нажатия на ОК это окно закрывается и появляется новое абсолютно такое же. wine-etersoft-sql-1.0.9-alt0.M41.13 libwine-1.0.9-alt0.M41.35 wine-1.0.9-alt0.M41.35 Бага воспроизводится в KDE на ALT Linux. Под Gnome воспроизвести не удалось. Похоже патч решил проблему для Gnome и сломал под KDE. Сегодня обновился до текущего eterhack. После этого не смог воспроизвести багу ни на KDE, ни в Gnome. Хотя, на том wine, что в бутылке 1c77-27 бага проявляется. Возможно, один из патчей мог решить эту проблему. Надо подождать следующую сборку. На последней сборке проблема не воспроизвелась ни в KDE ни в Gnome. eter36|eter14 Текущее решение создает багу #3019. Выложил патч [TRY 4]. Решение заключается в том, что при клике по главному окну 1с, X обработчик не посылает ему WM_MOUSEACTIVATE. Выложил патч [TRY 5]. Думаю он более корректный, чем [TRY 4]. Он добавляет проверку в функции can_activate_window - пытаемся ли мы активировать главное окно 1с7 и если да есть ли foreground popup окна. 1c7 не позволяет переключаться с popup окон, а в данном случае это блокируется на уровне X-ов. Сборка 40/17 Исправлено |
Created attachment 723 [details] screen ОС: ubuntu 8.04 В конфигураторе делаем новый отчет, документ, справочник. На форме располагаем новый элемент. В свойствах элемента пишем идентификатор. Если в идентификаторе ошибка, например встречается пробел, то выдается окошко "Редактор Диалогов", с надписью "Неправильный идентификатор!" и кнопочкой "ОК", после чего невозможно закрыть ни данное окошко ни свойство рекивзита, ни конфигуратор. По видимому имеет место быть потеря фокуса. Смотри скриншот