Сейчас в eterhack есть несколько патчей, которые реализуют запись и считывание настроек принтеров из реестра. Надо: 1) Проверить во всех ли случаях это делается 2) Попробовать отправить наши патчи в winehq. Возможные проблемы: - код находится в двух разных ддлках: wineps.drv и gdi32. Из gdi32 вызываются 16-битные функции (например GDI_CallExtDeviceMode16), которые по идее не должны залезать в реестр, а брать информацию только из win.ini. Но без них, похоже не обойтись...
Сейчас надо: 1) Отправить патч по баге 5744. 2) Переделать и отправить патч: commit fdac4373fb460e87a56e5cf58f3fe929ef921e1a Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru> Date: Tue Apr 8 15:23:01 2008 +0400 winspool.drv: GetDefaultPrinterW reads the value from data in registry
Переделал патч. Пока не отправлял
Патч по баге 5744 не принят, надо ещё раз переделать (а в месте с ним и патч на GetDefaultPrinterW)
Переделал, отправил
Исправил замечания, отправил ещё раз.
> Думаю, нужно откатить патчи и протестировать, действительно ли сейчас из > win.ini не берётся информация (в административной установке двумя > пользователями, у которых разные принтеры). Изучила связанную багу 6009. Из заявки 22641: > Теперь о принтерах и печати в режиме admin-attach. Если работать под > пользователем администратором wine, то информация о принтерах > добавляется в системный реестр и файл win.ini. Может быть это было и > раньше, но не имела таких последствий, а именно: Если зайти простым > пользователем с другого компьютера(админский wine-каталог сетевой, > доступный по nfs), к которому не подключены эти принтеры, то в списке > принтеров, окажутся, помимо системных принтеров этой машины, еще и > принтеры, которые прописаны в системном реестре. Лечится только > удалением информации о принтерах из файлов windows/inf/system.reg и > win.ini. Далее хуже. При попытке печатать пользователем с реального > локального принтера, печати не происходит. Лечится добавлением права > записи остальным на системный каталог windows/spool/PRINTER. Что я > делаю не так? Или это все таки bug? >Ну, это не столько баг, сколько результат того, что система печати использует win.ini, >вместо реестра. думаю,как лучше сделать.
В ветке eterhack: Откатила коммиты f97e12e4dc3216f692c79afff6ed0857c4859cda fdac4373fb460e87a56e5cf58f3fe929ef921e1a в контейнере eterhack: Для начала заапустила через ww блокнот от пользователя wineadmin (.wine была создана wine --admin) Не зависимо от того,в каком режиме установлен wine, печать корректна с патчами, без патчей печать не работает ,при нажатии в окне печати кнопки "ок" в консоли: fixme:commdlg:PRINTDLG_UpdatePrintDlgW No lpdm ptr? fixme:commdlg:PRINTDLG_WMCommandW Update printdlg was not successful! До манипуляций с файлом win.ini не дошло (планировалось поставить на него ограниченные права и посмотреть,используется ли он).
Откладываем задачи, к которым не обращались более 100 дней.
Задача относится к релизу 2.1. , который больше не поддерживается. Аннулирую.