Commit 97e2c24c authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

oleaut32: Add support for saving an empty picture.

parent 6c53c4ee
...@@ -1757,6 +1757,12 @@ static HRESULT WINAPI OLEPictureImpl_Save( ...@@ -1757,6 +1757,12 @@ static HRESULT WINAPI OLEPictureImpl_Save(
TRACE("%p %p %d\n", This, pStm, fClearDirty); TRACE("%p %p %d\n", This, pStm, fClearDirty);
switch (This->desc.picType) { switch (This->desc.picType) {
case PICTYPE_NONE:
header[0] = 0x0000746c;
header[1] = 0;
hResult = IStream_Write(pStm, header, 2 * sizeof(DWORD), &dummy);
break;
case PICTYPE_ICON: case PICTYPE_ICON:
if (This->bIsDirty || !This->data) { if (This->bIsDirty || !This->data) {
if (!serializeIcon(This->desc.u.icon.hicon, &pIconData, &iDataSize)) { if (!serializeIcon(This->desc.u.icon.hicon, &pIconData, &iDataSize)) {
......
...@@ -1095,11 +1095,9 @@ static void test_load_save_empty_picture(void) ...@@ -1095,11 +1095,9 @@ static void test_load_save_empty_picture(void)
ok(hr == S_OK, "QueryInterface error %#x\n", hr); ok(hr == S_OK, "QueryInterface error %#x\n", hr);
hr = IPersistStream_Save(src_stream, dst_stream, TRUE); hr = IPersistStream_Save(src_stream, dst_stream, TRUE);
todo_wine
ok(hr == S_OK, "Save error %#x\n", hr); ok(hr == S_OK, "Save error %#x\n", hr);
mem = GlobalLock(hmem); mem = GlobalLock(hmem);
todo_wine
ok(!memcmp(mem, "lt\0\0", 4), "got wrong stream header %04x\n", mem[0]); ok(!memcmp(mem, "lt\0\0", 4), "got wrong stream header %04x\n", mem[0]);
ok(mem[1] == 0, "expected stream size 0, got %u\n", mem[1]); ok(mem[1] == 0, "expected stream size 0, got %u\n", mem[1]);
GlobalUnlock(hmem); GlobalUnlock(hmem);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment