Re: Read of memory location 0x7ffe0000 in windows NT

2002-04-02 Thread David Welch

On Tue, Apr 02, 2002 at 12:11:09AM +0200, Laurent Pinchart wrote:
 Hi everybody,
 
 I've stumbled accross some code which reads a dword at memory location 
 0x7ffe000, which causes the program to crash and the wine debugger to start.
 
 After some investigation, it seems that reading the memory location 
 0x7ffe should return KeTickCount.LowPart to the user process. Has anyone 
 ever heard about that ? I was wondering if it was a native windows NT 
 behaviour, or if it was done by a special kernel-space exception handler 
 installed by the program.
 
It's a native NT thing; a page of memory at that address is shared 
between user and kernel space. The definition in the w2k ddk.




Re: Read of memory location 0x7ffe0000 in windows NT

2002-04-02 Thread Laurent Pinchart



Hi everybody,

I've stumbled accross some code which reads a dword at memory location 
0x7ffe000, which causes the program to crash and the wine debugger to start.

After some investigation, it seems that reading the memory location 
0x7ffe should return KeTickCount.LowPart to the user process. Has anyone 
ever heard about that ? I was wondering if it was a native windows NT 
behaviour, or if it was done by a special kernel-space exception handler 
installed by the program.

It's a native NT thing; a page of memory at that address is shared 
between user and kernel space. The definition in the w2k ddk.

I found it, thank you very much.

BTW does anyone know where I can find information about KeTickCount ? 
I'd like to understand the meaning and purpose of the 3 fields (LowPart, 
High1Time, High2Time). There's nothing about it in the MSDN.

Laurent Pinchart






Where is cprof

2002-04-02 Thread Luca Fini

I've seen that the Wine development team has also developed a profiler for 
multi-threaded programs.

I'd be very interested in using it to profile an application which I'm 
developing (with no connection with wine itlself).

Unfortunately the site which is suppose to be the cprof home is at Corel, 
which I understand is no longer in business.

Where can I found a workable version of cprof?

Many thanks for any reoply.

l.f.

-- 
--
   -- ) Luca FiniTel: +39 055 2752 307
 ___|\  Osservatorio Astrofisico di Arcetri  Fax: +39 055 2752 292
/   |   | |-_   L.go E.Fermi, 5 +-
(___|___//___)  50125 Firenze  /   WWW: http://www.arcetri.astro.it/~lfini
 (_)  (_)   Italia/ e-mail: [EMAIL PROTECTED]
-+





Re: dynamic .fon conversion

2002-04-02 Thread Huw D M Davies

On Sat, Mar 30, 2002 at 02:08:37AM -0800, Francois Gouget wrote:
 On Sat, 30 Mar 2002, David Chow wrote:
 
  Hi,
 
  I am new to Wine develop, I wish to investigate and join, the following
  is the topic I am interested in.
 
  Does Wine develpers planning to implement .fon files support? I mean
  loading it dynamically? Since Xfree86 4 supports true type fonts, and
  most of the Linux distribution are now using XFree86-4 . We can actually
  load these fonts into the Xsever dynamically at run time providing we
  have some dynamic conversion between the font files.
 
This issue was raised during WineConf. Wine is now able to use
 FreeType to perform client-side rendering of TrueType fonts. This
 results in fonts that look really great, and you can even get
 anti-aliasing.
Now, IIRC (Huw will correct me if I'm wrong), it was said that
 FreeType also supports Postscript fonts and .fon fonts. So the way to go
 would be to extend Wine's FreeType support to .fon fonts.

Yes, that's the idea.  At the moment we ignore any font that isn't
sfnt format (that's anything that isn't TT or OpenType).  The issues
are that we need to implement something sensible for GetGlyphOutline
and GetOutlineTextMetrics for bitmap or Type1 fonts.

Huw.





Re: Unicode, i18n support

2002-04-02 Thread Waldek Hebisch

 misunderstood me and decided that I propose to use code page 20866
 instead of 1251 for russian locale under Wine. But that's not the case.
 I only proposed to create filenames on disk in encoding used natively
 in Linux.
I think that the right way is to have code conversion option in 
wine.config, as one of Wine mount options. That way we will be able 
to handle most weird configuration (like UTF-8 on native Linux, cp 1251
on removable media).


-- 
  Waldek Hebisch
[EMAIL PROTECTED]or [EMAIL PROTECTED] 




Re: dynamic .fon conversion

2002-04-02 Thread Dmitry Timoshkov

Huw D M Davies [EMAIL PROTECTED] wrote:

 Now, IIRC (Huw will correct me if I'm wrong), it was said that
  FreeType also supports Postscript fonts and .fon fonts. So the way to go
  would be to extend Wine's FreeType support to .fon fonts.
 
 Yes, that's the idea.  At the moment we ignore any font that isn't
 sfnt format (that's anything that isn't TT or OpenType).  The issues
 are that we need to implement something sensible for GetGlyphOutline
 and GetOutlineTextMetrics for bitmap or Type1 fonts.

I would expect that for at least very first time that functions will
fail for bitmap fonts and return glyph data in GGO_BEZIER format for
Type1 fonts. Later we can add cubic - quadratic spline conversion
routines and some special handling for bitmap fonts. Most applications
don't use or provide advanced vector graphics at all. As a side effect
of adding support for bitmap fonts will be retired x11drv font support.
and a possibility for real WYSIWYG in printing.

-- 
Dmitry.







[PATCH] NtQueryInformationProcess ProcessDebugPort

2002-04-02 Thread Laurent Pinchart

Hi,

Here's a small patch which implements NtQueryInformationProcess properly for 
ProcessInformationClass set to ProcessDebugPort.

It fixes cases when ProcessInformationLength != 4, but doesn't check if a 
debugger is present or not. Should it ? I don't expect that anyone would like 
to run Visual Studio on Wine to debug a Win32 program :-)

Laurent Pinchart


--- dlls/ntdll/nt.c	9 Mar 2002 23:39:09 -	1.38
+++ dlls/ntdll/nt.c	2 Apr 2002 17:15:43 -
 -116,13 +116,32 
 	IN ULONG ProcessInformationLength,
 	OUT PULONG ReturnLength)
 {
-	FIXME((0x%08x,0x%08x,%p,0x%08lx,%p),stub!\n,
-		ProcessHandle,ProcessInformationClass,ProcessInformation,ProcessInformationLength,ReturnLength
-	);
-	/* These are not the debuggers you are looking for. */
-	if (ProcessInformationClass == ProcessDebugPort)
-	/* set it to 0 aka no debugger to satisfy copy protections */
-	memset(ProcessInformation,0,ProcessInformationLength);
+	NTSTATUS ret = STATUS_SUCCESS;
+	ULONG len = 0;
+
+	switch (ProcessInformationClass) {
+	case ProcessDebugPort:
+		/* These are not the debuggers you are looking for. */
+		/* set it to 0 aka no debugger to satisfy copy protections */
+		if (ProcessInformationLength == 4)
+		{
+			memset(ProcessInformation,0,ProcessInformationLength);
+			len = 4;
+		}
+		else
+			retv = STATUS_INFO_LENGTH_MISMATCH;
+		break;
+	default:
+		FIXME((0x%08x,0x%08x,%p,0x%08lx,%p),stub!\n,
+			ProcessHandle,ProcessInformationClass,
+			ProcessInformation,ProcessInformationLength,
+			ReturnLength
+		);
+		break;
+	}
+
+	if (ReturnLength)
+		*ReturnLength = len;
 
 	return 0;
 }



Re: [PATCH] NtQueryInformationProcess ProcessDebugPort

2002-04-02 Thread Dimitrie O. Paun

On April 2, 2002 12:17 pm, Laurent Pinchart wrote:
 Hi,

 Here's a small patch which implements NtQueryInformationProcess properly
 for ProcessInformationClass set to ProcessDebugPort.

 It fixes cases when ProcessInformationLength != 4, but doesn't check if a
 debugger is present or not. Should it ? I don't expect that anyone would
 like to run Visual Studio on Wine to debug a Win32 program :-)

Why not??? I think that would be wy cool!

-- 
Dimi.





Re: error: no implementation for WININET.dll.102(InternetGetConnectedState)

2002-04-02 Thread Jason M Bell

okay - Alexandre's solution did it.

After turning on --debugmsg +loaddll,  I noticed that wininet.dll was
being loaded from c:\windows\system.  I'm running wine from a UNIX
partition.

adding wininet  = builtin, native
to config fixed the problem.

thanks,
Jason




wine/debugger/stabs.c patch breaks FreeBSD

2002-04-02 Thread Gerald Pfeifer

The following patch to wine/debugger/stabs.c breaks FreeBSD:

  revision 1.45
  date: 2002/04/02 02:38:37;  author: julliard;  state: Exp;  lines: +2 -0
  Check ELF signature before processing file.

  stabs.c: In function `DEBUG_ProcessElfFile':
  stabs.c:1232: `ELFMAG' undeclared (first use in this function)
  stabs.c:1232: (Each undeclared identifier is reported only once
  stabs.c:1232: for each function it appears in.)
  stabs.c:1232: `SELFMAG' undeclared (first use in this function)

In /usr/include/sys/elf_common FreeBSD has

  /* Values for the magic number bytes. */
  #define ELFMAG0 0x7f
  #define ELFMAG1 'E'
  #define ELFMAG2 'L'
  #define ELFMAG3 'F'

but not ELFMAG and nothing similiar to SELFMAG.

Gerald
-- 
Gerald Jerry [EMAIL PROTECTED] http://www.dbai.tuwien.ac.at/~pfeifer/





wine/dlls/winedos/dosvm.c breaks FreeBSD

2002-04-02 Thread Gerald Pfeifer

The following patch breaks building on FreeBSD 4.5:

  revision 1.15
  date: 2002/04/01 20:56:15;  author: julliard;  state: Exp;  lines: +15 -4
  Jukka Heinonen [EMAIL PROTECTED]
  Routine DOSVM_Wait now wakes up if new events are queued and it
  returns if it processed any queued events.

with the following error:

  /usr/bin/gcc -c -I. -I. -I../../include -I../../include  -g -O2 -Wall
  -mpreferred-stack-boundary=2 -fPIC -D__WINE__  -D_REENTRANT
  -I/usr/X11R6/include -o dosvm.o dosvm.c
  dosvm.c: In function `DOSVM_Init':
  dosvm.c:687: `event_notifier' undeclared (first use in this function)
  dosvm.c:687: (Each undeclared identifier is reported only once
  dosvm.c:687: for each function it appears in.)
  gmake: *** [dosvm.o] Error 1

because event_notifier is defined within an #ifdef MZ_SUPPORTED covering
most of this file which is not active on FreeBSD, but -- after this patch
-- referenced in code that *is* active on FreeBSD.

I'd appreciate could you have a look...

Gerald
-- 
Gerald Jerry [EMAIL PROTECTED] http://www.dbai.tuwien.ac.at/~pfeifer/





MaskBlt function almost working

2002-04-02 Thread Lonnie Cumberland

Hello All,

I have come across a function called MaskBlt which I have tried to
implement in the grphics/bitblt.c

The functions works, but still has a few problems and was wondering
if someone had any experience with this function so that I can try to
see how to fix it.

--
#defineFORE_ROP3(ROP4)(0x00FF(ROP4))
//#defineBACK_ROP3(ROP4)(ROP3FromIndex(SwapROP3_SrcDst
(((ROP4)24
#defineBACK_ROP3(ROP4)(ROP3FromIndex(SwapROP3_SrcDst
((ROP4)24)))

//
//See the Raster operations in MSDN
//
DWORD ROP3FromIndex(DWORD dwIndex)
{
static DWORD ROP3Table[256] =
{
0x0042, 0x00010289,
0x00020C89, 0x000300AA,
0x00040C88, 0x000500A9,
0x00060865, 0x000702C5,
0x00080F08, 0x00090245,
0x000A0329, 0x000B0B2A,
0x000C0324, 0x000D0B25,
0x000E08A5, 0x000F0001,
0x00100C85, 0x001100A6,
0x00120868, 0x001302C8,
0x00140869, 0x001502C9,
0x00165CCA, 0x00171D54,
0x00180D59, 0x00191CC8,
0x001A06C5, 0x001B0768,
0x001C06CA, 0x001D0766,
0x001E01A5, 0x001F0385,
0x00200F09, 0x00210248,
0x00220326, 0x00230B24,
0x00240D55, 0x00251CC5,
0x002606C8, 0x00271868,
0x00280369, 0x002916CA,
0x002A0CC9, 0x002B1D58,
0x002C0784, 0x002D060A,
0x002E064A, 0x002F0E2A,
0x0030032A, 0x00310B28,
0x00320688, 0x00330008,
0x003406C4, 0x00351864,
0x003601A8, 0x00370388,
0x0038078A, 0x00390604,
0x003A0644, 0x003B0E24,
0x003C004A, 0x003D18A4,
0x003E1B24, 0x003F00EA,
0x00400F0A, 0x00410249,
0x00420D5D, 0x00431CC4,
0x00440328, 0x00450B29,
0x004606C6, 0x0047076A,
0x00480368, 0x004916C5,
0x004A0789, 0x004B0605,
0x004C0CC8, 0x004D1954,
0x004E0645, 0x004F0E25,
0x00500325, 0x00510B26,
0x005206C9, 0x00530764,
0x005408A9, 0x00550009,
0x005601A9, 0x00570389,
0x00580785, 0x00590609,
0x005A0049, 0x005B18A9,
0x005C0649, 0x005D0E29,
0x005E1B29, 0x005F00E9,
0x00600365, 0x006116C6,
0x00620786, 0x00630608,
0x00640788, 0x00650606,
0x00660046, 0x006718A8,
0x006858A6, 0x00690145,
0x006A01E9, 0x006B178A,
0x006C01E8, 0x006D1785,
0x006E1E28, 0x006F0C65,
0x00700CC5, 0x00711D5C,
0x00720648, 0x00730E28,
0x00740646, 0x00750E26,
0x00761B28, 0x007700E6,
0x007801E5, 0x00791786,
0x007A1E29, 0x007B0C68,
0x007C1E24, 0x007D0C69,
0x007E0955, 0x007F03C9,
0x008003E9, 0x00810975,
0x00820C49, 0x00831E04,
0x00840C48, 0x00851E05,
0x008617A6, 0x008701C5,
0x008800C6, 0x00891B08,
0x008A0E06, 0x008B0666,
0x008C0E08, 0x008D0668,
0x008E1D7C, 0x008F0CE5,
0x00900C45, 0x00911E08,
0x009217A9, 0x009301C4,
0x009417AA, 0x009501C9,
0x00960169, 0x0097588A,
0x00981888, 0x00990066,
0x009A0709, 0x009B07A8,
0x009C0704, 0x009D07A6,
0x009E16E6, 0x009F0345,
0x00A000C9, 0x00A11B05,
0x00A20E09, 0x00A30669,
0x00A41885, 0x00A50065,
0x00A60706, 0x00A707A5,
0x00A803A9, 0x00A90189,
0x00AA0029, 0x00AB0889,
0x00AC0744, 0x00AD06E9,
0x00AE0B06, 0x00AF0229,
0x00B00E05, 0x00B10665,
0x00B21974, 0x00B30CE8,
0x00B4070A, 0x00B507A9,
0x00B616E9, 0x00B70348,
0x00B8074A, 0x00B906E6,
0x00BA0B09, 0x00BB0226,
0x00BC1CE4, 0x00BD0D7D,
0x00BE0269, 0x00BF08C9,
0x00C000CA, 0x00C11B04,
0x00C21884, 0x00C3006A,
0x00C40E04, 0x00C50664,
0x00C60708, 0x00C707AA,
0x00C803A8, 0x00C90184,
0x00CA0749, 0x00CB06E4,
0x00CC0020, 0x00CD0888,
0x00CE0B08, 0x00CF0224,
0x00D00E0A, 0x00D1066A,
0x00D20705, 0x00D307A4,
0x00D41D78, 0x00D50CE9,
0x00D616EA, 0x00D70349,
0x00D80745, 0x00D906E8,
0x00DA1CE9, 0x00DB0D75,
0x00DC0B04, 0x00DD0228,
0x00DE0268, 0x00DF08C8,
0x00E003A5, 0x00E10185,
0x00E20746, 0x00E306EA,
0x00E40748, 0x00E506E5,
0x00E61CE8, 0x00E70D79,
0x00E81D74, 0x00E95CE6,
0x00EA02E9, 0x00EB0849,
0x00EC02E8, 0x00ED0848,
0x00EE0086, 0x00EF0A08,
0x00F00021, 0x00F10885,
0x00F20B05, 0x00F3022A,
0x00F40B0A, 0x00F50225,
0x00F60265, 0x00F708C5,
0x00F802E5, 0x00F90845,
0x00FA0089, 0x00FB0A09,
0x00FC008A, 0x00FD0A0A,
0x00FE02A9, 0x00FF0062,
};

return ROP3Table[dwIndex0xFF];
}

BYTE SwapROP3_SrcDst(BYTE bRop3)
{
// swap 1,2 bit and 5,6 bit
typedef struct
{
unsigned bit0 : 1;
unsigned bit1 : 1;
unsigned bit2 : 1;

Re: error: no implementation for WININET.dll.102(InternetGetConnectedState)

2002-04-02 Thread Dimitrie O. Paun

On April 2, 2002 11:49 am, Jason M Bell wrote:
 okay - Alexandre's solution did it.

 After turning on --debugmsg +loaddll,  I noticed that wininet.dll was
 being loaded from c:\windows\system.  I'm running wine from a UNIX
 partition.

 adding wininet  = builtin, native
 to config fixed the problem.

Shouldn't we default to builtin?

-- 
Dimi.





Re: MaskBlt function almost working

2002-04-02 Thread Dimitrie O. Paun

On April 2, 2002 12:48 pm, Lonnie Cumberland wrote:
 Hello All,
[...]
 By the way, I found this function at:

 http://www.codeproject.com/bitmap/maskblt.asp

 and modified it to work with wine.

What about the license? Is it LGPL compatible?

-- 
Dimi.





Re: MaskBlt function almost working

2002-04-02 Thread Tels

-BEGIN PGP SIGNED MESSAGE-

Moin,

On 02-Apr-02 Tels carved into stone:
 -BEGIN PGP SIGNED MESSAGE-
 
 Moin,
 
 On 02-Apr-02 Dimitrie O. Paun carved into stone:
 On April 2, 2002 12:48 pm, Lonnie Cumberland wrote:
 Hello All,
 [...]
 By the way, I found this function at:

 http://www.codeproject.com/bitmap/maskblt.asp

 and modified it to work with wine.
 
 What about the license? Is it LGPL compatible?
 
 I have searched the entire site and I couldn't find a single bit about
 the
 licence that submitted (or otherwise available code at that site) falls
 under. It is heavy MS-centric, so I guess it is not very /L?GPL/
 friendly.
 
 Best bet would probably be to send them an email and ask ;)

Ah, I overread this in the FAQ:

If you post to CodeProject then you retain copyright of your article and
code. You also give CodeProject permission to use it in a fair manner and
also permit all developers to freely use the code in their own
applications. 

Note that we do not accept time limited or shareware contributions: All
code that is available from our site must be available for use for free.

IANLSBIPAH (I am no Licence specialist, but I play one at home) so somebody
else could chime in and tell us if that is compatible. Also aksing the
original author nonetheless because it is kind and friendly wouldn#t hurt,
either.

Cheers,

Tels

- --
 Why do you go so slowly? Do you think this is some kind of game?
 PGP key available on http://bloodgate.com/tels.asc or via email.
 perl -MDev::Bollocks -e'print Dev::Bollocks-rand(),\n'
 widespreadedly synthesize second-generation markets


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: When cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl.

iQEVAwUBPKoBpHcLPEOTuEwVAQEhKgf+OyAxJsidtYoY9O+5r7OjYK9RcKFVF8ED
SiwlbJsohA7Ip681sFovCrcixli/11LuImHSbHCBhgunocq/fAmsSUbhR7gYcd0F
irzaDbRFFHvVUadLBdCecDeaI4FBKK22+dW7zl2uiShfQMb+BgkAsWtOmwBBRLlW
2qaStWbbNXL+XbHal/m9qGlQ+G4zHOpd7mz0li8B/NMWdbmIv5pFYP2Fs+hKE5t4
1546AShXiFyj36cdB9iB71BK2nmYtiECB0b4G7HhR8foT7JDfIZUxP+0LrC14pfh
ITOczNEbZzaVs+lIg3tSdM6nymzaCHHIQWsxXMbtgJwbDd4RJcoxFA==
=FMIm
-END PGP SIGNATURE-




Re: [PATCH] NtQueryInformationProcess ProcessDebugPort

2002-04-02 Thread Eric Pouech

 It fixes cases when ProcessInformationLength != 4, but doesn't check if a
 debugger is present or not. Should it ? I don't expect that anyone would like
 to run Visual Studio on Wine to debug a Win32 program :-)
sdk's windbg already work, so why no VC++ debugger ?
btw, your patch will not compile (ret/retv)

A+




Re: wine/debugger/stabs.c patch breaks FreeBSD

2002-04-02 Thread Eric Pouech

Gerald Pfeifer a écrit :
 
 The following patch to wine/debugger/stabs.c breaks FreeBSD:
 
   revision 1.45
   date: 2002/04/02 02:38:37;  author: julliard;  state: Exp;  lines: +2 -0
   Check ELF signature before processing file.
that should fix it in a portable manner

Index: debugger/stabs.c
===
RCS file: /home/cvs/cvsroot/wine/wine/debugger/stabs.c,v
retrieving revision 1.45
diff -u -r1.45 stabs.c
--- debugger/stabs.c2 Apr 2002 02:38:37 -   1.45
+++ debugger/stabs.c2 Apr 2002 19:29:41 -
 -1229,7 +1229,10 
  * table.
  */
 ehptr = (Elf32_Ehdr*) addr;
-if (memcmp( ehptr-e_ident, ELFMAG, SELFMAG )) goto leave;
+if (ehptr-e_ident[0] != ELFMAG0 ||
+ehptr-e_ident[1] != ELFMAG1 ||
+ehptr-e_ident[2] != ELFMAG2 ||
+ehptr-e_ident[3] != ELFMAG3) goto leave;

 spnt = (Elf32_Shdr*) (addr + ehptr-e_shoff);
 shstrtab = (addr + spnt[ehptr-e_shstrndx].sh_offset);




Re: create process test (for review)

2002-04-02 Thread Eric Pouech

Alexandre Julliard a écrit :
 
 Eric Pouech [EMAIL PROTECTED] writes:
 
  +static int  get_file_name(char* buf, size_t len, const char* hint)
  +{
  +char*   ptr;
  +if (strcmp(winetest_platform, windows))
  +{
  +sprintf(buf, %s/%s, base, hint);
  +for (ptr = buf; *ptr; ptr++)
  +if (*ptr == '\\') *ptr = '/';
  +}
  +else
  +{
  +sprintf(buf, %s\\%s, base, hint);
  +for (ptr = buf; *ptr; ptr++)
  +if (*ptr == '/') *ptr = '\\';
  +}
  +//fprintf(stderr, resfile=%s\n, buf);
  +return 0;
  +}
 
 You should never do that kind of things. The platform must be used
 exclusively for todo tests, not for changing the test behavior. And
 backslashes should work fine under Wine too.
the point here is not really part of the test. I needed a way to
send back information from the child to the parent.
To minimize the scope of the test, I didn't want to use too many
Windows functions here, and decided to use libc file IO for that.
The encoding here is just to use the same absolute filename
(absolute because tests may change the current directory, so relative
paths are no good, name with libc semantics)

of course, I could use regular windows file name (or even another 
way of sharing information (registry, anon map, pipe...)), but I wanted
the test to be as independent as possible on other APIs

so, my final questions: what is your direction here: to test a specific
API, should we limit the scaffholding (provide by other APIs), or should
we just use them as freely as needed

My point here is that the more APIs we use, the more regressions we'll 
have in the tests after one evilish modification, hence complicating its
search. 

A+




multiple instance freezes

2002-04-02 Thread Lonnie Cumberland

Hello All,

I was trying to do a test of my Wine install, which is the latest
stable release, by starting up 2 different instances of Wine and
StarOffice 6.0 Beta for Windows as 2 different users.

what I have found is that the the first user running Wine SO6.0 will
start up just fine and even run with no problems. The second test
user can also start up the application but within just a few seconds
it freezes and I can do nothing.

Each test user has a complete directory structure for the windows to
run and I am not using any of the real windows stuff, just that which
came with wine.

I also find that the first user application can still run.

Is there something going on with the shared libraries of Wine and the
wine server?

Best regards,
Lonnie

-- 
 Lonnie Cumberland
 OutStep Technologies Incorporated
 EMAIL: [EMAIL PROTECTED]
  : [EMAIL PROTECTED]

 The Basis Express Virtual Office
   
 Data Backup and Recovery Services

 URL: http://www.basis-express.com

The Virtual Office without boundaries!!!








warn:wave:OSS_OpenDevice Another thread is trying to access audio...

2002-04-02 Thread Jan Dvorak

Hi,

attached patch fixes counter-strike/multiplayer halflife for latest wine
snapshots  CVS. It's probably not the Right Way (TM) but it works for me,
and it seems that it doesn't broke anything. 

Jan Dvorak





codeweavers wine and StarOffice 6.0 Beta

2002-04-02 Thread Lonnie Cumberland

Hello All,

Just a note.

I recently installed the codeweavers preview 5 wine version as a test
and found that it will not even run the windows StarOffice 6.0 Beta
so something has changed between that version and the WineHQ version.

I was unable to get any debug information as well because it froze my
screen.

Cheers,
Lonnie

-- 
 Lonnie Cumberland
 OutStep Technologies Incorporated
 EMAIL: [EMAIL PROTECTED]
  : [EMAIL PROTECTED]

 The Basis Express Virtual Office
   
 Data Backup and Recovery Services

 URL: http://www.basis-express.com

The Virtual Office without boundaries!!!








Re: create process test (for review)

2002-04-02 Thread Alexandre Julliard

Eric Pouech [EMAIL PROTECTED] writes:

 so, my final questions: what is your direction here: to test a specific
 API, should we limit the scaffholding (provide by other APIs), or should
 we just use them as freely as needed

I don't see any problem in using other APIs, that's just another way
to get them some more testing. And it is very important that the tests
behave exactly the same under Windows and Wine so that any difference
can be found. If we start having different code paths on different
platforms we can never be sure that we are actually testing the same
thing.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: IE6ALL.zip

2002-04-02 Thread Sylvain Petreolle

For me I installed IE6 with a few native DLLs.
But sometimes Web sites are opening into a loop.
They just appear as entirely loaded, but continue to
download things and end with unknown error as said by
IE. Even problems appear in 'About' box...

What do you need IE6 for ?

 --- Lonnie Cumberland [EMAIL PROTECTED] a écrit :
 Hello All,
 
 I have been trying to get the ie6 setup to run but
 keep running into
 many functions that do not seem to be implemented
 yet.
 
 Has anyone gotten IE6 installed under wine? If so
 then is there some
 where that I can just download the installed
 directories and unpack
 them in my wine-c structure?
 
 Thanks,
 Lonnie
 
 -- 
  Lonnie Cumberland
  OutStep Technologies Incorporated
  EMAIL: [EMAIL PROTECTED]
   : [EMAIL PROTECTED]
 
  The Basis Express Virtual Office

  Data Backup and Recovery Services
 
  URL: http://www.basis-express.com
 
 The Virtual Office without boundaries!!!
 
 
 
 
  

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




Re: [PATCH] NtQueryInformationProcess ProcessDebugPort

2002-04-02 Thread Laurent Pinchart

 sdk's windbg already work, so why no VC++ debugger ?
Then we'll probably have to implement NtQueryInformationProcess completely 
for ProcessDebugPort. Does anyone know what it should return ? The debugger 
process handle ?

 btw, your patch will not compile (ret/retv)

Sorry, I sent the wrong file. Here's the correct version.

Laurent Pinchart


--- nt.c	9 Mar 2002 23:39:09 -	1.38
+++ nt.c	2 Apr 2002 21:59:41 -
 -116,15 +116,34 
 	IN ULONG ProcessInformationLength,
 	OUT PULONG ReturnLength)
 {
-	FIXME((0x%08x,0x%08x,%p,0x%08lx,%p),stub!\n,
-		ProcessHandle,ProcessInformationClass,ProcessInformation,ProcessInformationLength,ReturnLength
-	);
-	/* These are not the debuggers you are looking for. */
-	if (ProcessInformationClass == ProcessDebugPort)
-	/* set it to 0 aka no debugger to satisfy copy protections */
-	memset(ProcessInformation,0,ProcessInformationLength);
+	NTSTATUS ret = STATUS_SUCCESS;
+	ULONG len = 0;
 
-	return 0;
+	switch (ProcessInformationClass) {
+	case ProcessDebugPort:
+		/* These are not the debuggers you are looking for. */
+		/* set it to 0 aka no debugger to satisfy copy protections */
+		if (ProcessInformationLength == 4)
+		{
+			memset(ProcessInformation,0,ProcessInformationLength);
+			len = 4;
+		}
+		else
+			ret = STATUS_INFO_LENGTH_MISMATCH;
+		break;
+	default:
+		FIXME((0x%08x,0x%08x,%p,0x%08lx,%p),stub!\n,
+			ProcessHandle,ProcessInformationClass,
+			ProcessInformation,ProcessInformationLength,
+			ReturnLength
+		);
+		break;
+	}
+
+	if (ReturnLength)
+		*ReturnLength = len;
+
+	return ret;
 }
 
 /**



Re: create process test (for review)

2002-04-02 Thread Francois Gouget

On Mon, 1 Apr 2002, Eric Pouech wrote:

 as already discussed a bit, here's a first shot at testing CreateProcess
 patch is made of two parts:
 - extension to existing C test framework to pass argc/argv to any test
 function
 - the test itself

   Just a minor point, but maybe you could replace:

ok(cmpChildInt(StartupInfoA, cb, startup.cb), NULL);

with

ok(cmpChildInt(StartupInfoA, cb, startup.cb), StartupInfoA.cb);

or even:

#define okChildInt(section,key,expected) \
do { \
int res=GetPrivateProfileIntA(section,key,!expected,resfile); \
ok(res==expected, section key : got %d instead of %d, \
res, expected); \
} while (0)

...


okChildInt(StartupInfoA, cb, startup.cb);

The nice thing is that if something goes wrong, all the relevant
information is printed. I found that this makes it easier when
developping a test.

Same thing for cmpChildString, etc.

--
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
   Demander si un ordinateur peut penser revient à demander
  si un sous-marin peut nager.





Re: error: no implementation for WININET.dll.102(InternetGetConnectedState)

2002-04-02 Thread Sylvain Petreolle

I also have a suggestion for this:

we could  put ALL emulated dlls in the default config
file with something = builtin, native
and # the ones that aren't enough implemented/tested.

Comments ?

  adding wininet  = builtin, native
  to config fixed the problem.
 
 Shouldn't we default to builtin?
 
 -- 
 Dimi.


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




Re: Unicode, i18n support

2002-04-02 Thread Francois Gouget

On Tue, 2 Apr 2002, Waldek Hebisch wrote:

  misunderstood me and decided that I propose to use code page 20866
  instead of 1251 for russian locale under Wine. But that's not the case.
  I only proposed to create filenames on disk in encoding used natively
  in Linux.
 I think that the right way is to have code conversion option in
 wine.config, as one of Wine mount options. That way we will be able
 to handle most weird configuration (like UTF-8 on native Linux, cp 1251
 on removable media).


   So if I understand correctly, Linux does not provide a uniform
interface to the filesystem. I.e. if I do 'touch ~/foo' where foo
contains weird characters I must make sure these are the right
characters for the codepage used by ~, and then if I do 'touch
/mnt/win98/foo', then I must change 'foo' so that its characters now
match the 1251 codepage, and I may have to rewrite foo yet again for
'touch /zipdrive/foo'.

   Urgh. This is certainly ugly. I thought that Linux would be taking
UTF-8 or something like it for all filesystems and then do the codepage
conversions itself depending on the underlying filesystem. I thought
that this was the point of having all the codepage information in the
kernel for fat filesystems.


--
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
 Only wimps use tape backup: _real_ men just upload their important stuff on
   ftp, and let the rest of the world mirror it ;) -- Linus Torvalds





Regression: Wine won't compile with latest cvs shlwapi

2002-04-02 Thread Tony Lambregts

I can't get recent cvs versions to compile. After running cvs update -PAd and
./tools/installwine I get these messages 

gcc: Internal compiler error: program cc1 got fatal signal 11
make[2]: *** [ordinal.o] Error 1
make[2]: Leaving directory `/usr/local/src/wine/dlls/shlwapi'
make[1]: *** [shlwapi/shlwapi.dll.so] Error 2
make[1]: Leaving directory `/usr/local/src/wine/dlls'
make: *** [dlls] Error 2

Compilation failed, aborting install.

At first I thought it might be something wrong with my system so I backed out
cvs to March 1st 2002 and everything worked.

I talked to Lawson on wine-users and he says I should look at
http://www.bitwizard.nl/sig11/ (This link is about mostly about compiling a
kernal but it applies to compiling wine as well)

I have looked at it and tried most of the things suggested in it. I still stop
in exactly the same place.

Things i have tried
 
I ran dd if=/dev/hda7 of=/dev/null bs=1024k count=96 and re-ran make

I lowered my clock speed from 200mhz to 133mhz

I have 4 72 pin simms, 2-16's and 2-32's I have tried compiling with each set
individualy

I have increased my swap space

None of this helped.

In the mean time I have done some regression testing using CVS

cvs update -D 2002-03-19 19:31:04 CST 
./configure
make depend  make

compiles with no errors

cvs update -D 2002-03-19 19:33:40 CST 
./configure
make depend  make

results with this

gcc: Internal compiler error: program cc1 got fatal signal 11
make[2]: *** [ordinal.o] Error 1
make[2]: Leaving directory `/usr/local/src/wine/dlls/shlwapi'
make[1]: *** [shlwapi/shlwapi.dll.so] Error 2
make[1]: Leaving directory `/usr/local/src/wine/dlls'
make: *** [dlls] Error 2

Compilation failed, aborting install.

This is the patch that was commited at 19:33:39 CST
http://www.winehq.com/hypermail/wine-cvs/2002/03/0072.html

Now I'm not the shapest knife in the drawer in fact I can be quite dull 
but this is a very strong indication that this patch is the one that is 
causing the problem.

What do I need to do now?

Tony Lambregts







Re: Regression: Wine won't compile with latest cvs shlwapi

2002-04-02 Thread Dimitrie O. Paun

On April 2, 2002 05:34 pm, Tony Lambregts wrote:

 This is the patch that was commited at 19:33:39 CST
 http://www.winehq.com/hypermail/wine-cvs/2002/03/0072.html

Hey!!! wine-cvs archive is down! ;(

-- 
Dimi.





Re: Regression: Wine won't compile with latest cvs shlwapi

2002-04-02 Thread Jeremy Newman

No it's not. You just happened to catch it in the 5 seconds it took me
to change a symlink. Good timing on your part I would say. :-D


On Tue, 2002-04-02 at 16:57, Dimitrie O. Paun wrote:
 On April 2, 2002 05:34 pm, Tony Lambregts wrote:
 
  This is the patch that was commited at 19:33:39 CST
  http://www.winehq.com/hypermail/wine-cvs/2002/03/0072.html
 
 Hey!!! wine-cvs archive is down! ;(
 
 -- 
 Dimi.
 
-- 

__  _WebGeek/NetAdmin CodeWeavers -= http://www.codeweavers.com
| \| |_ __ ___ __  __ _ _ _   -= http://www.dracowulf.com
| .` / -_) |  | / '  \/ _` | ' \  -= mailto:[EMAIL PROTECTED]
|_|\_\___|\_/\_/|_|_|_\__,_|_||_| -= ICQ: 1842980 Yahoo: laxdragon





Re: Read of memory location 0x7ffe0000 in windows NT

2002-04-02 Thread Laurent Pinchart

 I've stumbled accross some code which reads a dword at memory location
 0x7ffe000, which causes the program to crash and the wine debugger to
  start.
 
 After some investigation, it seems that reading the memory location
 0x7ffe should return KeTickCount.LowPart to the user process. Has
  anyone ever heard about that ? I was wondering if it was a native
  windows NT behaviour, or if it was done by a special kernel-space
  exception handler installed by the program.
 
 It's a native NT thing; a page of memory at that address is shared
 between user and kernel space. The definition in the w2k ddk.

 I found it, thank you very much.

Could anyone tell me where I should look to implement that shared page in 
wine ? In the page fault exception handler ? Any information will be welcome.

 BTW does anyone know where I can find information about KeTickCount ?
 I'd like to understand the meaning and purpose of the 3 fields (LowPart,
 High1Time, High2Time). There's nothing about it in the MSDN.

It looks like KeTickCount.LowPart is a 10ms counter. Anyone can confirm ?

Laurent Pinchart




Re: wine/debugger/stabs.c patch breaks FreeBSD

2002-04-02 Thread Gerald Pfeifer

On Tue, 2 Apr 2002, Eric Pouech wrote:
 The following patch to wine/debugger/stabs.c breaks FreeBSD:
   revision 1.45
   date: 2002/04/02 02:38:37;  author: julliard;  state: Exp;  lines: +2 -0
   Check ELF signature before processing file.
 that should fix it in a portable manner

Thanks!  I verified that this builds fine on FreeBSD, but also noticed
that Alexandre has committed a somewhat different patch.

(Both of these patches work for me, so I don't know which one's
preferrable...)

Gerald
-- 
Gerald Jerry [EMAIL PROTECTED] http://www.dbai.tuwien.ac.at/~pfeifer/





Re: Regression: Wine won't compile with latest cvs shlwapi

2002-04-02 Thread Ulrich Weigand

Tony Lambregts wrote:

 gcc: Internal compiler error: program cc1 got fatal signal 11

 I talked to Lawson on wine-users and he says I should look at
 http://www.bitwizard.nl/sig11/ (This link is about mostly about compiling a
 kernal but it applies to compiling wine as well)
 
 I have looked at it and tried most of the things suggested in it. I still stop
 in exactly the same place.
[snip]
 What do I need to do now?

If you can get cc1 to die with SIGSEGV reproducibly in same place,
then you have most probably found a compiler bug.

The first question is of course, which version of gcc are you
using?  Did you build it yourself or is it the one that came
with your distro (which one?)?  What is the output of
  gcc -v
  rpm -qf `which gcc`


Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  [EMAIL PROTECTED]




Race condition in TemrinateThread

2002-04-02 Thread Geoffrey Hausheer

I've discovered a race condition in TerminateThread.  Basically, if a thread 
is terminated before it has fully started, than the thread leaves a wine 
process around when the process exits.  I wouldn't have figured this out if 
it weren't for the OpenThread code which was just added (it slowed down my 
test enough that with '--winver win2000' the thread was able to start, 
whereas with '--winver win98' it couldn't (due to testing OpenThread before 
calling TerminateThread when in win2k mode).

It should be duplicatable by simply calling
thread=CreateThread();
TerminateThread(thread,0);

with no wait between them.
Anyhow, I really have no idea how to locate this, but I'd be happy to try if 
someone can give me a hand.

Thanks,
.Geoff




Re: error: no implementation for WININET.dll.102(InternetGetConnectedState)

2002-04-02 Thread Alexandre Julliard

Sylvain Petreolle [EMAIL PROTECTED] writes:

 we could  put ALL emulated dlls in the default config
 file with something = builtin, native
 and # the ones that aren't enough implemented/tested.
 
 Comments ?

That wouldn't help; sometimes builtins work better and sometimes they
don't, it depends on the application and on the Windows version of the
native dlls. There isn't a single configuration that works better in
all cases.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Regression: Wine won't compile with latest cvs shlwapi

2002-04-02 Thread Tony Lambregts

Ulrich Weigand wrote:

Tony Lambregts wrote:

gcc: Internal compiler error: program cc1 got fatal signal 11


I talked to Lawson on wine-users and he says I should look at
http://www.bitwizard.nl/sig11/ (This link is about mostly about compiling a
kernal but it applies to compiling wine as well)

I have looked at it and tried most of the things suggested in it. I still stop
in exactly the same place.

[snip]

What do I need to do now?


If you can get cc1 to die with SIGSEGV reproducibly in same place,
then you have most probably found a compiler bug.

The first question is of course, which version of gcc are you
using?  Did you build it yourself or is it the one that came
with your distro (which one?)?  What is the output of
  gcc -v
  rpm -qf `which gcc`


Bye,
Ulrich

Redhat 6.0

gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)

Tony Lambregts






Re: Regression: Wine won't compile with latest cvs shlwapi

2002-04-02 Thread Alexandre Julliard

Tony Lambregts [EMAIL PROTECTED] writes:

 I can't get recent cvs versions to compile. After running cvs update -PAd and
 ./tools/installwine I get these messages gcc: Internal compiler error:
 program cc1 got fatal signal 11
 
 make[2]: *** [ordinal.o] Error 1
 make[2]: Leaving directory `/usr/local/src/wine/dlls/shlwapi'
 make[1]: *** [shlwapi/shlwapi.dll.so] Error 2
 make[1]: Leaving directory `/usr/local/src/wine/dlls'
 make: *** [dlls] Error 2

That's most likely the usual gcc bug with local WINAPI function
pointers. I've merged a patch to shlwapi that should work around
this.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: error: no implementation for WININET.dll.102(InternetGetConnectedState)

2002-04-02 Thread Alexandre Julliard

Dimitrie O. Paun [EMAIL PROTECTED] writes:

 That's true, but if we default to builtin, we expose more of _our_ bugs,
 and hopefully we get them fixed faster.

Not necessarily; many bugs appear only when using a mix of natives and
builtins, since this is where the compatibility requirements are the
most strict.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: ExitProcess crashes apps

2002-04-02 Thread Jason Phillips



This problem looks related to bug #460, which also has this error message:
 err:win:WIN_FindWndPtr window 10021 belongs to other process
 err:win:WIN_FindWndPtr window 10021 belongs to other process

http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=460



On Wednesday 03 April 2002 01:18 pm, you wrote:
 Hi
 After just compiling and installing current cvs wine I get an unhandled
 exception every time an app closes.
 The culprit seems to be somewhere in kernel32.ExitProcess:
 Here is the relay output of the uninstaller that comes with wine (last 50
 lines)

 Enrico
 [EMAIL PROTECTED]

 08070840:Ret  x11drv.SelectPen() retval=00e6 ret=4070c3e1
 08070840:Call x11drv.SelectBrush(403b44b0,075a) ret=4070c3b2
 08070840:Ret  x11drv.SelectBrush() retval=075a ret=4070c3b2
 08070840:Call x11drv.SelectPen(403b44b0,008a) ret=4070c3e1
 08070840:Ret  x11drv.SelectPen() retval=008a ret=4070c3e1
 08070840:Call x11drv.SelectBrush(403b44b0,006e) ret=4070c3b2
 08070840:Ret  x11drv.SelectBrush() retval=006e ret=4070c3b2
 08070840:Call x11drv.SetDeviceClipping(403b44b0) ret=406fecee
 08070840:Ret  x11drv.SetDeviceClipping() retval= ret=406fecee
 08070840:Call x11drv.SelectBrush(403b44b0,006e) ret=4070c3b2
 08070840:Ret  x11drv.SelectBrush() retval=006e ret=4070c3b2
 08070840:Call x11drv.GetDeviceCaps(403b44b0,0022) ret=407019ed
 08070840:Ret  x11drv.GetDeviceCaps() retval=79f7 ret=407019ed
 08070840:Call x11drv.SelectFont(403b44b0,00a2) ret=4070c24c
 08070840:Ret  x11drv.SelectFont() retval=0001 ret=4070c24c
 08070840:Call x11drv.SelectPen(403b44b0,008a) ret=4070c3e1
 08070840:Ret  x11drv.SelectPen() retval=008a ret=4070c3e1
 08070840:Call x11drv.SetBkColor(403b44b0,00ff) ret=40701a8a
 08070840:Ret  x11drv.SetBkColor() retval=00ff ret=40701a8a
 08070840:Call x11drv.SetTextColor(403b44b0,) ret=40701b3a
 08070840:Ret  x11drv.SetTextColor() retval= ret=40701b3a
 08070840:Ret  window proc 0x405e96f4
 (hwnd=00010025,msg=BM_SETSTATE,wp=,lp=) retval=
 08070840:Call window proc 0x405e96f4
 (hwnd=00010025,msg=WM_CAPTURECHANGED,wp=,lp=)
 08070840:Ret  window proc 0x405e96f4
 (hwnd=00010025,msg=WM_CAPTURECHANGED,wp=,lp=)
 retval= 08070840:Call window proc 0x4001c7f8
 (hwnd=00010021,msg=WM_COMMAND,wp=0002,lp=00010025)
 08070840:Call user32.PostQuitMessage() ret=4001ce19
 08070840:Ret  user32.PostQuitMessage() retval=0001 ret=4001ce19
 08070840:Ret  window proc 0x4001c7f8
 (hwnd=00010021,msg=WM_COMMAND,wp=0002,lp=00010025) retval=
 08070840:Ret  window proc 0x405e96f4
 (hwnd=00010025,msg=WM_LBUTTONUP,wp=,lp=000a0057) retval=
 08070840:Ret  user32.DispatchMessageA() retval= ret=4001c311
 08070840:Call user32.GetMessageA(40586e18,,,)
 ret=4001c31d
 08070840:Call
 x11drv.MsgWaitForMultipleObjectsEx(,,,,
) ret=405deb9a
 08070840:Ret  x11drv.MsgWaitForMultipleObjectsEx() retval=0102
 ret=405deb9a
 08070840:Ret  user32.GetMessageA() retval= ret=4001c31d
 08070840:Call kernel32.ExitProcess() ret=4001b07c
 08070840:Call PE DLL (proc=0x405e5140,module=405c5000,type=0,res=0x1)
 08070840:Ret  PE DLL (proc=0x405e5140,module=405c5000,type=0,res=0x1)
 retval=1 08070840:Call PE DLL
 (proc=0x40829860,module=4081e000,type=0,res=0x1) 080a9e40:Ret 
 x11drv.MsgWaitForMultipleObjectsEx() retval=0001 ret=405deec9
 080a9e40:Call
 x11drv.MsgWaitForMultipleObjectsEx(,,,,
) ret=405deb9a
 080a9e40:Ret  x11drv.MsgWaitForMultipleObjectsEx() retval=0102
 ret=405deb9a
 080a9e40:Call
 x11drv.MsgWaitForMultipleObjectsEx(0001,403b3070,,,
) ret=405deec9
 08070840:Ret  PE DLL (proc=0x40829860,module=4081e000,type=0,res=0x1)
 retval=1 08070840:Call PE DLL
 (proc=0x406ee894,module=406e1000,type=0,res=0x1) 08070840:Ret  PE DLL
 (proc=0x406ee894,module=406e1000,type=0,res=0x1) retval=1 08070840:Call PE
 DLL (proc=0x407749e0,module=40764000,type=0,res=0x1) 08070840:Ret  PE DLL
 (proc=0x407749e0,module=40764000,type=0,res=0x1) retval=1 wine: Unhandled
 exception, starting debugger...
 err:win:WIN_FindWndPtr window 10021 belongs to other process
 err:win:WIN_FindWndPtr window 10021 belongs to other process

-- 

Jason Phillips


ZIPPY SAYS:
 --  I am covered with pure vegetable oil and I am writing a best seller!





Re: [PATCH] NtQueryInformationProcess ProcessDebugPort

2002-04-02 Thread Eric Pouech

  sdk's windbg already work, so why no VC++ debugger ?
 Then we'll probably have to implement NtQueryInformationProcess completely
 for ProcessDebugPort. Does anyone know what it should return ? The debugger
 process handle ?
the debugport value is not intented for ring3 use. so any non null value
would
do when the debugger is present.

A+