| 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 Пока будем по принципу "работает - не трогай" :) Если воспроизведётся когда-нибудь - тогда перенесу хак. Пока не встречал таких условий, чтобы вылезало. |