Summary: | Потеря X фокуса в не managed режиме в Gnome | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Илья Шпигорь <shpigor> |
Component: | Окна / фокус / перерисовка | Assignee: | Илья Шпигорь <shpigor> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P4 | CC: | baraka, kondratyuk, lav |
Version: | 1.0.9 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 3040, 3305 |
Description
Илья Шпигорь
2009-01-21 13:43:33 MSK
Выложил патч. Проблема заключалась в том, что после передачи X-ового фокуса ввода окну, как только окно становилось не видимым или уничтожалось, Gnome передавал X фокус родителю этого окна (если запуск был из консоли то фокус уходил в нее). Поведение KDE в этом случае немного отличается - фокус родителю не передается и ошибки нет. Проблема проявляется только в не managed режиме. В этом случае управление X фокусом осуществляет функция X11DRV_SetFocus. Решение заключается в том, что как только приложение wine получило X фокус (в не managed режиме), все дальнейшие попытки его передать блокируются до тех пор, пока он остается у wine. На самом деле, если фокус оказывается у приложения wine, функций Windows API вполне достаточно для его передачи в пределах приложения и вмешательство X-ов не требуется. Принято. eter42\eter18 |