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

Отработанное время:
Продуктивное время:
Bug 1973 - Тест, загружающий PNG из памяти с помощью OleLoadPicture   Make a simular bug
Summary: Тест, загружающий PNG из памяти с помощью OleLoadPicture
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Графика GDI / DIB / GDIPLUS (show other bugs)
Version: 1.0.9
Hardware: PC Linux
: P5 normal
Target Milestone: release 1.0.10
Assignee: Виталий Перов
QA Contact:
URL: http://www.rsdn.ru/article/qna/gdi/dr...
Whiteboard:
Keywords:
Depends on:
Blocks: 1792 1217 1799 1955
  Show dependency treegraph
 
In work:
Reported: 2008-06-23 17:44 MSD by Vitaly Lipatov
Modified: 2009-04-28 11:42 MSD (History)
3 users (show)

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


Attachments
тест (1.79 KB, application/octet-stream)
2010-11-18 03:58 MSK, Виталий Перов
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2008-06-23 17:44:55 MSD
Нужно написать тест, демонстрирующий загрузку PNG из памяти с помощью OleLoadPicture.

Для начала:
http://www.rsdn.ru/article/qna/gdi/drawimg.xml
http://www.codeproject.com/KB/graphics/render.aspx

Также нужно разобраться и исправить, почему штатный тест oleaut32/tests/olepicture.c не проверяет загрузку png:
	/* FIXME: No PNG support yet in Wine or in older Windows... */
	if (0) test_pic(pngimage, sizeof(pngimage));
Comment 1 Vitaly Lipatov 2008-06-23 21:26:36 MSD
Самый оригинальный способ загрузки PNG я нашёл здесь:
/srv/repos/svn/guliverkli2/src/apps/mplayerc/libpng.h
Comment 2 Виталий Перов 2008-09-10 21:11:52 MSD
Добавил небольшой тест в /tests/olepicture.c:
Gif и JPEG загружаются без проблем, а вот при загрузки PNG OleLoadPicture возвращает S_OK, но IPicture возвращается равным NULL. Поэтому при первом же обращении к IPicture (например IPicture_get_Handle) происходит падение
Comment 3 Виталий Перов 2008-09-10 21:22:35 MSD
Ошибся, функция возвращяет не S_OK, а 0x800a01e1
Comment 4 Виталий Перов 2008-09-16 22:01:17 MSD
Использовалась стороняя oleaut32.dll. Брал от win98 и от win2k - результат идентичный: возвращает 800a01e1.

На встроенной oleaut32.dll тест проходит успешно
Comment 5 Виталий Перов 2008-09-16 22:25:45 MSD
Created attachment 728 [details]
тест
Comment 6 Виталий Перов 2008-09-16 22:27:01 MSD
Сделал патч