Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 3928 - реализовать функцию GdipGetNearestColor   Make a simular bug
Summary: реализовать функцию GdipGetNearestColor
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Графика GDI / DIB / GDIPLUS (show other bugs)
Version: 1.0.10
Hardware: PC Linux
: P4 minor
Target Milestone: ---
Assignee: Виталий Перов
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 641
  Show dependency treegraph
 
In work:
Reported: 2009-05-10 15:34 MSD by Виталий Перов
Modified: 2009-08-01 13:32 MSD (History)
3 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Виталий Перов 2009-05-10 15:34:35 MSD
Сейчас она возвращает NotImplemented.
Возможно из-за этого не работает программа получения обновлений для Консультанта. (comar)
Думаю, если сделать хак, это решит проблему.
Comment 1 Виталий Перов 2009-05-10 15:49:07 MSD
Сделал хак. Возвращаю цвет:
argb = RGB( 0, 0, 0);

В итоге сразу при старте не выдаётся сообщение об ошибке. Форма отрисовывается, но неправильно (не видны текстовые надписи)

Пробовал возвращать:
argb = RGB( 255, 255, 255);
Внешний вид формы никак не изменился.

В gdi32 есть функция GetNearestColor. Возможно с её помощью можно сделать нормальный патч (хотя результат при этом не изменится)
Comment 2 Виталий Перов 2009-05-10 16:24:12 MSD
Реализовал. Требуется написать подтверждающие тесты.
Comment 3 Виталий Перов 2009-05-10 21:04:18 MSD
При дальнейшем рассмотрении оказалось, что функция GetNearestColor возвращает такой же цвет, что и был туда передан. Возможно эта ошибка именно функции GetNearestColor?

Проверил на винде функцию GdipGetNearestColor. Там возвращается другой цвет.
Comment 4 Виталий Перов 2009-05-10 22:18:35 MSD
Проверил в винде GetNearestColor. Она работает немного не так, как на винде.
Ещё возникают сложности в том, что она для конкретного dc вызывает его функцию, и если её нет, обрабатывает сама.
Я нашёл реализованную функцию GetNearestColor только для x11drv: X11DRV_GetNearestColor. Проверил, в конечном итоге именно она и вызывается в тесте. Возможно надо писать тест уже на неё. Ещё надо проверить вызывается ли она при запуске comar
Comment 5 Виталий Перов 2009-05-10 22:32:18 MSD
Выяснил:
1) Тестов на x11drv в принципе не существует.
2) для comar вызывается именно функция этого драйвера.

Думаю всё же стоит писать тест для функции в gdi32
Comment 6 Виталий Перов 2009-05-12 17:55:08 MSD
Довольно сомнительна необходимость данного теста.
Решил оставить как есть (сделать полу-заглушку, исправляющую проблему).