Re: Ole-BSTR-Concat broken?

2006-06-25 Thread Mike Hearn
On Sat, 24 Jun 2006 11:47:51 +0200, Olaf Schmidt wrote:
 Do you handle the OLE-BSTR-stuff directly in wine, or do you
 give that jobs to other Libs in the system (the 0.9.12er winelib-
 update has also changed some dependencies (Gtk, libc* and 
 others)?

BSTR (Basic String) is a Microsoft specific construct, it has no
equivalent on other platforms, so it's handled internally.

thanks -mike





Ole-BSTR-Concat broken?

2006-06-24 Thread Olaf Schmidt
Hi *.*,

seems, that the Ole-BSTR-Concat doesn't work anymore:
(Debian Sid, from wine 0.9.12 upwards - wine configured, 
to use the builtin Ole-Stuff)

In VB-Applications (wich are using (wide) Ole-BSTRs under
the hood), I can reduce the problem to the following:

If I define two Strings with the Content:

S1, containing a Zero WChar
(BSTR-LenDescriptor=2, ByteSequence 0 0)

and S2, containing A|Zero|B
(BSTR-LenDescriptor=6, ByteSequence 65 0 | 0 0 | 66 0)

and then do the concat:
SResult = S1 + S2

the resulting string contains only an A 
(BSTR-LenDescriptor=2, ByteSequence 65 0)

instead of the correct ByteSequence: 0 0 | 65 0 | 0 0 | 66 0

That means, that the current implementation does not use
the BSTR-Len-Descriptor anymore (it has worked in 0.9.10
or 0.9.11 - not very sure, but think it was 0.9.11 in my last tests)
Instead it now behaves like routines, wich have to concat 
Zero-Terminated Strings.

Nothing changed in my wine-configuration - only apt-getted to 
0.9.12 first - then to the latest 0.9.16 (ubuntu-deb) - same
problem.

Do you handle the OLE-BSTR-stuff directly in wine, or do you
give that jobs to other Libs in the system (the 0.9.12er winelib-
update has also changed some dependencies (Gtk, libc* and 
others)?

Olaf Schmidt






Re: Ole-BSTR-Concat broken?

2006-06-24 Thread Neil Skrypuch
On Saturday, June 24, 2006 05:47, Olaf Schmidt wrote:
 Hi *.*,

 seems, that the Ole-BSTR-Concat doesn't work anymore:
 (Debian Sid, from wine 0.9.12 upwards - wine configured,
 to use the builtin Ole-Stuff)

 In VB-Applications (wich are using (wide) Ole-BSTRs under
 the hood), I can reduce the problem to the following:

 If I define two Strings with the Content:

 S1, containing a Zero WChar
 (BSTR-LenDescriptor=2, ByteSequence 0 0)

 and S2, containing A|Zero|B
 (BSTR-LenDescriptor=6, ByteSequence 65 0 | 0 0 | 66 0)

 and then do the concat:
 SResult = S1 + S2

 the resulting string contains only an A
 (BSTR-LenDescriptor=2, ByteSequence 65 0)

 instead of the correct ByteSequence: 0 0 | 65 0 | 0 0 | 66 0

 That means, that the current implementation does not use
 the BSTR-Len-Descriptor anymore (it has worked in 0.9.10
 or 0.9.11 - not very sure, but think it was 0.9.11 in my last tests)
 Instead it now behaves like routines, wich have to concat
 Zero-Terminated Strings.

 Nothing changed in my wine-configuration - only apt-getted to
 0.9.12 first - then to the latest 0.9.16 (ubuntu-deb) - same
 problem.

 Do you handle the OLE-BSTR-stuff directly in wine, or do you
 give that jobs to other Libs in the system (the 0.9.12er winelib-
 update has also changed some dependencies (Gtk, libc* and
 others)?

 Olaf Schmidt

If you could do a regression test and find the specific patch that broke 
things, that would be very helpful. See section 6.1 of 
http://wiki.winehq.org/GitWine for regression testing.

- Neil




Re: Ole-BSTR-Concat broken?

2006-06-24 Thread Marcus Meissner
On Sat, Jun 24, 2006 at 11:47:51AM +0200, Olaf Schmidt wrote:
 Hi *.*,
 
 seems, that the Ole-BSTR-Concat doesn't work anymore:
 (Debian Sid, from wine 0.9.12 upwards - wine configured, 
 to use the builtin Ole-Stuff)
 
 In VB-Applications (wich are using (wide) Ole-BSTRs under
 the hood), I can reduce the problem to the following:
 
 That means, that the current implementation does not use
 the BSTR-Len-Descriptor anymore (it has worked in 0.9.10
 or 0.9.11 - not very sure, but think it was 0.9.11 in my last tests)
 Instead it now behaves like routines, wich have to concat 
 Zero-Terminated Strings.
 
 Nothing changed in my wine-configuration - only apt-getted to 
 0.9.12 first - then to the latest 0.9.16 (ubuntu-deb) - same
 problem.
 
 Do you handle the OLE-BSTR-stuff directly in wine, or do you
 give that jobs to other Libs in the system (the 0.9.12er winelib-
 update has also changed some dependencies (Gtk, libc* and 
 others)?

We do this ourselves. 

The current CVS contains fixes from Juan Lang for this or
at least a related problem.

Ciao, Marcus