Summary: | Надо добавить в winecfg вкладку для управления загрузкой драйверов ключей | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Виталий Перов <vitperov> |
Component: | Ключи защиты ; Системы защиты ; Файл лицензии | Assignee: | Роман Дадьков <romand> |
Status: | CLOSED FIXED | QA Contact: | Денис Баранов <baraka> |
Severity: | critical | ||
Priority: | P2 | CC: | amorozov, kondratyuk, lav, sonner |
Version: | 2.0 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 4054 | ||
Bug Blocks: | 42, 5101, 6890, 7399 | ||
Deadline: | 2011-09-23 |
Description
Виталий Перов
2011-02-15 17:27:02 MSK
Откатил патчи: commit 14f3b820b9c72881edaf59cdab4dbccd05a37b1e Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Tue Jun 30 16:08:35 2009 +0400 winecfg: Add dongles tab (eterbug #4054) и commit b784493bdb9d2f1a93f3ca9179e716dab08227ea Author: Vitaly Lipatov <lav@etersoft.ru> Date: Fri Jul 31 19:37:50 2009 +0400 winecfg: replace dongles status with driver status Насколько я понимаю, из *.rc файлов исчезли все структуры STRINGTABLE DISCARDABLE. Надо разобраться как теперь задаются нужные названия и переделать патчи Вернул окаченный патч. Выяснил что структуры STRINGTABLE DISCARDABLE определены в winecfg.rc Задал структуры STRINGTABLE DISCARDABLE в winecfg.rc. Обнаружил ошибку при определении страницы в окне свойств. (В ответ на comment #3) > Задал структуры STRINGTABLE DISCARDABLE в winecfg.rc. Обнаружил ошибку при > определении страницы в окне свойств. Проблема определения страницы в окне свойств решена. Сделал перевод строк содержащихся в структурах STRINGTABLE и DISCARDABLE. При изменении в конфигурации драйверов должно появляется сообщение следующего рода "Изменение конфигурации. Для принятия изменений все программы должны быть закрыты...". Проверил на eterhack, данного сообщения не обнаружил. Проверил на стандартном вайне, сообщение появляется только при нажатии на управляющие клавиши, при изменении конфигурации мышкой оповещение изменения конфигурации не появляется. Замена в winecfg файлов eterhack на 1.0.12 не дала результатов. Выяснил порядок вызова функций до появления окна с сообщением: trace:winecfg:apply () trace:winecfg:process_setting Setting L"System\\CurrentControlSet\\Services\\NKey":L"Start" to 'L""' trace:winecfg:set_config_key subkey=L"System\\CurrentControlSet\\Services\\NKey": name=L"Start", value=0x1621e8, type=4 trace:winecfg:free_setting destroying 0x15f430: L"System\\CurrentControlSet\\Services\\NKey" trace:winecfg:process_setting Setting L"System\\CurrentControlSet\\Services\\UPKey":L"Start" to 'L""' trace:winecfg:set_config_key subkey=L"System\\CurrentControlSet\\Services\\UPKey": name=L"Start", value=0x1622c8, type=4 trace:winecfg:free_setting destroying 0x162200: L"System\\CurrentControlSet\\Services\\UPKey" (В ответ на comment #7) > Замена в winecfg файлов eterhack на 1.0.12 не дала результатов. Не надо файлы менять. Это способ сравнения с оригинальным wine, а не версии с одной багой с версией с другой багой. > Выяснил порядок вызова функций до появления окна с сообщением: Это проще сделать, глядя на исходный код. Думаю, стоит написать на русском, как необходимое поведение должно быть реализовано. Сообщение изменения конфигурации ключей в 1.0.12 находится в dlls/propsheet.c в функции PROPSHEET_DoCommand. Сделать по аналогии в eterhack не получилось; решено в winecfg сделать новую проверку на изменение в конфигурации и вывод соответствующее сообщение. Сделал вывод сообщения об изменении конфигурации ключей. Т.к. обработчик нажатия кнопок "ОК" и "Применить" описаны в dlls/comctl32/propsheet.c b , при включении в файл где описаны ключи (programs/winecfg/dongleui.c) получилась конфликтная ситуация; вынес описание функции, фиксирующей изменение в ключах, в отдельный файл. проблему увидел. попытался адаптировать коммит 14f3b820b9c72881edaf59cdab4dbccd05a37b1e. проблема пока не решена. посмотрел, что сделано было у grosso. нужно попробовать приложить его к eterhack. вкладка появилась. теперь, нужно сделать чтобы надписи были на русском. решаю эту проблему. отправил патч на wine-patches@ внес изменения в патч: добавил потерянные файлы, перенес описание формы из winecfg.rc в En.rc и Ru.rc. отправил на wine-patches@ переделал патч. убрал в нем изменения в comctl32, поскольку все эти изменения по сути относятся к баге 6890. а то, что требовалось здесь, то есть вкладка со списком драйверов ключей реализована. отправил на wine-patches@. сделал, вывод предложения о перезагрузке, не затрагивая comctl32, но получилось плохо, поскольку обработчик кнопки ОК, продолжает свою работу, даже после появления окошка с диалогом о перезагрузке. попытался исправить, не смог. ранее текст сообщения выводился плохо, решил проблему. работаю над фиксированием факта внесения изменнений. исправил функцию фиксирующую изменения. сделал фиксацию изменения не только по нажатию кнопки, но и по щелчку мышкой. отправил патч на wine-patches@ исправляю багу внес изменения в winecfg/main.c убрал дублирующиеся куски winecfg/winecfg.rc поместил строки из сообщения в файл ресурсов ru.po сделал перевод строк из сообщения winecfg/winecfg.h winecfg/dongleui.c переименовал функцию, фиксирующую изменения, теперь fixed_dongles_changes() отправил на wine-patches@. видимо, дело в том, что в po файле, изменения были сохранены неверно. решаю проблему. отправил патч на wine-patches@ Приложил патч патч принят Закрываем баги, принятые более года назад, и до сих пор не закрытые. |