Имеем окно документа в 1с8.0 Если развернуть совершенно другое окно(firefox например) и провести мышью по тому место, где было окно 1с-документа -- мы увидим подсказки из этой программы.
У меня дома так 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 закрываю.