| 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 |