Bug 1695

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
Имеем окно документа в 1с8.0
Если развернуть совершенно другое окно(firefox например) и провести мышью по тому место, где было окно 1с-документа -- мы увидим подсказки из этой программы.
Comment 1 Константин Кондратюк 2008-04-15 09:02:52 MSD
У меня дома так Counter-Strike щёлкает при наведении на место, где кнопка была :)
Comment 2 Илья Шпигорь 2009-07-02 10:57:50 MSD
Воспроизвести можно, например, в бутылке 1c81/1c81.

Может быть связано с обработкой сообщений мыши вроде WM_MOUSEMOVE.
Comment 3 Иван Дончевский 2009-07-07 12:42:01 MSD
вывод подсказок непроисходит, если отключить X11DRV_GetCursorPos, нужно попробовать в нем ловить нужную ситуацию
Comment 4 Иван Дончевский 2009-07-07 15:37:07 MSD
наиболее вероятно, что нужно ловить ситуацию, когда часть окна не видна, потому что даже если оно не активно, но видимо, в Windows подсказки показываются, а не показываются только в случае закрытия окна другими
Comment 5 Иван Дончевский 2009-07-08 13:45:21 MSD
похоже прорисовка происходит не в самом окне, а в вновь созданном, т.к. при рисовании прямоугольников, их начальные координвты в окне {0,0}. Видимо проблема в том, что неактивное окно создает диалоги поверх других окон, даже активного 
Comment 6 Иван Дончевский 2009-07-08 14:28:03 MSD
надо искать в установке фокуса, тк он не должен ставиться например на dialogbox, вызванный из неактивного окна 
Comment 7 Иван Дончевский 2009-07-08 16:50:26 MSD
фокус в данном случае не устанавливается, но изображение все-равно рисуется поверх, тип подсказок V8ToolTipWindow
т.е. когда окно неактивно вызывается X11DRV_ShowWindow, а вызов установки фокуса не происходит, но тем не менеее фокус устанавливается
Comment 8 Иван Дончевский 2009-07-09 14:45:55 MSD
фокусировка происходит при вызове функции SetWindowPos, пока не удается найти различий в атрибутах окна, выводимого при активном приложении и неактивном, что затрудняет поиск причины его ненужной прорисовки
Comment 9 Иван Дончевский 2009-07-09 16:33:10 MSD
при изменении стиля окна в функции SetWindow Pos (добавление рамки и тп) иногда получается заставить это окошко рисоваться позади активного, но не всегда. 
Comment 10 Иван Дончевский 2009-07-14 16:05:59 MSD
решение проблемы без хака проблематично, т.к. похоже основная причина в том, что окно, не принадлежащее конкретной запущенной в wine программе, не опознается ей как активное. Как пример можно взять случай, когда окошки с надписями перекрываются собственным дочерним окошком 1с8.1 - в этом случае баг отсутствует.
Comment 11 Иван Дончевский 2009-07-16 17:30:43 MSD
в сборке eter-1.0.10 окошки не вызываются при неактивном окне, но работает все равно не так, как в windows
Comment 12 Денис Баранов 2009-07-16 21:27:05 MSD
Принято.
WINE@Etersoft eter27/eter19
Comment 13 Svetlana Zhukova 2012-04-24 14:05:32 MSK
в рамках
https://bugs.etersoft.ru/show_bug.cgi?id=7362
закрываю.