OLEPictureImpl_Load: fix for headerless pictures

Fabian Cenedese Cenedese at indel.ch
Wed Feb 4 05:06:11 CST 2004


>> >Then what type of picture it is?
>> >
>> >0x4947  GIF
>> >0xd8ff  JPEG
>> >0x4d42  BMP
>> >0x0000  ICON
>> >0x746c  ???
>>
>> Well, as I didn't use any pictures I don't know what it's supposed to be.
>> Might as well be "NoPic" :) But I have also seen this marker where the
>> second field was not zero.
>
>It's probably some ole-storage magic. Don't know as i have no clue on how
>ole works at all :)

Neither do I :)

>> Maybe this isn't even part of a picture and we shouldn't be reading this.
>> How does it know that a picture is coming? Perhaps we shouldn't
>> even enter OLEPictureImpl_Load if there is no picture at all.
>
>Fabi,
>
>I temporarly disable checking for (header[1]==0). even in such case your
>test-case doesn't start:
>fixme:ole:CoRegisterMessageFilter stub
>fixme:ole:OleLoadPictureEx
>(0x418ae294,774,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x4075fb08),
>partially implemented.
>fixme:ole:OleLoadPictureEx
>(0x418ae294,774,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x4075fad8),
>partially implemented.
>fixme:ole:SPCF_CreateInstance
>(0x40acdbc8,(nil),{7bf80980-bf32-101a-8bbb-00aa00300cab},0x402313a4),
>creating stdpic with PICTYPE_NONE.
>fixme:ole:SPCF_CreateInstance
>(0x40acdbc8,(nil),{7bf80980-bf32-101a-8bbb-00aa00300cab},0x40231aac),
>creating stdpic with PICTYPE_NONE.
>fixme:ole:OLEPictureImpl_Load CreateIcon failed.
>fixme:ole:OLEPictureImpl_Destroy Unsupported type 0 - unable to delete
>fixme:dialog:MSGBOX_OnInit task modal msgbox ! Not modal yet.

Where did you disable it? My patch or yours? With my patch it should
never even get to try to call CreateIcon (which fails). So either the field
is not 0 or you don't jump out.

>and then
>
>MessageBox with
>"Failed to load control 'SSTab' from TABCTL32.OCX. Your version of
>TABCTL32.OCX is outdated...."
>
>Does it work at all?

This is the error I wanted to eliminate, just look for my postings with SSTAB
in the subject in the last two months :)
When I jump out if header[1] is 0 then I don't get this error anymore and
VB programs with the SSTab control come up. But I only tried those
without icons as I assumed that those with icons don't have a 0 field.

>If so, then we probably should figure out whethere there are some
>ole-storage magic present and chek for them when decidign whether to look at header[1] and how to interpret it.

This is definitely above me. Maybe some guru can help here. Who's
a pro in ole pictures? Picking anyone's pride? :)

bye  Fabi





More information about the wine-devel mailing list