Summary: | Активное окно 1с8.0 + 1с8.1 | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Andrey Vusik <night> |
Component: | Окна / фокус / перерисовка | Assignee: | Иван Дончевский <yv> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P5 | CC: | baraka, kondratyuk, shpigor, svzhu |
Version: | 1.0.9 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 1687, 2000, 7362 |
Description
Andrey Vusik
2008-04-12 21:48:52 MSD
У меня дома так Counter-Strike щёлкает при наведении на место, где кнопка была :) Воспроизвести можно, например, в бутылке 1c81/1c81. Может быть связано с обработкой сообщений мыши вроде WM_MOUSEMOVE. вывод подсказок непроисходит, если отключить X11DRV_GetCursorPos, нужно попробовать в нем ловить нужную ситуацию наиболее вероятно, что нужно ловить ситуацию, когда часть окна не видна, потому что даже если оно не активно, но видимо, в Windows подсказки показываются, а не показываются только в случае закрытия окна другими похоже прорисовка происходит не в самом окне, а в вновь созданном, т.к. при рисовании прямоугольников, их начальные координвты в окне {0,0}. Видимо проблема в том, что неактивное окно создает диалоги поверх других окон, даже активного надо искать в установке фокуса, тк он не должен ставиться например на dialogbox, вызванный из неактивного окна фокус в данном случае не устанавливается, но изображение все-равно рисуется поверх, тип подсказок V8ToolTipWindow т.е. когда окно неактивно вызывается X11DRV_ShowWindow, а вызов установки фокуса не происходит, но тем не менеее фокус устанавливается фокусировка происходит при вызове функции SetWindowPos, пока не удается найти различий в атрибутах окна, выводимого при активном приложении и неактивном, что затрудняет поиск причины его ненужной прорисовки при изменении стиля окна в функции SetWindow Pos (добавление рамки и тп) иногда получается заставить это окошко рисоваться позади активного, но не всегда. решение проблемы без хака проблематично, т.к. похоже основная причина в том, что окно, не принадлежащее конкретной запущенной в wine программе, не опознается ей как активное. Как пример можно взять случай, когда окошки с надписями перекрываются собственным дочерним окошком 1с8.1 - в этом случае баг отсутствует. в сборке eter-1.0.10 окошки не вызываются при неактивном окне, но работает все равно не так, как в windows Принято. WINE@Etersoft eter27/eter19 в рамках https://bugs.etersoft.ru/show_bug.cgi?id=7362 закрываю. |