Bug 40

Summary: 1Cv77: Проблемы с окном Удаления помеченных объектов
Product: WINE@Etersoft Reporter: Vitaly Lipatov <lav>
Component: Окна / фокус / перерисовкаAssignee: Анатолий Лютин <vostok>
Status: CLOSED FIXED QA Contact: Vitaly Lipatov <lav>
Severity: critical    
Priority: P3 CC: alexeev, baraka, edo.rus, sdvinfo, triada123, vostok
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 81, 623, 945    
Bug Blocks: 100, 584, 695, 718, 1087, 2147    
Attachments: Пример затирания кнопок

Description Vitaly Lipatov 2006-03-05 23:00:11 MSK
Операции-Удаление помеченных объектов. Курсором мыши не помечаются  
объекты для удаления. При перерисовке окна оно при вычислении размера списка  
игнорирует имеющиеся кнопки и список налезает на них. Переключатель, который в  
списке, не реагирует на мышь, но меняется нажатием Пробела. Похоже, checkbox'ы  
в списке не принимают сообщения, например WM_SETCHECK (недоработка в listview  
из comctl32). При переходе к следующему диалогу происходит странное изменение  
Z-порядка окон.
Comment 1 Vitaly Lipatov 2006-04-28 21:07:15 MSD
Временным решением может быть использование comctl32 из Windows9X. 
Чтобы "пропавшее" окно вновь появилось, нужно свернуть окно в заголовок и 
развернуть обратно. 
Comment 2 Vitaly Lipatov 2006-06-03 21:52:14 MSD
Если конфликтов при удалении нет, то всё нормально с окном  
Comment 3 Pivnev, Eugene 2006-08-28 13:09:27 MSD
Даже скажем так: отметить можно и пробелами, но после запуска Контроля все
отметки исчезают.
Самое печальное - что если из 30 объектов 1 удалить невозможно - а бухгалтер
решил сначала разобраться в ситуации, а потом удалять - то найти источник
проблем (объект) не представляется возможным.
Очень печально.
Comment 4 Vitaly Lipatov 2006-12-12 21:26:19 MSK
W@E 1.0.5:
Отметка по умолчанию по-прежнему не включается.
Но содержимое окна перестало пропадать и портиться.
Кто подтвердит?
Comment 5 Анатолий Лютин 2007-01-17 15:46:56 MSK
Вроде окно не портиться. Checkbox-ы действительно не устанавливаются мышкой. После ввода контороля действительно исчезают.

Буду добиваться, для начала, чтобы checkbox можно было установить мышкой.
Comment 6 Анатолий Лютин 2007-01-31 10:32:19 MSK
Не вижу прогресса, поэтому пока перевожу в статус asiigned, дабы не мучала багзила, вернусь к решению когда буду свободен (см. мою Вики)
Comment 7 Михаил Карпухин 2007-05-10 18:53:00 MSD
такая же проблема была в Драйверах торгового оборудования от атол исправлена в wine 9.35
Comment 8 Михаил Карпухин 2007-05-14 07:02:25 MSD
(In reply to comment #7)
> такая же проблема была в Драйверах
> торгового оборудования от атол исправлена
> в wine 9.35
> 
сам ошибся, там работает только с клавиатуры, а мышкой нет ;-((
так же проверено на wine 0.9.37 без изменений...
Comment 9 Михаил Карпухин 2007-05-31 11:19:05 MSD
ubuntu 7.04 wine 1.0.7 с клавиатуры работает мышкой нет ;-((
Comment 10 Vitaly Lipatov 2007-06-14 22:13:28 MSD
Сделал comctl32_listview.c.patch
В нём нулевой stateMask инвертируется. Помогло. Но нужно писать тест для доказательства.
Comment 11 Vitaly Lipatov 2007-06-16 01:51:15 MSD
С тестом на сообщения мыши не успели, делаем к следующему релизу.
Comment 12 Vitaly Lipatov 2007-06-28 00:53:02 MSD
В бета-версии к 1.0.8 есть исправление, чтобы и от мыши срабатывало.
Comment 13 Vitaly Lipatov 2007-06-29 11:32:53 MSD
Закрываем, функциональность имеется.
Comment 14 Vitaly Lipatov 2007-07-06 19:13:13 MSD
Created attachment 145 [details]
Пример затирания кнопок
Comment 15 Vitaly Lipatov 2007-07-06 19:14:04 MSD
Ещё при нажатии кнопки "Контроль" белые поля расширяются и затирают кнопки.
См. скриншот (прилагается)
Жалоба:
http://rt.etersoft.ru:5380/Ticket/Display.html?id=57
Comment 16 Анатолий Лютин 2007-08-22 12:37:23 MSD
В http://bugs.etersoft.ru/show_bug.cgi?id=695 добавил комментарий, который объясняет истоки проблемы.
Comment 17 Анатолий Лютин 2007-08-22 13:38:49 MSD
Данная проблема возникает при управлении окон менеджера KDE. При управлении GNOME данной проблемы нет. Временное лекарство выставить принудительно тип окна для kde - "Обычное окно". Рецепт в описании 623 баги:  http://bugs.etersoft.ru/show_bug.cgi?id=623
Comment 18 Vitaly Lipatov 2007-12-26 19:24:23 MSK
Никакого рецепта в 623 баге нет.
Нужно подготовить готовое решение, чтобы из коробки
всё работало на основных системах, по аналогии с тем,
какие предустановки сделаны для Mozilla в KDE.
Comment 19 Vitaly Lipatov 2008-01-19 12:37:02 MSK
Давайте разберёмся и выработаем рецепт для KDE и GNOME.
Comment 20 Анатолий Лютин 2008-01-19 13:57:04 MSK
Эти правила записываются в ~/.kde/share/config/kwinrulesrc

Сделать скрипт с настройками?
Comment 21 Vitaly Lipatov 2008-01-19 16:51:12 MSK
Для начала опубликуй правила (файл *.kwinrules).
Глобальное место для файла -
/usr/share/apps/kwin/default_rules/
Comment 22 Анатолий Лютин 2008-01-21 14:46:07 MSK
Вариант с установкой значений через файл конфигурации KDE трудно применим, т.к. это окно по умолчанию управляется не KDE, а Wine, поэтому для исправления ошибки таким способом необходимо принудительно дать оконному менеджеру KDE управление этим окном, чтобы на него начали действовать эти настройки.

Вариант, который реализован в моём Wine так же не идеален, т.к. окно становится поверх всех окон, и если нажать кнопку "Выбор", то соответствующее окно будет находится под окном-родителем, т.е. для нормальной работы его тоже надо будет выводить из-под управления и ставить выше окна родителя.
Comment 23 Vitaly Lipatov 2008-01-21 14:49:44 MSK
(In reply to comment #22)
...
> способом необходимо принудительно дать
> оконному менеджеру KDE управление этим
Да не принудительно дать управление, а выкинуть принудительное отнятие управления.
 

Comment 24 Анатолий Лютин 2008-01-21 14:50:33 MSK
Да нет по умолчанию принудительного отнятия!!!
Comment 25 Анатолий Лютин 2008-01-21 14:52:27 MSK
В том смысле, что если взять реализацию функции is_window_managed из оригинального вайна, то, используя её, это окно не будет получать управление.
Comment 26 Vitaly Lipatov 2008-01-21 15:10:33 MSK
Короче, надо ввести его под управление KDE/GNOME (не заменяя функцию is_window_managed конечно), и попробовать сделать файл для KDE и посмотреть что на эту тему есть в GNOME, если надо.
Comment 27 Анатолий Лютин 2008-01-21 15:46:41 MSK
(In reply to comment #26)
> Короче, надо ввести его под управление
> KDE/GNOME (не заменяя функцию is_window_managed
> конечно)
Это возможно только установкой ВСЕМ окнам флага "управляется оконным менеджером"
Comment 28 Анатолий Лютин 2008-01-21 17:35:13 MSK
Как выяснилось мой хак, обеспечивающий исправление 945, так же вносит изменения, благодаря которым исправляется эта ошибка. Поэтому её закрываю.
Comment 29 Анатолий Лютин 2008-07-07 16:24:48 MSD
*** Bug 1886 has been marked as a duplicate of this bug. ***