Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 2845 - 1Cv8: Теряется фокус после выбора наименования при подборе   Make a simular bug
Summary: 1Cv8: Теряется фокус после выбора наименования при подборе
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Окна / фокус / перерисовка (show other bugs)
Version: 1.0.9
Hardware: PC All
: P3 major
Target Milestone: ---
Assignee: Илья Шпигорь
QA Contact:
URL: http://rt.etersoft.ru/Ticket/Display....
Whiteboard:
Keywords:
Depends on:
Blocks: 2710
  Show dependency treegraph
 
In work:
Reported: 2008-11-08 16:07 MSK by Leonid Shadevsky
Modified: 2008-12-11 17:34 MSK (History)
1 user (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Shadevsky 2008-11-08 16:07:25 MSK
1с 8.0 "Подбор номенклатуры в документе" если выставить галочки в блоке 
"запрашивать", после закрытия формы запроса теряет фокус. 
в в. w@e 1.8 и 1.9 эта форма появляется как отдельное приложение и после 
закрытия фокус не возвращается. (пользователям не удобно набирать, после 
ввода каждой строчки приходится "мышкой" возвращать фокус)
Comment 1 Денис Баранов 2008-11-15 21:08:24 MSK
Когда подбор осуществляется с параметрами запрашивать кол-во, то после ввода фокус не возвращается на список наименований товаров.
Comment 2 Денис Баранов 2008-11-15 21:09:03 MSK
Сборка:
libwine-1.0.9-alt34.1
wine-1.0.9-alt34.1
wine-etersoft-sql-1.0.9-alt0.M41.13
Comment 3 Илья Шпигорь 2008-11-26 13:23:07 MSK
Проблема в функции can_activate_window.

При переключении фокуса с popup окна происходит вызов can_activate_window (по событию WM_TAKE_FOCUS) до того, как главное окно 1С становится enable, по вызову EnableWindow из приложения.

Проверка can_activate_window проходит перед вызовом set_focus, которая передает фокус X-ов окну и вызывает SetForegroundWindow. Если исключить из can_activate_window проверку на enabled возможен случай вызова SetForegroundWindow для disable окна, но это должно проверяться на уровне WinAPI, а передача X-ового фокуса может помочь в подобных случаях.
Comment 4 Илья Шпигорь 2008-11-26 13:38:15 MSK
Выложи хак.

Выключает проверку на disable в функции can_activate_window для 1с8.
Comment 5 Денис Баранов 2008-12-11 17:34:29 MSK
/*Протестировано*\