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с замечено не было - закрываю багу. Проверено, работает |