Ove Kaaven ovehk at
Fri Aug 31 09:57:20 CDT 2001

On Fri, 31 Aug 2001, giorgian wrote:

> Ove Kaaven wrote:
> >GetWindowLong with offsets >= 0 is application-managed storage. The
> >application stores whatever it likes there using SetWindowLong. If the app
> >didn't store anything there yet (or stored a null pointer there), you
> >should figure out why it didn't.
> >
> ok, let see it from a different point of view:
> the application works under windows, crashes under wine, whatever it 
> stores or not.
> so, the problem cannot be the application itself, the problem is that 
> wine doesn't behave as windows (USER32.DLL) does.
> how can we find out whether:
> - GetWindowLong doesn't return the right value, or
> - someone else corrupts that data, writing some garbage on it?

Neither of those is likely to be the cause. Again, if the app didn't store
anything there yet, you should figure out why it didn't. You can first use
--debugmsg +relay and look for SetWindowLong and see if a null is stored
and where it may have come from (maybe some Wine function is supposed to
return a structure, but don't, and then the app blindly saves the returned
null pointer with SetWindowLong). If there's no such call, and you can
debug the app under Windoze, breakpoint SetWindowLong there and find out
where it's called on Windows, then compare that with what happens on Wine.

More information about the wine-users mailing list