LogonUser(), netapi work

2002-10-22 Thread Martin Wilck
Hi,

after having been busy with other stuff for a while, I'd like to inquire
the status of my LogonUser() patch 
(http://www.winehq.com/hypermail/wine-devel/2002/09/0448.html)

I have had almost no feedback, positive or negative, on this, and it
wasn't applied either. I still think it could be useful, although it is
clear that wine won't (shouldn't) be able to change personality in the
foreseeable future.

Andriy, what is the status of your netapi work? 

Martin

-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:Martin.Wilck;Fujitsu-Siemens.com
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









Re: Marshalling code for me to use?

2002-10-22 Thread Jürgen Schmied

  and I don't know about anyone else working on it
  (Juergen Schmied is probably busy with other stuff). 
Yes, I'm not able to do much of work for some month. (Bussy
changing nappies...).
I was only merging the RPC stuff because I was interested in getting 
ove's COM stuff into wine. I might start to work there (COM) again sometimes later
[or more early if I could pay my bills from it ...  - thats life ;-) ]

I still have some not-yet-ready-for-submitting LPC stuff in my queue. (If sbd 
interested...)

PS:
I found te freedce project at sourceforge. Maybe rpc could borrow (ndr-)code there?


juergen
---
[EMAIL PROTECTED]






Re: Third listview status update

2002-10-22 Thread Rein Klazes
On Mon, 21 Oct 2002 23:57:52 -0400, you wrote:


 I would like to thank everybody that helped me with testing,
 patches, or reporting bugs. I couldn't have done the half of
 it without that support.
 
 This sounds like this is a done deal. It's not. There's a lot
 of stuff that remains to be done, but I needed some closure. :)

Yes that seems the right way to proceed. Here is an update of newsbin
status (current cvs == V18 ). 

On the positive side background colouring for new messages works now.

Current show-stoppers:

- only first column displays text; this problem existed from the
beginning;
- when downloading headers, the messages listview doesn't get filled;
this problem was introduced in rev. 1.200; I can get the list to
display after the download is finished by toggling the show only new
headers option; I have uploaded a cut of a +listview trace on
www.xs4all.nl/~rklazes/nb.log.bz2 ; 
- crashes :(( see below.

Nit-picking:

- the green background extends as far as the text; with native
comctl32 is extends the whole column;
- A line that has both a green background and is marked slected will
display as white text on green backgound; With native comctl32 is
shows as white text on dark blue background (same as selected);
- updates are from bottom to top; this gets some getting used to;


Till sofar I had two different (looking at the backtrace) crashes. I
did not found a way to reproduce easily, just that it happens always
shorly after a second download is requested. I will try to create
debug logs when I find a way to reproduce.

Crash 1:

| err:ntdll:RtlpWaitForCriticalSection section 0x4fcf28 ? wait timed out, retrying 
|(60 sec) tid=087ee0b8
| Unhandled exception: page fault on write access to 0x00418082 in 32-bit code 
|(0x400a3e2d).
| In 32-bit mode.
| 0x400a3e2d (INSTR_EmulateInstruction+0xaf9 [instr.c:615] in libntdll.dll.so): movl   
| %eax,0x0(%esi)
| Warning: L/usr/home/projects/wine/mywine/dlls/ntdll/../../memory/instr.c not 
|accessible from a configured DOS drive
| Unable to open file /usr/home/projects/wine/mywine/dlls/ntdll/../../memory/instr.c
| Backtrace:
| =0 0x400a3e2d (INSTR_EmulateInstruction+0xaf9(context=0x40630a50, 
|context=0x40630a50, context=0x40630a50, context=0x40630a50, context=0x40630a50, 
|context=0x40630a50, context=0x40630a50, context=0x40630a50, context=0x40630a50, 
|context=0x40630a50, context=0x40630a50, context=0x40630a50, context=0x40630a50, 
|context=0x40630a50, context=0x40630a50, context=0x40630a50, context=0x40630a50, 
|context=0x40630a50, context=0x40630a50, context=0x40630a50) [instr.c:615] in 
|libntdll.dll.so) (ebp=406309c4)
|   1 0x400dd289 (do_segv+0x109(context=0x40630a50, trap_code=0xd, cr2=0x0, 
|err_code=0x0) [signal_i386.c:761] in libntdll.dll.so) (ebp=40630a2c)
|   2 0x400dd762 (segv_handler+0x3a(__signal=0xb, __context=0x1587) 
|[signal_i386.c:986] in libntdll.dll.so) (ebp=40630d1c)
|   3 0x4025fb88 (NTDLL.DLL.toupper+0x59ae in libc.so.6) (ebp=414a0328)
|   4 0x0cd6 (ebp=00010023)
|   5 0x18171615 (LIBFILTER.DLL..reloc+0x812e615) (ebp=14131211)
| *** Invalid address 0x14131211 (LIBFILTER.DLL..reloc+0x40ee211)
| 

Crash 2: 


| err:ntdll:RtlpWaitForCriticalSection section 0x4fcf28 ? wait timed out, retrying 
|(60 sec) tid=087eedb8
| Unhandled exception: page fault on write access to 0x1784562e in 32-bit code 
|(0x4272392f).
| In 32-bit mode.
| 0x4272392f (_end+0xdbf6f): addb   %bh,0x957c4272(%ebx,%edi,1)
| Register dump:
|  CS:0023 SS:002b DS:002b ES:002b FS:008f GS:1587
|  EIP:4272392f ESP:40741c5c EBP:40741cb4 EFLAGS:00210a86(  R- 00O I S - -P1 )
|  EAX:427d1354 EBX:40be1094 ECX:41a7ff3c EDX:0002
|  ESI:41a7ff3c EDI:414a0328
| Backtrace:
| =0 0x4272392f (_end+0xdbf6f) (ebp=40741cb4)
|   1 0x40b7db77 (DPA_QuickSort+0xf3(lpPtrs=0x414bd320, l=0xd1, r=0xd2, 
|pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2077] in comctl32.dll.so) 
|(ebp=40741ce0)
|   2 0x40b7db1c (DPA_QuickSort+0x98(lpPtrs=0x414bd320, l=0xd1, r=0xd4, 
|pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2072] in comctl32.dll.so) 
|(ebp=40741d14)
|   3 0x40b7db35 (DPA_QuickSort+0xb1(lpPtrs=0x414bd320, l=0xcc, r=0xd4, 
|pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2075] in comctl32.dll.so) 
|(ebp=40741d5c)
|   4 0x40b7db1c (DPA_QuickSort+0x98(lpPtrs=0x414bd320, l=0xcc, r=0xdd, 
|pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2072] in comctl32.dll.so) 
|(ebp=40741d90)
|   5 0x40b7db35 (DPA_QuickSort+0xb1(lpPtrs=0x414bd320, l=0xb9, r=0xdd, 
|pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2075] in comctl32.dll.so) 
|(ebp=40741dd8)
|   6 0x40b7db35 (DPA_QuickSort+0xb1(lpPtrs=0x414bd320, l=0x94, r=0xdd, 
|pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2075] in comctl32.dll.so) 
|(ebp=40741e20)
|   7 0x40b7db1c (DPA_QuickSort+0x98(lpPtrs=0x414bd320, l=0x94, r=0x126, 
|pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2072] in comctl32.dll.so) 
|(ebp=40741e54)
|   8 0x40b7db35 (DPA_QuickSort+0xb1(lpPtrs=0x414bd320, 

Re: [RFC] Adding an include/wine/wine directory?

2002-10-22 Thread Steven Edwards
It would be nice but I dont expect/want a major overhaul of the header 
system for you and I with the Mingw and MS_VC work. If one day WINE is 
going to use some sort of common header/import system that it shares 
with Mingw/Borland* then I am all for it but atm ReactOS is not 
contributing much back and I have not had much time to focus on anything 
so take my vote with a gain of salt.

Thanks
Steven

* I think that work is underway for borland or one of the other open 
compilers to use the win32api/ddk package that the mingw project uses. 
If this system works and becomes popular it would still be nice to see 
all of the Open-Win projects be able to work together.

It seems that I'm not the only one having this problem as well.
Steven Edwards also wants a way to use the Mingw/W32api
package together with Wine in a sane way.

 








Re: Marshalling code for me to use?

2002-10-22 Thread Martin Wilck
Am Die, 2002-10-22 um 13.46 schrieb Ove Kaaven:

  I found te freedce project at sourceforge. Maybe rpc could borrow (ndr-)code there?
 
 I borrowed the UuidHash algorithm from freedce. I don't think we can
 borrow a lot since the way rpcrt4 does ndr internally is part of the
 exported API, but it can be used as a reference implementation (and maybe 
 a source of .idl files?)

What about Samba-TNG (www.dcerpc.org, www.samba-tng.org)and the sidlc
compiler  that is part of it?
(Forgive me if that's a stupid suggestion)

Martin


-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:Martin.Wilck;Fujitsu-Siemens.com
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









here's a snapshot of my tree...

2002-10-22 Thread Greg Turner

I'm holding back on submitting an official patch to give Alexandre
the chance to catch up so I can start a new F series and not
stay forever conceptually forked from CVS wine.  But I thought he or
somebody else might like to see what's I'm up to so here goes (I'm also
having some HD troubles so, in case I have a meltdown, this will prevent
me from losing my work!)

I'm enclosing a diff relative to E_PL15 and also a bigger one of uncomitted 
changes relative to CVS wine (the E_PLxx series are inclusive of this latter
diff, so there is nothing new there).  I've indexed it as F_PL1 because
presumably F_PL0 will be yet another copy of the unmerged server
parts.

the E_PL15_unmerged patch does not include the F_PL1_pre0 patch,
so if you take CVS wine, apply E_PL15_unmerged.diff, and then
apply F_PL1_pre0.diff on top of that, you have my tree.  As usual,
this is not a hint to apply.

LICENSE: X11

CHANGELOG (for rpc_F_PL1_pre0 only):

* dlls/rpcrt4: ndr_marshall.c, ndr_midl.c, ndr_misc.h;
  include: rpcndr.h, wine/rpcfc.h: 
  Greg Turner [EMAIL PROTECTED]
- make explicit some hidden include dependencies
- Implement NdrGetBuffer, NdrFreeBuffer, and 
  NdrConformantStringBufferSize
- define the RPC_FC_C_CSTRING constant
- perhaps I don't want those MIDL structs after all. removed.

-- 
gmt

Oh, and of course, the fastest way to dig
 a tunnel is to dig at both sides.
   -- The Linux Advanced Routing HOWTO

diff -urN -x unpatch -x CVS -x 'bigdif*' ../wine.vanilla/dlls/rpcrt4/Makefile.in ./dlls/rpcrt4/Makefile.in
--- ../wine.vanilla/dlls/rpcrt4/Makefile.in	2002-10-21 19:41:17.0 -0500
+++ ./dlls/rpcrt4/Makefile.in	2002-10-21 21:48:54.0 -0500
@@ -21,6 +21,7 @@
 	rpc_binding.c \
 	rpc_message.c \
 	rpc_server.c \
+	rpc_epmap.c \
 	rpcrt4_main.c
 
 SUBDIRS = tests
diff -urN -x unpatch -x CVS -x 'bigdif*' ../wine.vanilla/dlls/rpcrt4/ndr_midl.c ./dlls/rpcrt4/ndr_midl.c
--- ../wine.vanilla/dlls/rpcrt4/ndr_midl.c	2002-10-21 19:41:17.0 -0500
+++ ./dlls/rpcrt4/ndr_midl.c	2002-10-22 02:43:40.0 -0500
@@ -172,9 +172,23 @@
  * NdrClientInitializeNew [RPCRT4.@]
  */
 void WINAPI NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE pStubMsg, 
-PMIDL_STUB_DESC pStubDesc, int unknown )
+PMIDL_STUB_DESC pStubDesc, unsigned int ProcNum )
 {
-  FIXME(stub\n);
+  TRACE((pRpcMessage == ^%p, pStubMsg == ^%p, pStubDesc == ^%p, ProcNum == %d)\n,
+pRpcMessage, pStubMsg, pStubDesc, ProcNum);
+
+  memset(pRpcMessage, 0, sizeof(RPC_MESSAGE));
+  memset(pStubMsg, 0, sizeof(MIDL_STUB_MESSAGE));
+
+  pStubMsg-ReuseBuffer = TRUE;
+  pStubMsg-IsClient = TRUE;
+  pStubMsg-StubDesc = pStubDesc;
+  pStubMsg-pfnAllocate = pStubDesc-pfnAllocate;
+  pStubMsg-pfnFree = pStubDesc-pfnFree;
+  pStubMsg-RpcMsg = pRpcMessage;
+
+  pRpcMessage-ProcNum = ProcNum;
+  pRpcMessage-RpcInterfaceInformation = pStubDesc-RpcInterfaceInformation;
 }
 
 /***
diff -urN -x unpatch -x CVS -x 'bigdif*' ../wine.vanilla/dlls/rpcrt4/rpc_binding.c ./dlls/rpcrt4/rpc_binding.c
--- ../wine.vanilla/dlls/rpcrt4/rpc_binding.c	2002-10-21 19:40:01.0 -0500
+++ ./dlls/rpcrt4/rpc_binding.c	2002-10-21 21:48:54.0 -0500
@@ -241,7 +241,7 @@
 LPSTR pname;
 pname = HeapAlloc(GetProcessHeap(), 0, strlen(prefix) + strlen(Binding-Endpoint) + 1);
 strcat(strcpy(pname, prefix), Binding-Endpoint);
-   TRACE(listening on %s\n, pname);
+TRACE(listening on %s\n, pname);
 Binding-conn = CreateNamedPipeA(pname, PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
  0, PIPE_UNLIMITED_INSTANCES, 0, 0, 5000, NULL);
 HeapFree(GetProcessHeap(), 0, pname);
@@ -262,7 +262,7 @@
 LPSTR pname;
 pname = HeapAlloc(GetProcessHeap(), 0, strlen(prefix) + strlen(Binding-Endpoint) + 1);
 strcat(strcpy(pname, prefix), Binding-Endpoint);
-   TRACE(listening on %s\n, pname);
+TRACE(listening on %s\n, pname);
 Binding-conn = CreateNamedPipeA(pname, PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
  0, PIPE_UNLIMITED_INSTANCES, 0, 0, 5000, NULL);
 HeapFree(GetProcessHeap(), 0, pname);
@@ -278,8 +278,8 @@
 }
   }
   else {
-   ERR(protseq %s not supported\n, Binding-Protseq);
-   return RPC_S_PROTSEQ_NOT_SUPPORTED;
+ERR(protseq %s not supported\n, Binding-Protseq);
+return RPC_S_PROTSEQ_NOT_SUPPORTED;
   }
 }
 else { /* client */
@@ -288,67 +288,65 @@
   if (strcmp(Binding-Protseq, ncalrpc) == 0) {
 static LPSTR prefix = .\\pipe\\lrpc\\;
 LPSTR pname;
-   HANDLE conn;
-   DWORD err;
+HANDLE conn;
+DWORD err;
 
 pname = HeapAlloc(GetProcessHeap(), 0, strlen(prefix) + strlen(Binding-Endpoint) + 1);
 strcat(strcpy(pname, prefix), 

Services

2002-10-22 Thread Martin Wilck

I have had a look at dlls/advapi/services.c and found that it is pretty
incomplete. Can anybody tell what the current implementation is used for
(are there any known programs starting services?)

In particular I'd like to know what people generally think about the
usefulness of Services in Wine. 

The fact that wine cannot change user personalities and is lacking most
of the NT security concepts makes services pretty useless. 
However it may be desirable to translate services into something useful
on Unix, especially for winelib (it would be useful for the app I am
trying to port).  

Has there been a discussion yet how to set this up without compromising
system security?

Martin

-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:Martin.Wilck;Fujitsu-Siemens.com
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









Re: Marshalling code for me to use?

2002-10-22 Thread Greg Turner
On Tuesday 22 October 2002 04:40 am, Jürgen Schmied wrote:
 I was only merging the RPC stuff because I was interested in getting
 ove's COM stuff into wine. I might start to work there (COM) again
 sometimes later [or more early if I could pay my bills from it ...  - thats
 life ;-) ]

 I still have some not-yet-ready-for-submitting LPC stuff in my queue. (If
 sbd interested...)

I am interested, at least to see this.  Throw me a diff and I'll definitely take 
a look at it; it may (or may not) be useful for me.

 PS:
 I found te freedce project at sourceforge. Maybe rpc could borrow
 (ndr-)code there?

Ove is correct that Windows has its own quirky way of doing things
and we are stuck with their structure to an extent.  Then again, if
something works, it works, so I'm not going to obsess about doing
things like Windows; for now, I just want to support the API's used
by MIDL-generated code.  It is unfortunate, but we basically have to
implement a documented wire protocol using an undocumented API.

In places like NdrClientCall2, we technically have a lot of flexibility
to do things however we want.  But it would just create redundancy
to go off on our own tangent when we have to implement it the 
Microsoft way sooner or later.  Nevertheless, DCE RPC and freedce
are potentially valuable resources in this effort.

-- 
gmt

Oh, and of course, the fastest way to dig
 a tunnel is to dig at both sides.
   -- The Linux Advanced Routing HOWTO





Re: Marshalling code for me to use?

2002-10-22 Thread Greg Turner
On Tuesday 22 October 2002 06:46 am, Ove Kaaven wrote:
 I borrowed the UuidHash algorithm from freedce. 

When are you planning to give it back?  ;)

DISCLAIMER: Sorry.  That is a terrible, and old, joke.  But somehow
I couldn't resist.  I take no responsibility for any feelings of discomfort,
disappointment, or hatred this comment may have engendered.

-- 
gmt

p.s.: could I borrow a cigarette?

Oh, and of course, the fastest way to dig
 a tunnel is to dig at both sides.
   -- The Linux Advanced Routing HOWTO





An RPC progress report

2002-10-22 Thread Greg Turner
On Tuesday 22 October 2002 12:47 pm, you wrote:
 Greg -

 I've been following the RPC merges lately,
 looks like a lot of stuff added.  I browsed
 the code, but I couldn't really get a grasp
 on some of it.  

That's OK, I'm not sure /I've/ got a grasp on
some of it !! ;)

 I was just wondering if
 you'd like to write an update (short, long,
 whatever) about what you've done, what's left
 to do, major stumbling blocks, etc.  I'll
 include it in the next issue of Wine Weekly
 News.

Above what Ove already implemented, I really haven't done all that
much.  Frankly, in its current state, it is quite possible that the RPC
work I am doing will /detract/ from the stability of wine, until the
implementation is more complete.  RPC is painfully complicated,
and a victim of serious creeping featurism.  Microsoft makes it worse
by providing poorly documented extentions to the protocol, and a largely
undocumented marshalling API (much of which developers typically don't
have to learn because the API calls are generated by the MIDL compiler).

My target right now is to get a hello world API invocation to
work across processes using wine RPC.  Once that is achieved,
I plan to create a unit test for this.  Then, we'll have a framework
that we can begin to extend and implement properly.  I am not there
yet, but I think I'm getting close.  I just have to implement marshalling
for strings, which, in theory, looks pretty easy.  There are probably many
bugs that need squashing before it works, and maybe some additional gaps
in functionality that I don't even realize exist yet... but I do think I'm
pretty near.

Now, what remains to be done?  Well, as Ove mentions in the TODO
for his units, a whole lot.  Here are several things in no particular order:

- widl is like MIDL for wine.  For wine to be a useful RPC platform, quite
  a bit of work needs to be done here.  widl currently doesn't generate stubs
  for RPC invocation -- it will need to; this is tricky because the MIDL compiler
  does some really wierd stuff.  Then again, we don't neccesarily have to
  make widl work like MIDL, so it could be worse.

- RPC has a quite featureful error handling mechanism; none of it is implemented
  right now.

- The server portions of the patch don't seem to be getting accepted by
  Alexandre.  My guess is that once I have a working test he'll conceed to
  let this in.  To implement this properly is tricky and possibly beyond my
  abilities; Ove seems to think the right way to do this is to use LPC
  (Local Procedure Call, another undocumented monster).  LPC has no implementation
  in wine and is not going to be trivial to create.

- there are several different memory allocation schemes for MSRPC.
  I don't even understand what they all are yet, much less have them
  properly implemented.

- MSRPC provides impersonation capabilities which currently are not possible
  to implement in wine.

- Some transports are not yet implemented.  The existing transport implementations
  are incomplete.  (By transports I mean, tcp/ip, named-pipes, local procedure call,
  etc --- the various types of low-level plumbing that can be used to connect the
  client and the server).

- Data marshalling is the means by which RPC represents data across process
  and machine boundaries.  MSRPC extends NDR format for this.  The wire
  protocol is mostly documented, but the MS API's to convert data-types in
  memory into NDR are not.  This, alone, is a sizable chunk of work.

- ORPC is RPC for OLE; once we have a working RPC framework, we can
  use it to implement out-of-process OLE client/server communications.
  This will be a huge win for wine.  But again, it's a lot of work, and I'm no OLE
  expert (hell, I'm no RPC expert :)

- Surely there is much more stuff I am forgetting.  Like Ove said, it's a whole lot
  of stuff, approximately as big a project as, say, DirectX.

Basically, RPC for wine is a huge beast of a project.  IMO it is probably the
biggest and most difficult-to-fill hole in wine's feature-completeness ATM.
In the short term, don't expect any miracles --- I really doubt that I'm
going to solve this (in my spare time!) anytime soon.  But, once
I start getting some results, I imagine others will be enticed to help out,
as contributors like Ove already have.  (To be clear: Ove enticed me, not
the other way around: He did all the real work, and deserves way
more credit than me for any success I may achieve in the near future).

wish me luck,

-- 
gmt

Oh, and of course, the fastest way to dig
 a tunnel is to dig at both sides.
   -- The Linux Advanced Routing HOWTO





Re: An RPC progress report

2002-10-22 Thread Dimitrie O. Paun
On October 22, 2002 02:50 pm, Greg Turner wrote:
 Now, what remains to be done?  Well, as Ove mentions in the TODO
 for his units, a whole lot.  Here are several things in no particular
 order:

And this nice summary should be placed in a file header somewhere
in the RPC code, so that other developers can pick it up in the
future.

-- 
Dimi.





Re: using native regedit

2002-10-22 Thread Greg Turner
On Tuesday 22 October 2002 01:01 pm, Jeff Smith wrote:
 htmldiv style='background-color:'DIVnbsp; I know I must be missing
 something very simple, but I cannot seem to/DIV
 DIVgetnbsp;nativenbsp;regedit to run.nbsp; The builtin version always
 runs instead.nbsp; The only/DIV DIVthing I could think of was an entry
 in DllOverrides:/DIV
 DIVregedit.exe = native, builtin.nbsp; That did not work./DIV
 DIVnbsp;/DIV
 DIVnbsp; I have debugged a littlenbsp;andnbsp;know MODULE_GetLoadOrder
 is returning/DIV DIV{LOADORDER_BI, LOADORDER_DLL, LOADORDER_INVALID,
 LOADORDER_INVALID}/DIV DIVeven when I add that DllOverride line.nbsp;
 But I am just not in the mood at/DIV DIVthe moment for deep digging if
 I can help it.nbsp; /DIV
 DIVnbsp;/DIV
 DIVnbsp; -- Jeff S./DIV/divbr clear=allhrProtect your PC - a
 href=http://g.msn.com/8HMZEN/2024;Click here/a for McAfee.com VirusScan
 Online /html

Well, if my wetware HTML parser is working today, I think I understand
your problem.  Just rename regedit.exe to winregedit.exe (or whatever you like),
or create a symlink or copy of the native version.  (some configs don't respect
symlinks).

-- 
gmt

Oh, and of course, the fastest way to dig
 a tunnel is to dig at both sides.
   -- The Linux Advanced Routing HOWTO





Re: using native regedit

2002-10-22 Thread Jeff Smith
Thanks for the advice, this should get me by for now.

Of course I would still like DllOverrides section to
work as advertised, but maybe I can hack on it some
more when I am more in the mood.

P.S. Sorry about the HTML message, the Hotmail admins
seem to be playing around with default settings.

 -- Jeff S.



From: Greg Turner To: Jeff Smith , [EMAIL PROTECTED] On Tuesday 22 
October 2002 01:01 pm, Jeff Smith wrote:  I know I must be missing  
something very simple, but I cannot seem to
 get native regedit to run.  The builtin version always  runs instead.  
The only thing I could think of was an entry  in DllOverrides:
 regedit.exe = native, builtin.  That did not work.
  I have debugged a little and know MODULE_GetLoadOrder  is returning 
{LOADORDER_BI, LOADORDER_DLL, LOADORDER_INVALID,  LOADORDER_INVALID} even 
when I add that DllOverride line.   But I am just not in the mood at the 
moment for deep digging if  I can help it. -- Jeff S.


Well, if my wetware HTML parser is working today, I think I understand your 
problem. Just rename regedit.exe to winregedit.exe (or whatever you 
like), or create a symlink or copy of the native version. (some configs 
don't respect symlinks).

--
gmt

_
Surf the Web without missing calls! Get MSN Broadband. 
http://resourcecenter.msn.com/access/plans/freeactivation.asp




RE: [RFC] Adding an include/wine/wine directory?

2002-10-22 Thread Patrik Stridvall
 Patrik Stridvall [EMAIL PROTECTED] writes:
 
  I suggest that we gradually move the files in include/wine
  to include/wine/wine or in some cases other places like the DLL
  directories. Eventually, far in the future, the 
 include/wine directory
  will be empty (save for a wine directory).
  
  This provides a slow and steady migration path from the old 
  to the new that doesn't have any of the problems you described. 
  What more can you ask for?
 
 A clean solution? Seriously this is ugly as hell;

It would have been nice if had been cleaner yes, but then
you can't have everything can you? :-)

Seriously, I think we can do a little better. See below.

 especially when you
 consider that after you install you will get Wine headers in
 /usr/include/wine, /usr/include/wine/wine and
 /usr/include/wine/wine/wine. 

Correct. [I think we understand each other at least this time]

 Tell me this isn't confusing...

First of all you have /usr/include/wine and /usr/include/wine/wine
even today. Which already is a little confusing. But hey it works
for most thing so I'm not complaining that much.

But yes, it is a little confusing.
Hmm. Thinking

We could do that following instead:
(1) /usr/include/wine = /usr/include/wine/windows
(2) /usr/include/wine/wine = /usr/include/wine/windows/wine
(3) /usr/include/wine/wine/wine = /usr/include/wine

Also note (2) will disappear eventually.

This would be very nice since now normal Winelib applications 
ie ports from Windows can do -I/usr/include/wine/windows
regardless of whether they use the Wine extensions or not
since #include wine/test.h for example will work without a -I.

Special Winelib application could do
#include wine/windows/wincrypt.h
without any -I if somebody for example 
wanted to use the Windows encryption API 
in a normal Unix application.

Hmm. Perhaps /usr/include/wine/windows should be /usr/include/wine/win32
instead, with perhaps /usr/include/wine/windows as symbolic link to
/usr/include/wine/win32. But that is just details, what do you think
in principle.
 
 If you really want to make it possible to mix and match headers from
 different sources, you need a more serious redesign of the whole
 include layout, and you need to ensure that the normal case is at
 least as easy and clean as it is today.

I think the suggestion above would do nicely.

Internally in the wine tree I think we might have to choose the 
ugly include/wine/wine solution, but we could install to the
solution above which is what's really important.

PS. Of course we could move include/*.h to include/wine/windows or
something like that but then it is no real use and beside it ruins
the cvs patch log. Better stick to the ugly include/wine/wine
solution interally IMHO.








Re: Marshalling code for me to use?

2002-10-22 Thread Ove Kaaven

On 22 Oct 2002, Martin Wilck wrote:

 Am Die, 2002-10-22 um 13.46 schrieb Ove Kaaven:
 
   I found te freedce project at sourceforge. Maybe rpc could borrow (ndr-)code 
there?
  
  I borrowed the UuidHash algorithm from freedce. I don't think we can
  borrow a lot since the way rpcrt4 does ndr internally is part of the
  exported API, but it can be used as a reference implementation (and maybe 
  a source of .idl files?)
 
 What about Samba-TNG (www.dcerpc.org, www.samba-tng.org)and the sidlc
 compiler  that is part of it?

Samba is GPL, is it not? Also, it has been my impression that Samba-TNG
was moving towards using freedce anyway, though I haven't looked at any of
their code (probably since the license would make it useless anyway).





Re: [RFC] Adding an include/wine/wine directory?

2002-10-22 Thread Alexandre Julliard
Patrik Stridvall [EMAIL PROTECTED] writes:

 We could do that following instead:
 (1) /usr/include/wine = /usr/include/wine/windows
 (2) /usr/include/wine/wine = /usr/include/wine/windows/wine
 (3) /usr/include/wine/wine/wine = /usr/include/wine
 
 Also note (2) will disappear eventually.

Well, it's somewhat better, but it's still too complex IMO. Maybe what
we should do is put the (3) headers directly in /usr/include, like
/usr/include/wine_unicode.h. But this would work only if we don't have
many of them, so we probably want to work on simplifying this first.

Also note that this is not going to solve your problem, because
wine/test.h is more a category (2) header (or maybe you need a new
category for Wine internal headers that don't get installed).

 PS. Of course we could move include/*.h to include/wine/windows or
 something like that but then it is no real use and beside it ruins
 the cvs patch log. Better stick to the ugly include/wine/wine
 solution interally IMHO.

Not an option. If we have to move the files we'll move them; it's
better to avoid moving things around too much. but we shouldn't let
CVS limitations impose a broken structure. Now if we can find a non
broken structure that also doesn't involve moving files that's better.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: updated dlls/comctl32/commctrl.c comments

2002-10-22 Thread Dimitrie O. Paun
On October 22, 2002 03:02 pm, Christian Neumair wrote:
 Dimitrie started posting a header doc patch for listview.c, so I got
 motivated and wrote the same thing for commctrl.c.
 I hope it's complete.

Thanks, Chris. In many respects, this is more important than code.
For many reasons I will not go into here, I think it is vital
that we have a header giving a _clear_ pictures of what remains
to be done. I just hope others will do the same.

-- 
Dimi.





RE: [RFC] Adding an include/wine/wine directory?

2002-10-22 Thread Patrik Stridvall
 Patrik Stridvall [EMAIL PROTECTED] writes:
 
  We could do that following instead:
  (1) /usr/include/wine = /usr/include/wine/windows
  (2) /usr/include/wine/wine = /usr/include/wine/windows/wine
  (3) /usr/include/wine/wine/wine = /usr/include/wine
  
  Also note (2) will disappear eventually.
 
 Well, it's somewhat better, but it's still too complex IMO. 

Where is the complexity?

If you want to port a Window application, you add
-I/usr/include/wine/windows and everything as much
as like under Windows as possible. If you in
addition wish to call some Wine extension no
problem just do #include wine/foo.h or similar.

If you just want to use the Windows API in an Unix
application you need anything at all. Just 
do #include wine/windows/wincrypt.h and you're done.

[Linking is a separate problem, of course. But then,
this changes nothing as far as this is concerned]

 Maybe what
 we should do is put the (3) headers directly in /usr/include, like
 /usr/include/wine_unicode.h. But this would work only if we don't have
 many of them, so we probably want to work on simplifying this first.

I can't see any principal difference between
/usr/include/wine_foo.h or /usr/include/wine/foo.h

None of them requires any -I. It is more a convention that if you
have many .h you have a directory, if not, well then you can have a
directory anyway, it is up to you.
 
 Also note that this is not going to solve your problem, because
 wine/test.h is more a category (2) header 

Well wine/test.h is really kind of a special case anyway it could
be moved to programs/winetest/include/wine or something under
whatever name it is not really a concern.

Perhaps we should move programs/winetest/wtmain.c to test/ and make
it a library similar to library/ and unicode/. This is what I did
with MSVC, eventhough I did it in programs/winetest instead.

 (or maybe you need a new
 category for Wine internal headers that don't get installed).

You mean for files like windef16.h?

Well, in the long run such files really belongs in the dlls/*
directories. In the extent that that can't they really are
Wine extension that might as well be used by any Winelib
application not just internally should IMHO be installed.

But yes, we certainly need some place to put them in the meantime,
since this isn't happing over night. However I think that they can
remain in include/wine/ until we move them one by one. See below.
 
  PS. Of course we could move include/*.h to include/wine/windows or
  something like that but then it is no real use and beside it ruins
  the cvs patch log. Better stick to the ugly include/wine/wine
  solution interally IMHO.
 
 Not an option. If we have to move the files we'll move them; it's
 better to avoid moving things around too much. but we shouldn't let
 CVS limitations impose a broken structure. 

OK.

 Now if we can find a non
 broken structure that also doesn't involve moving files that's better.

Perhaps this would work:

mkdir library/wine
mv include/wine/{library,port}.h library/wine

mkdir unicode/wine
mv include/wine/unicode.h unicode/wine

mkdir dlls/ntdll/wine
mv include/wine/exception.h dlls/ntdll/wine

Sure it would mean a few more -I internally but it
would not be that bad.

Then during install all these files as well as some files from
include/wine/ ends up in /usr/include/wine
and the include/ files end up in /usr/include/wine/windows
or /usr/include/wine/win32 not sure what is best.

That would require moving a minimum of files. As before eventually
far in the future include/wine/ would be empty. Transition done.

We needn't move everything right now either. As mentioned before
running the Wine test with the Microsoft headers currently AFAICS
only requires that we fix wine/{exception,test,unicode}.h.

Of course compiling every DLL with the Microsoft headers requires
fixing all of include/wine/ but then as long as we have a solution
when we get where eventually is good enough IMHO, doing that is no
particular rush. Having the Wine tests work properly sooner
rather than later is much more important though.




Re: using native regedit

2002-10-22 Thread Alexandre Julliard
Jeff Smith [EMAIL PROTECTED] writes:

 Found something: it works if I fully qualify the command name.
 
 I was trying this in the DllOverrides / command-line respectively:
   regedit.exe = native, builtin
   --dll regedit.exe=n,b
 
 What I have to do for it to work is this:
   C:\\Windows\\regedit.exe = native, builtin
   --dll C:\\Windows\\regedit.exe=n,b
 
 I still do not think this is *exactly* as it should be,
 but I'm finally on the track to figuring it out.

It's the way it's supposed to work, because it mimics the way
loadorder works for dlls: a simple regedit.exe matches only if
regedit is in the system directory. Otherwise you need to specify the
full path, or use a wildcard entry like *regedit.exe.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: [RFC] Adding an include/wine/wine directory?

2002-10-22 Thread Alexandre Julliard
Patrik Stridvall [EMAIL PROTECTED] writes:

  Patrik Stridvall [EMAIL PROTECTED] writes:
  
   We could do that following instead:
   (1) /usr/include/wine = /usr/include/wine/windows
   (2) /usr/include/wine/wine = /usr/include/wine/windows/wine
   (3) /usr/include/wine/wine/wine = /usr/include/wine
   
   Also note (2) will disappear eventually.
  
  Well, it's somewhat better, but it's still too complex IMO. 
 
 Where is the complexity?

The complexity is that you create up to 3 levels of directories under
/usr/include, I don't think such a deep hierarchy is really
necessary.

 I can't see any principal difference between
 /usr/include/wine_foo.h or /usr/include/wine/foo.h

Well, the difference is that you can then use /usr/include/wine for
the Windows includes.

 Of course compiling every DLL with the Microsoft headers requires
 fixing all of include/wine/ but then as long as we have a solution
 when we get where eventually is good enough IMHO, doing that is no
 particular rush. Having the Wine tests work properly sooner
 rather than later is much more important though.

I agree getting the Wine tests to work soon is important, but you
don't really need the final header organization for that; you can
easily work around the current problem by copying files around or
specifying an absolute -I option.

I don't think we have found a fully satisfying solution yet, and IMO
the situation will be clearer when the dll separation is finished and
the loose ends are cleaned up, so I'd prefer to wait until then to
decide on the final structure. (And my secret hope is that by then we
will be able to switch to Subversion which should make renaming files
a lot easier; but that's another topic...)

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: using native regedit

2002-10-22 Thread Sylvain Petreolle
I have the same problem here. It seems that something is going wrong 
in config file reading.

The notepad.exe entry specified in documentation/samples/config doesn't
work too.

 Well, if my wetware HTML parser is working today, I think I
 understand
 your problem.  Just rename regedit.exe to winregedit.exe (or
 whatever you like),
 or create a symlink or copy of the native version.  (some configs
 don't respect
 symlinks).
 


___
Do You Yahoo!? -- Une adresse yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com




Re: [RFC] Adding an include/wine/wine directory?

2002-10-22 Thread Dimitrie O. Paun
On October 22, 2002 07:12 pm, Alexandre Julliard wrote:
 decide on the final structure. (And my secret hope is that by then we
 will be able to switch to Subversion which should make renaming files
 a lot easier; but that's another topic...)

Oh my, you think it's going to take us _that_ long?!? :P

-- 
Dimi.





Re: Third listview status update

2002-10-22 Thread Dimitrie O. Paun
On October 22, 2002 06:16 am, Rein Klazes wrote:
 On the positive side background colouring for new messages works now.

;)

[snip]
 - updates are from bottom to top; this gets some getting used to;

Fixed in one of the W-patches.

 Crash 2:
 | err:ntdll:RtlpWaitForCriticalSection section 0x4fcf28 ? wait timed out,
 | retrying (60 sec) tid=087eedb8 Unhandled exception: page fault on write
 | access to 0x1784562e in 32-bit code (0x4272392f). In 32-bit mode.
 | 0x4272392f (_end+0xdbf6f): addb %bh,0x957c4272(%ebx,%edi,1)
 | Register dump:
 |  CS:0023 SS:002b DS:002b ES:002b FS:008f GS:1587
 |  EIP:4272392f ESP:40741c5c EBP:40741cb4 EFLAGS:00210a86(  R- 00O I S -
 | -P1 ) EAX:427d1354 EBX:40be1094 ECX:41a7ff3c EDX:0002
 |  ESI:41a7ff3c EDI:414a0328
 | Backtrace:
 | =0 0x4272392f (_end+0xdbf6f) (ebp=40741cb4)
 |   1 0x40b7db77 (DPA_QuickSort+0xf3(lpPtrs=0x414bd320, l=0xd1, r=0xd2,
 | pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2077] in
 | comctl32.dll.so) (ebp=40741ce0) 2 0x40b7db1c
 | (DPA_QuickSort+0x98(lpPtrs=0x414bd320, l=0xd1, r=0xd4,
 | pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2072] in
 | comctl32.dll.so) (ebp=40741d14) 3 0x40b7db35
 | (DPA_QuickSort+0xb1(lpPtrs=0x414bd320, l=0xcc, r=0xd4,
 | pfnCompare=0x40b9728c, lParam=0x10023) [comctl32undoc.c:2075] in
 | comctl32.dll.so) (ebp=40741d5c) 4 0x40b7db1c


The line numbers look strage. What version of dlls/comctl32/comctl32undoc.c
did you run it with?

-- 
Dimi.





eTax status report

2002-10-22 Thread Ben Stanley

Hi,

I have now completed using the eTax program from the Australian Taxation
Office (http://etax.ato.gov.au) under wine, and have some concluding
remarks.

* Yellow Note Popups over buttons: these notes pop up almost immediately
you put your mouse over a button, and if you click on them, the button
does not respond. This causes great user frustration, as you point the
mouse at a button, click the mouse, and nothing happens because the
popup note appeared and stole the mouse click. Perhaps this could be
solved by moving the popup note position so that it's not directly under
the mouse pointer? I don't know if this is an etax problem or a wine
problem. Workaround: move mouse over button and click again, or be very
quick with your mouse click the first time.

* ListView (tree): when hovering over items with long names, the same
popup note appears, and also greedily steals mouse clicks, preventing
you from selecting the item underneath. The note must pass the mouse
click through for proper handling by the list item. Workaround: Wait for
popup to disappear and then click on list item.

* I had some refresh issues with the print preview section of the
program. When it draws a page for the first time, all form fields appear
to be filled in correctly, but when scrolling the form fields are often
left blank when they should be filled in. This may be verified by going
forward and then back a page, to force a complete re-draw of the
original page, and verifying that fields which were previously blank are
now drawn properly.

* I didn't try to submit the tax return under wine, as I did not know
about the wine integration of the web browser which would be used to
perform the submission. (I failed to download the security codes under
Mozilla, so I resorted to a Windows box for downloanding security codes
and submission.)

* Help problems, partly to do with launching winhelp from within etax,
and also partly because WINE help can't yet read the etax help file
properly.

I used etax in the desktop windowing mode, as I had problems with both
the managed and unmanaged modes. I set all dlls to builtin (except for
*).

This is the first year that I have been able to use eTax to do the tax
return. I want to thank all of the wine contributors for making it
possible! Last year I gave up and used a Windows box for the whole
thing.

Ben Stanley






Re: [RFC] Adding an include/wine/wine directory?

2002-10-22 Thread Francois Gouget
On Mon, 21 Oct 2002, Patrik Stridvall wrote:
[...]
 However there are at least two intresting ways to compile and
 run the tests on Windows.
 1. Compile using the Wine headers.
 2. Compile using the Microsoft headers.

 Currently only (1) works in a portable way.

 To get (2) to work I had to add the directory
 of the Microsoft includes to the begining of
 the include path. This is not very portable
 since it differs from installation to installation.
 I have currently hardcoding my specific directory.

Actually there is a portable solution. Here's what i did when I compiled
the Wine tests on Windows:

Run 'vcvars32.bat' first. When you install Microsoft Visual C++ you
can either tell it to add environment variables with the useful stuff
(either in autoexec.bat or the registry for NT), or just rely on
'vcvars32.bat'. This script is usually in the include directory:
c:\Program Files\Microsoft Visual Studio\VC98\include\vcvars32.bat

Well, so I run it on the command line and then in the makefile (a realy
.mak file) I put:

INCLUDE=$(TOTOP)\include;$(INCLUDE)

Then I don't use -I at all and the compiler will automatically use the
environment variable. If using the .mak file directly from the IDE you
don't even need to run vcvars32.bat,

However I still had include order problems: part of the headers were
coming from MS and part from Wine but did not have time to look into it
in detail. So I ended up extracting the tests from the Wine tree. But if
you are able to avoid the header mixup then the above could work.


-- 
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
   If it stinks, it's chemistry. If it moves, it's biology.
  If it does not work, It's computer science.





Re: using native regedit

2002-10-22 Thread Jeff Smith
I agree that the example should be changed to indicate a
'valid' entry if this is the way it is supposed to be.
This would have saved me a lot of trouble and confusion.
Now I can work on getting native regedit working again.

 -- Jeff S.


Shouldn't we update the sample entry in documentation/sample/config ?

 ; you can specify applications too
-*\\notepad.exe  = native, builtin
+notepad.exe  = native, builtin
 ; default for all other dlls
 * = builtin, native

 It's the way it's supposed to work, because it mimics the way
 loadorder works for dlls: a simple regedit.exe matches only if
 regedit is in the system directory. Otherwise you need to specify the
 full path, or use a wildcard entry like *regedit.exe.

 --
 Alexandre Julliard
 [EMAIL PROTECTED]


_
Protect your PC - get McAfee.com VirusScan Online 
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963




Impressive success

2002-10-22 Thread John K. Hohm
I just got an ATAPI Plextor PlexWriter 40/12/40A (which rocks), and
Plextor's Win32-only firmware updater worked flawlessly in wine, a few
months old CVS.  Kudos to all involved in supporting that sort of access!





Re: Third listview status update

2002-10-22 Thread Dimitrie O. Paun
On October 22, 2002 11:45 pm, Rein Klazes wrote:
 On Tue, 22 Oct 2002 19:38:41 -0400, you wrote:
  The line numbers look strage. What version of
  dlls/comctl32/comctl32undoc.c did you run it with?

 rev 1.71, latest cvs.

Interesting. Listen, can you please retry with _all_ my
latest patches, there were 2 very serious bugs that
might have caused those problems, in some strange ways.

Thanks.

-- 
Dimi.





Re: Third listview status update

2002-10-22 Thread Dimitrie O. Paun
On October 22, 2002 06:16 am, Rein Klazes wrote:
 - the green background extends as far as the text; with native
 comctl32 is extends the whole column;
 - A line that has both a green background and is marked slected will
 display as white text on green backgound; With native comctl32 is
 shows as white text on dark blue background (same as selected);

I need good  bad screenshots of these things to understand what
is wrong, and what needs to get done.

-- 
Dimi.





Treeview fix

2002-10-22 Thread Jeff Smith
Intro:
Once I got wine to finally execute the native regedit,
treeview was bringing it down.

Background:
I discovered treeview uses DSA's and Dimi recently
changed the max element number in DSA's to 0x7fff (SHRT_MAX).
Note this value has the special meaning in DSA_InsertPtr
functions of 'add new element to end of array'.

Problem:
INT_MAX (0x7fff) was being passed from treeview
to DSA_InsertPtr.  This caused failure returns and
eventually a seg fault.

Conclusion:
This patch fixes the problem (according to the style of other
calls to DSA_InsertPtr), and native regedit now works.

Questions for further thought:
I wonder, should 0x7fff be used explicitly, or should
SHRT_MAX be used in places like this instead?

Changelog:
Treeview fix due to change in maximum DSA size.

-- Jeff S.


Index: dlls/comctl32/treeview.c
===
RCS file: /home/wine/wine/dlls/comctl32/treeview.c,v
retrieving revision 1.103
diff -u -r1.103 treeview.c
--- dlls/comctl32/treeview.c	6 Sep 2002 19:41:18 -	1.103
+++ dlls/comctl32/treeview.c	23 Oct 2002 04:12:53 -
 -949,7 +949,7 
if (!newItem)
	return NULL;

-if (DPA_InsertPtr(infoPtr-items, INT_MAX, newItem) == -1)
+if (DPA_InsertPtr(infoPtr-items, 0x7fff, newItem) == -1)
{
	COMCTL32_Free(newItem);
	return NULL;
 -2885,7 +2885,7 

for (child = item-firstChild; child != NULL; child = 
child-nextSibling)
{
-	if (DPA_InsertPtr(list, INT_MAX, child) == -1)
+	if (DPA_InsertPtr(list, 0x7fff, child) == -1)
	{
	DPA_Destroy(list);
	return NULL;


_
Get faster connections -- switch to MSN Internet Access! 
http://resourcecenter.msn.com/access/plans/default.asp




Re: Treeview fix

2002-10-22 Thread Dimitrie O. Paun
On October 23, 2002 12:44 am, Jeff Smith wrote:
 I discovered treeview uses DSA's and Dimi recently
 changed the max element number in DSA's to 0x7fff (SHRT_MAX).
 Note this value has the special meaning in DSA_InsertPtr
 functions of 'add new element to end of array'.

This was my initial reaction to this thing, as well. But I
think my fix (sent earlier with Subject DPA_InsertPtr) is
better. Please try it out -- it should fix your problem.

BTW, I've also audited all other uses of DPA_InsertPtr,
and they are fine. We should be back to normal now (well,
after my patch is applied, of course).

-- 
Dimi.





Re: Treeview fix

2002-10-22 Thread Jeff Smith
Oops, your previous message got lost in the shuffle...
I'm sure anything is better than the little patch I wrote.
I was just taking a minimalist approach to get treeview working.

-- Jeff S

Dimi wrote:

On October 23, 2002 12:44 am, Jeff Smith wrote:
 I discovered treeview uses DSA's and Dimi recently
 changed the max element number in DSA's to 0x7fff (SHRT_MAX).
 Note this value has the special meaning in DSA_InsertPtr
 functions of 'add new element to end of array'.

This was my initial reaction to this thing, as well. But I
think my fix (sent earlier with Subject DPA_InsertPtr) is
better. Please try it out -- it should fix your problem.

BTW, I've also audited all other uses of DPA_InsertPtr,
and they are fine. We should be back to normal now (well,
after my patch is applied, of course).

--
Dimi.


_
Surf the Web without missing calls! Get MSN Broadband.  
http://resourcecenter.msn.com/access/plans/freeactivation.asp




Re: fairly old wine regression: no$gmb no longer works

2002-10-22 Thread Sylvain Petreolle
did you try with CVS ? I will try it in few hours.

please report your current version.

 --- Jonathan Gevaryahu [EMAIL PROTECTED] a
écrit :  In wine builds from early? last year until January 29th,
2002, no$gmb
 
 (Nocash gameboy emulator) worked reasonably in wine (yes it would
 crash 
 if you did 'animate trace' for too long, but that's a seperate
 issue). 
 the commit which broke it was to wine/dlls/comctl32/status.c, on
 January 
 29th at 11:54 am.
 However, the fix that was done to status.c seems to be valid (later 
 fixes to status.c do the same as what the fix did, I believe), so I 
 suspect that the bug stems from some other issue which causes it to
 need 
 the incorrect behavior in status.c in order to work. (personally I
 think 
 it was something done during January that makes it need the incorrect
 
 status.c behavior, but I'm probably wrong)
 
 The nocash website is http://www.work.de/nocash/ or
 http://nocash.work.de/
 
 Jonathan Gevaryahu
 
  

___
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com