| Summary: | Не копируется текст в WINE | ||
|---|---|---|---|
| Product: | WINE@Etersoft | Reporter: | Vitaly Lipatov <lav> |
| Component: | Общее | Assignee: | Анатолий Лютин <vostok> |
| Status: | CLOSED FIXED | QA Contact: | Vitaly Lipatov <lav> |
| Severity: | normal | ||
| Priority: | P2 | CC: | vostok |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Заявки RT: | Связано с: | ||
| Дата напоминания: | |||
| Bug Depends on: | 107, 421, 826, 7047 | ||
| Bug Blocks: | 42, 190 | ||
| Attachments: | патч | ||
|
Description
Vitaly Lipatov
2006-03-23 12:04:10 MSK
Если программа работает в Юникоде (например, notepad), то проблемы копирования нет. Если программа работает в 8-мибитной кодировка (1С например), то в неё не вставляется текст из Linux (т.е. вставляется вопросиками). Проблема в неправильной обработке winex11.drv/clipboard.c сообщения CF_TEXT Created attachment 78 [details]
патч
Для исправления ошибки было заменен формат текста для сообщения CF_TEXT с XA_STRING на wszUTF8STRING. Затем для этого сообщение была изменена соответствующая функция X11DRV_CLIPBOARD_ImportXAString. Теперь в теле функции вызывается X11DRV_CLIPBOARD_ImportUTF8 и полученный таким образом LWSTR преобразуется к LSTR с кодировкой CP_ACP. После этого всё работает. Проблема: Делая все выше сказанное, мы исходим из того что текст, который храниться в буфере с форматом CF_TEXT меньше либо равен по размеру,хранящимся в CF_UNICODETEXT. Т.к. пока проблем после этого преобразования в 1с замечено не было - закрываю багу. Проверено, работает |