Summary: | Консультант не запускается по сети (NO_NETWORK) | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Vitaly Lipatov <lav> |
Component: | Общее | Assignee: | Константин Кондратюк <kondratyuk> |
Status: | CLOSED FIXED | QA Contact: | Vitaly Lipatov <lav> |
Severity: | major | ||
Priority: | P3 | CC: | akv, baraka |
Version: | unspecified | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | 42281 | Связано с: | |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 42, 287, 767 |
Description
Vitaly Lipatov
2006-07-01 11:29:24 MSD
Возможно эта проблема решена в версии 1.0.4. Во всяком случае ошибки NO_NETWORK теперь не показываются. Насколько я понимаю, проблема с предупреждением NONETWORK осталась. Костя, надо исправить в 1.0.4 Проблема с NO_NETWORK может возникать по крайней мере в двух случаях: 1. [ WNetGetUniversalName - K ]: NO_NETWORK Эта функция просто не реализована (выводит fixme и возвращает ошибку NO_NETWORK) 2. [ WNetOpenEnum - K ]:NO_NETWORK Функция WNetOpenEnum реализована в wine, но по каким-то причинам возвращает NO_NETWORK. Как я понимаю, решить нужно второй вариант, потому что он не обходится. Можно кликать на ОК, но ошибка может возникать слишком часто. Патч, отключающий отображения сообщения об ошибке добавлен в CVS и войдёт в 1.0.6. Более правильное решение проблемы заключается в реализации сетевых функций и предотвращении возникновения сообщения NO_NETWORK. Будем делать позже. Для 1.0.6 исправлено. Капитальное исправление позже. Патч приложен вновь, игнорирующий попытку вывести MessageBox, если WNetOpenEnum возвращает NO_NETWORK: Created commit 24233a9: If WNetOpenEnum return NO_NETWORK then don't show error message box (bug #172) По возможности нужно перенести хак в MessageBoxIndirectW - функцию, в которую в итоге сводятся все вызовы MessageBox. Обоснование? Сейчас окно заблокировано в MessageBoxA Возможный вызов юникодной функции приведёт к воспроизведению баги? MessageBoxA -> MessageBoxExA -> MessageBoxIndirectA -> MessageBoxIndirectW MessageBoxW -> MessageBoxExW -> MessageBoxIndirectW Пока будем по принципу "работает - не трогай" :) Если воспроизведётся когда-нибудь - тогда перенесу хак. Пока не встречал таких условий, чтобы вылезало. |