oleaut32: Add PICTYPE_NONE and PICTYPE_UNINITIALIZED to IPicture_get_Attributes.
This commit is contained in:
parent
e46d25a661
commit
5b88f0d916
|
@ -844,6 +844,8 @@ static HRESULT WINAPI OLEPictureImpl_get_Attributes(IPicture *iface,
|
||||||
TRACE("(%p)->(%p).\n", This, pdwAttr);
|
TRACE("(%p)->(%p).\n", This, pdwAttr);
|
||||||
*pdwAttr = 0;
|
*pdwAttr = 0;
|
||||||
switch (This->desc.picType) {
|
switch (This->desc.picType) {
|
||||||
|
case PICTYPE_UNINITIALIZED:
|
||||||
|
case PICTYPE_NONE: break;
|
||||||
case PICTYPE_BITMAP: if (This->hbmMask) *pdwAttr = PICTURE_TRANSPARENT; break; /* not 'truly' scalable, see MSDN. */
|
case PICTYPE_BITMAP: if (This->hbmMask) *pdwAttr = PICTURE_TRANSPARENT; break; /* not 'truly' scalable, see MSDN. */
|
||||||
case PICTYPE_ICON: *pdwAttr = PICTURE_TRANSPARENT;break;
|
case PICTYPE_ICON: *pdwAttr = PICTURE_TRANSPARENT;break;
|
||||||
case PICTYPE_ENHMETAFILE: /* fall through */
|
case PICTYPE_ENHMETAFILE: /* fall through */
|
||||||
|
|
|
@ -324,6 +324,7 @@ static void test_empty_image(void) {
|
||||||
ULARGE_INTEGER newpos1;
|
ULARGE_INTEGER newpos1;
|
||||||
LARGE_INTEGER seekto;
|
LARGE_INTEGER seekto;
|
||||||
short type;
|
short type;
|
||||||
|
DWORD attr;
|
||||||
|
|
||||||
/* Empty image. Happens occasionally in VB programs. */
|
/* Empty image. Happens occasionally in VB programs. */
|
||||||
hglob = GlobalAlloc (0, 8);
|
hglob = GlobalAlloc (0, 8);
|
||||||
|
@ -347,6 +348,11 @@ static void test_empty_image(void) {
|
||||||
ok (hres == S_OK,"empty picture get type failed with hres 0x%08x\n", hres);
|
ok (hres == S_OK,"empty picture get type failed with hres 0x%08x\n", hres);
|
||||||
ok (type == PICTYPE_NONE,"type is %d, but should be PICTYPE_NONE(0)\n", type);
|
ok (type == PICTYPE_NONE,"type is %d, but should be PICTYPE_NONE(0)\n", type);
|
||||||
|
|
||||||
|
attr = 0xdeadbeef;
|
||||||
|
hres = IPicture_get_Attributes (pic, &attr);
|
||||||
|
ok (hres == S_OK,"empty picture get attributes failed with hres 0x%08x\n", hres);
|
||||||
|
ok (attr == 0,"attr is %d, but should be 0\n", attr);
|
||||||
|
|
||||||
hres = IPicture_get_Handle (pic, &handle);
|
hres = IPicture_get_Handle (pic, &handle);
|
||||||
ok (hres == S_OK,"empty picture get handle failed with hres 0x%08x\n", hres);
|
ok (hres == S_OK,"empty picture get handle failed with hres 0x%08x\n", hres);
|
||||||
ok (handle == 0, "empty picture get handle did not return 0, but 0x%08x\n", handle);
|
ok (handle == 0, "empty picture get handle did not return 0, but 0x%08x\n", handle);
|
||||||
|
@ -645,6 +651,26 @@ static void test_Render(void)
|
||||||
ReleaseDC(NULL, hdc);
|
ReleaseDC(NULL, hdc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_get_Attributes(void)
|
||||||
|
{
|
||||||
|
IPicture *pic;
|
||||||
|
HRESULT hres;
|
||||||
|
short type;
|
||||||
|
DWORD attr;
|
||||||
|
|
||||||
|
OleCreatePictureIndirect(NULL, &IID_IPicture, TRUE, (VOID**)&pic);
|
||||||
|
hres = IPicture_get_Type(pic, &type);
|
||||||
|
ok(hres == S_OK, "IPicture_get_Type does not return S_OK, but 0x%08x\n", hres);
|
||||||
|
ok(type == PICTYPE_UNINITIALIZED, "Expected type = PICTYPE_UNINITIALIZED, got = %d\n", type);
|
||||||
|
|
||||||
|
attr = 0xdeadbeef;
|
||||||
|
hres = IPicture_get_Attributes(pic, &attr);
|
||||||
|
ole_expect(hres, S_OK);
|
||||||
|
ok(attr == 0, "IPicture_get_Attributes does not reset attr to zero, got %d\n", attr);
|
||||||
|
|
||||||
|
IPicture_Release(pic);
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(olepicture)
|
START_TEST(olepicture)
|
||||||
{
|
{
|
||||||
hOleaut32 = GetModuleHandleA("oleaut32.dll");
|
hOleaut32 = GetModuleHandleA("oleaut32.dll");
|
||||||
|
@ -672,6 +698,7 @@ START_TEST(olepicture)
|
||||||
test_Invoke();
|
test_Invoke();
|
||||||
test_OleCreatePictureIndirect();
|
test_OleCreatePictureIndirect();
|
||||||
test_Render();
|
test_Render();
|
||||||
|
test_get_Attributes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue