listview expert required (again)

2003-09-01 Thread Eric Pouech
another bug description for listview (native listview works as expected 
here)

configuration :
- a listview in autoarrange mode
- adding item one after the other
- say the first item is created with the selection (LVIS_SELECTED)
- some more items are inserted without the selection
- in some cases, the selection will move to the newly inserted item 
instead of remaining on the first item (likely some internal index is 
not recalculated in autoarrange mode)

A+
--
Eric Pouech



Re: [ANN] Conformance testing campaign

2003-09-01 Thread Eric Pouech
It will not receive EXIT_PROCESS_DEBUG_EVENT, only EXCEPTION_DEBUG_EVENT
first with ExceptionCode = STATUS_BREAKPOINT, then with
ExceptionCode = STATUS_ACCESS_VIOLATION continually.

it's likely the child process seg faults somewhere, and the test doesn't 
handle it. why the child seg faults is another story...
A+

--
Eric Pouech



Re: Where to put static libs?

2003-08-27 Thread Eric Pouech
Juan Lang wrote:
--- Eric Pouech <[EMAIL PROTECTED]> wrote:

I'm in the process of rewriting the SMB code to
use

winsock name lookup and socket calls without
NetBIOS

first, and to fall back to NetBIOS (using the
Netbios() function) second if that fails.
beware that you cannot directly call wsock32
functions (nor netapi32) 
from ntdll.


Ah!  I wasn't aware of this.  Why not?
because we don't allow, in Wine, for (direct) circular dependencies on 
modules:
wsock32 => kernel32 => ntdll
you can always doit by handle, with LoadModule/GetProcAddress pair
A+

--
Eric Pouech



Re: Where to put static libs?

2003-08-27 Thread Eric Pouech
I'm in the process of rewriting the SMB code to use
winsock name lookup and socket calls without NetBIOS
first, and to fall back to NetBIOS (using the
Netbios() function) second if that fails.
beware that you cannot directly call wsock32 functions (nor netapi32) 
from ntdll.

I'd like to expose some SMB functions so that named
pipes and files to UNC paths use the same library of
SMB functions.  A couple of netapi functions
(NetServerEnum and NetShareEnum) need to create SMBs
also, and I'd like to implement them--they can be used
to implement "network neighborhood."
if you really want to share the code, better implement the TDI interface 
to linkage points in ntdll and make netapi32 depend on it, but that may 
be a bit overkill for the moment.

A+

--
Eric Pouech



Re: Where to put static libs?

2003-08-27 Thread Eric Pouech
Juan Lang wrote:
Any advice on where to put code that needs to be
shared by multiple dlls?  I'm tweaking the SMB code
right now, and I'd like to reuse it in netapi32 (to
implement some of the Net functions) as in kernel32
(for CreateFile and CreateNamedPipe).
I'm thinking a new directory in libs (libs/smb).  Any
better ideas?
first of all, most code dealing with file/pipe opening will be moved 
from kernel32 to ntdll (at least the core)
moreover, the SMB code (currently) is more a proof of concept than a 
full implementation of SMB (using SAMBA if possible would of course be 
preferred)
the internal NTDLL interfaces for handling file systems are likely to 
evolve very shortly
I also assume that you're referring (parly) to NetBios resolution
if so, then copying the code might not be a wrong answer for now
if not, please explain what you want to do in more details

A+

--
Eric Pouech



Re: Really slow named pipes

2003-08-25 Thread Eric Pouech
Nope ;) I think there was a problem when you tried to attach that :-)
oops (took the file from the wrong dir...)

A+
--
Eric Pouech
Index: dlls/kernel/sync.c
===
RCS file: /home/cvs/cvsroot/wine/wine/dlls/kernel/sync.c,v
retrieving revision 1.36
diff -u -r1.36 sync.c
--- dlls/kernel/sync.c  18 Aug 2003 20:03:00 -  1.36
+++ dlls/kernel/sync.c  25 Aug 2003 18:38:18 -
@@ -1162,7 +1162,7 @@
 /* from completion sakeness, I think system resources might be exhausted before 
this happens !! */
 if (hr == INVALID_HANDLE_VALUE) return FALSE;
 
-hw = CreateFileA(name, GENERIC_WRITE, 0, sa, OPEN_EXISTING, 0, 0);
+hw = CreateFileA(name, SYNCHRONIZE|GENERIC_WRITE, 0, sa, OPEN_EXISTING, 0, 0);
 if (hw == INVALID_HANDLE_VALUE) 
 {
 CloseHandle(hr);
Index: server/named_pipe.c
===
RCS file: /home/cvs/cvsroot/wine/wine/server/named_pipe.c,v
retrieving revision 1.26
diff -u -r1.26 named_pipe.c
--- server/named_pipe.c 18 Jun 2003 19:45:22 -  1.26
+++ server/named_pipe.c 25 Aug 2003 18:38:36 -
@@ -627,7 +627,7 @@
 {
 server->state = ps_idle_server;
 reply->handle = alloc_handle( current->process, server,
-  GENERIC_READ|GENERIC_WRITE, 0 );
+  GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE, 0 );
 server->pipe->instances++;
 release_object( server );
 }


Re: Really slow named pipes

2003-08-24 Thread Eric Pouech
So the problem appears to be that in the new implementation, the write 
to the pipe is being blocked on every call, until a read has happened. 
What should be happening is that the write should only block if the pipe 
is full. Does that help someone know where to look?
does this help ?

A+
--
Eric Pouech
bash: wine: command not found


Re: Console regression?

2003-08-24 Thread Eric Pouech
[EMAIL PROTECTED] wrote:
000a: get_console_input_info( handle=(nil) )
[snip]
if (!console && !geterror()) set_error(STATUS_INVALID_PARAMETER);

is directly responsible for the error.  
the error is more that the handle passed to get_console_input_info in 
the server is nil, so server cannot find the object for that

the point is to know why you get a nil value for stdinput handle

could you compare the two server traces before and after the trace ?
TIA
--
Eric Pouech



Re: listview expert required

2003-08-23 Thread Eric Pouech
implements what you described.
thanks... works like a charm now
impressive turn around time btw!!
A+
--
Eric Pouech



Re: listview expert required

2003-08-23 Thread Eric Pouech
Dimitrie O. Paun wrote:
On Fri, 22 Aug 2003, Eric Pouech wrote:


some apps of mine needs this to get going:
can someone with good listview knowledge confirm ? (or find the correct fix)


-if (uView == LVS_REPORT && (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
+if (uView == LVS_REPORT /*&& (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT)*/)
 
If you do this, you will be able to select a row in REPORT mode when you
are not in LVS_EX_FULLROWSELECT, when you just click in a sub item.

This is easy enough to test (I can't do it right now, sorry), and if that's
how the native control behaves, then let's just get rid of it.
What's the problem with your app?

but here's the differences I get between running native Win98 comctl and 
Wine's builtin

listview: multicolumn, in report mode, without LVS_EX_FULLROWSELECT 
extended style

message concerned:
NM_CLICK notification for left click in LV (mainly in a column for any 
subitem)

native:
iItem: always set to -1
iSubItem: set to the subItem of the column clicked
builtin:
iItem: set to the row number
iSubItem: always set to 0
(Note: I don't like either the iItem value I get from the native DLL 
(didn't test LVM_GETITEMHITTEST information though)

also, as a noted difference, in selection. Wine's only draws a dotted 
rect around the selected item (or row in full row select mode). In 
native, the rect interior is grayed if the control doesn't have the 
focus, and filled in blue if control has the focus.

if everything goes smoothly full code of the app should be posted this 
weekend (app will allow, among other things, to enable/disable debug 
channels on any running wine app)

A+
--
Eric Pouech



listview expert required

2003-08-22 Thread Eric Pouech
some apps of mine needs this to get going:
can someone with good listview knowledge confirm ? (or find the correct fix)
TIA
--
Eric Pouech
Index: dlls/comctl32/listview.c
===
RCS file: /home/cvs/cvsroot/wine/wine/dlls/comctl32/listview.c,v
retrieving revision 1.357
diff -u -r1.357 listview.c
--- dlls/comctl32/listview.c24 Jul 2003 00:03:13 -  1.357
+++ dlls/comctl32/listview.c22 Aug 2003 20:30:27 -
@@ -5822,11 +5822,11 @@
 opt.x = lpht->pt.x - Position.x - Origin.x;
 opt.y = lpht->pt.y - Position.y - Origin.y;
 
-if (uView == LVS_REPORT && (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
+if (uView == LVS_REPORT /*&& (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT)*/)
rcBounds = rcBox;
 else
UnionRect(&rcBounds, &rcIcon, &rcLabel);
 TRACE("rcBounds=%s\n", debugrect(&rcBounds));
 if (!PtInRect(&rcBounds, opt)) return -1;
 
 if (PtInRect(&rcIcon, opt))


Re: wcmd patch

2003-08-22 Thread Eric Pouech
Eric Pouech wrote:
Oleg Prokhorov wrote:

Hello wine-patches,

  Changelog:
  Fixes two problems:
  GPF when no extension was specified.
  No handles were inherited in CreateProcess, all child console 
programs were silent

the second part is wrong. a child process should inherit its parent 
input/output stream even if we don't inherit all the handles.
But the bug still exist as of today.
I'll look into it.
after some more testing, it turns out Oleg was right (and his fix too).
So, Alexandre could you commit the second part of this patch.
Sorry for the noise
A+
--
Eric Pouech



Re: wcmd patch

2003-08-21 Thread Eric Pouech
Oleg Prokhorov wrote:
Hello wine-patches,

  Changelog:
  Fixes two problems:
  GPF when no extension was specified.
  No handles were inherited in CreateProcess, all child console programs were silent
the second part is wrong. a child process should inherit its parent 
input/output stream even if we don't inherit all the handles.
But the bug still exist as of today.
I'll look into it.
A+

--
Eric Pouech



Re: RFC: evolution of file management

2003-08-21 Thread Eric Pouech
Can't really answer your question,
but on the kernel mailing list, There has been some discussion of
whether these attributes should be exposed from mounted fat partitions:
The fat fs maintainer has a patch, and is wondering what to do with it.
(The patch exposes the fat attributes as extended attributes)
See the thread titled "[RFC] ioctl vs xattr for the filesystem specific
attributes".
yup that would help (to expose FAT attributes)
my only remark is that we need to open the file in order to get its 
attributes
I wonder if there would be an impact performance wise

--
Eric Pouech



Re: RFC: evolution of file management

2003-08-20 Thread Eric Pouech
Keith Matthews wrote:
On Tue, 19 Aug 2003 23:48:53 +0200
Ferenc Wagner <[EMAIL PROTECTED]> wrote:

Do we need attributes like hidden, system, etc?
   Feri.


More to the point we need attributes to allow support of NT ACLs.  I've
been looking at the problem and progressing only very slowly, some of
the problems are technical, others are nothing to do with Wine at all.
At the level we are dealing with here the essential problems (for those
who have not examined the issues) are :-
	Not all supported O/S s offer ACLs.

	Those that do support POSIX ACLs which do not map exactly to NT ACLs

Even in Systems which do support POSIX ACLs there is no guarantee that
all disc filesystems at any one host will offer it, Of the Linux
filesystem types only XFS supports ACLs out of the box. Work is in
progress for ReiserFS and due to start for JFS. There is a patch for
ext2/3. One map currently favoured is to use ext2/3/Reiser for the root
filesystem and XFS for (some of) the rest).
All of the systems that do support ACLs use Extended Attributes to store
them. I am still looking at limitations on number of EAs, but there is a
possibility that an extreme case on NT may not be supported on Linux.
Since I've not yet got round to looking at TrustedBSD there's
potentially another can of worms there.
My conclusion is that we do (regrettably) need a VFS layer to harmonise
handling of all this lot and respond correctly when wine-ver is 9X.

I think Wine's goal is to provide this kind of feature of top of what 
the underlying OS provides (this is also the case for DOS HIDDEN and 
SYSTEM attributes => there are not available in standard Posix FS, so 
are managed by wine(*)). So IMO, file (protected by ACL) access should 
be provided by the underlying OS.
ACL manipulation (from windows to posix - even if 1003.1e hasn't been 
voted by POSIX) should be added (I'm not sure we have a 1:1 mapping anyway)
however, I don't understand your remark about the winver 9x... IMO, if 
the Linux user mounts a NT partition with ACL (and has the proper 
privileges) it should run Wine on this partition rather transparently 
(except for ACL manipulation function)
it's not my goal to support:
- real FS mounting in wine => this is the job of the OS, not wine's
- a real VFS (as Linux does)
- the (V)FS I'm talking about is more related to adaptation (as you 
mention), but I'm not sure I got you right

A+

(*) except files starting with a . which get the HIDDEN attribute
--
Eric Pouech



Re: RFC: evolution of file management

2003-08-20 Thread Eric Pouech
Martin Fuchs wrote:
Hello Eric,
Hi Martin
thanks for the comments


the device concept will disappear and be replaced by a "path gate":
in NT-Win32 name space, point where to convert from a
NT-path to a Unix-path
for example, assuming we have created a path-gate from
\\??\c: to /mnt/windows, the NT-path \\??\c:\foo\bar
will be transformed into the unix-path /mnt/windows/foo/bar


It would be good to implement this "path gates" as near as possible like the way it is 
implemented in Windows NT/XP. This mapping is done using the NT object namespace. Object namespace is 
another virtual tree structure similar to a file system or the registry. It is accessed by functions like 
NtOpenDirectoryObject(), NtOpenSymbolicLinkObject(), NtQueryDirectoryObject(), 
NtQuerySymbolicLinkObject(), ... There has been a tool in the internet called "winobj.exe", with 
which you can examine this internal NT object namespace. However it is not compatible to XP, I don't know, 
if someone has yet updated it. But I do have a own program which can display it also for XP.
Drive mapping is stored as symbolic links for example at "\GLOBAL??\D:". This links point to the partitions, like e.g. 
"\Device\HarddiskVolume3". There are also the ArcNames, which you can find in the NT bootloader config file 
"boot.ini". At "\ArcName\multi(0)disk(0)rdisk(0)" you can find another symbolic link to 
"\Device\Harddisk0\Partition0".
I do know how it's implemented in NT.
anyway, there are a few differences between ROS and Wine:
- in common, we do need to have the same interface as Windows do. This 
only applies to interface living in user land.
- kernel land is another matter. ROS needs to stick to NT's behavior, 
Wine needs to convert calls to what Unix does provide.
- ROS needs to mount physical drives, Wine makes (it's the current 
implementation, this is open to discussion) part of the Unix file 
hierarchy visible from the windows part

Regarding file support, the minimal things Wine need to do is:
- support the same file naming as NT does (mainly the \??\ part of the 
NT name space), the rest is not absolutely needed. Currently, Wine does 
not implement a unique name space for all the objects (as NT does, using 
sub dir for some differenciation) but rather different name spaces
- to allow the mapping from a NT path to a unix path, there are two 
simple ways to do it:
	=> use all NT name space and somehow inject Unix file name space (/ and 
all the subdirs) in it
	=> store the unix information (the path in the unix / hierarchy) as a 
specific attribute of the NT name space (at least the \??\ subtree)

I chose the second approach (you're more proposing the first one) 
because I felt it was more suited to wine behavior.

Concerning NTDLL's directory objects, I'm still wondering if we need (in 
Wine) to implement them. It's indeed needed in NTDLL's interface (object 
attribute for instance) and implements part of the "path gate" 
(especially some attributes like case sensivity in further lookups...). 
So, this is still part of the open questions I have (I may start without 
directory objects, and add them later on).

One of the strength of current NT name space is the orthogonality which 
is used across all objects in NTDLL (for example, in handle management, 
or sending requests - thru IRPs - at all the objects).
The good side is to be able to convert an operation on a file into an 
IRP which is send to the FS which handles the file, which can in turn 
send it or transform it to another part...
As wine implements a more monolithic approach, and since we don't have 
this orthoganility available today, I'm not yet convinced we need to 
stick more to the NT behavior than what I described above as the minimal 
requirements.

A+

--
Eric Pouech



RFC: evolution of file management

2003-08-19 Thread Eric Pouech
in the process of separating ntdll from kernel32, one of the next hurdle 
if the implementation of NtCreateFile.
Since it's rather a core API, some thoughts are needed. Moreover, there 
are a few shortcomings in current file handling we might want to address.

The goal of this small RFC is to:
1/ gather all known shortcomings of current file implementation
2/ propose some solutions and roadmaps for the implementation
feel free to add your own remarks to these lists.

1/ shortcomings
---
1.1) no dynamicity in DOS drive management: user should be able, in 
his/her   session(1), to either change the mapping of a DOS drive 
letter, or mount a SMB share somewhere...)
1.2) mounting should be done session wide and not process wide, and of 
course shared across processes
1.3) ntdll and kernel32 are not separated regarding file management
1.4) devices (vxd and DOS) management is still a hack
1.5) it may be necessary to introduce a notion of filesystem for some 
operations (open, read, write, seek, close, dir_enum, ioctl) in order to 
support several FS (unix, smb...)
1.6) poor management of ejectable devices
1.7) short/long file name conversion should be consistent (across 
several processes in the same session, across several sessions)

Note:
(1) a session is linked to a running instance of the wineserver
2/ proposal
---
2.1 "path gates" (target: 1.1, 1.2, 1.3/partly, 1.4/partly, 1.6/partly)

all file names will be handled using the NT-style:
+ DOS paths (C:\foo\bar) into \??\C:\foo\bar
+ network paths (\\station\foo\bar) into \??\UNC\station\foo\bar
+ DOS device names (CON) into \??\CON
+ NT device names (\\.\PhysicalDrive0) into \??\PhysicalDrive0
+ a VXD ?? (normally \\.\VFD) into \??\VFD
the device concept will disappear and be replaced by a "path gate":
in NT-Win32 name space, point where to convert from a
NT-path to a Unix-path
for example, assuming we have created a path-gate from
\\??\c: to /mnt/windows, the NT-path \\??\c:\foo\bar
will be transformed into the unix-path /mnt/windows/foo/bar
the path-gate will hold the current options that the device currently 
does (case sensivity, fixed/removable...)

path-gates will be stored in the server (they are session wide)

management of VxD and devices could benefit from it: they could be path 
gates pointing to them selves (or nothing ?)

2.2 FS (target: 1.4/partly, 1.5/partly, 1.6/partly)

I'm still wondering if we really need a FS (even a very simplistic one) 
in Wine

2.3 short/long file names (target 1.7)

since current short file name management seems satisfactory, there's no 
need IMO to move short/long names conversion in the server

--
Eric Pouech



Re: REGRESSION: environment variables no longer possible

2003-08-19 Thread Eric Pouech
Alexandre Julliard wrote:
"Dmitry Timoshkov" <[EMAIL PROTECTED]> writes:


Actually it's just the format of the Wine config has changed. Now all
environment variables should be surrounded by the percent signes (%HOME%),
and are handled by the normal registry code. Alexandre has changed the sample
config as well.


Actually the format of the config has not really changed, most entries
have been behaving that way for a long time already. I just made the
drives part of the config behave like all the other entries.

Attached patch is rather useless, but however it makes the old profile
code be consistent with the new behaviour. A better approach is to
completely remove environment handling from profile.c.


Yes, I think environment handling should be left to the application.

I (incendentally ) had the same patch in my tree that what Alexandre 
committed yesterday. I'll send the removal of env handling later on today.

A+

--
Eric Pouech



Re: GetLastError strangeness with FindClose

2003-08-16 Thread Eric Pouech

You're missing my point (or maybe you're not and you just don't agree with
me - in either case, let me make my point in a clearer way).  If windows
doesn't say it won't change the last error, we, as programmers, should
assume that it might.  In my experience, a large number of functions that
set last error on failure set it to ERROR_SUCCESS on success.  For the few
that don't, I would consider this an oversight on MS's part, and I wouldn't
expect it to exist in all implementations of a particular function (across
OS versions).
let's just test Alex small test program on various platforms and see 
what gives...
A+

--
Eric Pouech



Re: GetLastError strangeness with FindClose

2003-08-16 Thread Eric Pouech
Kelly Leahy wrote:
Your test doesn't make much sense.  The call to FindClose should be done
after you check the result of GetLastError, since FindClose  change
the last error to ERROR_SUCCESS if the close operation was successful.
From your test results, it seems that the FindClose implementation on the
version of windows you're using doesn't seem to do this.  I would consider
this a bug in windows, not a bug in Wine.  If a programmer relies on this
behavior, it's their fault, not MS's or Wine's fault that their code does
not work
AFAIK, it's never said that a successful function call should set the 
last error to 0. This only thing MS claims is that when a function 
fails, the last error is set to a error code explaining that error.

Moreover, wine's goal is not to make a better design than windows, but 
to mimic windows behavior. So, if FindClose doesn't change the last 
error on success, wine should do the same (especially if some known 
program depends on it)

A+
--
Eric Pouech



Re: dlopen libncurses.so in wineconsole (take 3)

2003-08-16 Thread Eric Pouech
Dimitrie O. Paun wrote:
On August 14, 2003 10:00 pm, Mike McCormack wrote:

+#ifdef HAVE_NCURSES_H
+char *ncname = SONAME_LIBNCURSES;
+#else
+char *ncname = SONAME_LIBCURSES;
+#endif


Since we're doing this dynamically, shouldn't we also determine at
runtime if we should use ncurses or curses? It would make a lot more
sense, as we typically compile on one box, and run on another...
it would be great, but that may be hard to do.
some (n)curses functions are implemented as macros (and you don't know 
for sure which). So, a strong rule to be sure everything works correctly 
is to run with the curses package that the one you compiled with...

A+
--
Eric Pouech



Re: GetLastError strangeness with FindClose

2003-08-16 Thread Eric Pouech
Alex Pasadyn wrote:

So, it looks like somewhere in FindClose Wine is resetting the last 
error.  I started digging through there and the functions it calls but I 
was unable to find where it was getting reset.  Can anyone shed some 
light on this?  Is there any way to break on that value changing?
GlobalUnlock does set last error to 0 if it's unlocking the last lock.

A+
--
Eric Pouech



Re: cab_G_00-pre1 (RFC)

2003-08-16 Thread Eric Pouech
Looking at msvcrt's code, it starts to look like a bit much.  Take a peek at 
dlls/msvcrt/file.c, "_open" and "MSVCRT__sopen" functions to get an idea of 
what I was hoping to avoid.  
msvcrt does a lot more than you need (and also a bit more than the 
standard C library).

Looking at dlls/kernel/file.c, somehow things 
are much simpler (!?).  I will do some experimentation with "_lopen" and co. 
(and read the api doc on MSDN) but presumably -- hopefully, judging by the 
names -- the "_l" API's will be close enough to "_open" & co. to avoid some 
cut-and-paste development.  
Normally, the _l* API is very close to the C standard library, but 
moving to the win32 API is not too hard.

If not... there's more than one way to skin a 
cat.
Windows surely does provide lots of tools for this to happen
A+
--
Eric Pouech



Re: cab_G_00-pre1 (RFC)

2003-08-16 Thread Eric Pouech
Dmitry Timoshkov wrote:
"Eric Pouech" <[EMAIL PROTECTED]> wrote:


Why don't you use _lclose, _lcreat, _llseek, _lopen, _lread, _lwrite
exported from kernel32?
except for _lopen which differs a bit from CreateFile, but why not using 
ReadFile, WriteFile, CloseHandle...


Because they look too hard for Gregory... Did you read the whole thread?

yes I did... but I don't so many differences between read and 
ReadFile... which is not as easy for open vs. CreateFile as I wrote

A+

--
Eric Pouech



Re: cab_G_00-pre1 (RFC)

2003-08-16 Thread Eric Pouech
Dmitry Timoshkov wrote:
"Gregory M. Turner" <[EMAIL PROTECTED]> wrote:


One ritual is that you should not use msvcrt from other dlls, this
will cause trouble with apps that use the Unix libc.
Is it OK to do LoadLibrary/GetProcAddress, or is that equally problematic?


Why don't you use _lclose, _lcreat, _llseek, _lopen, _lread, _lwrite
exported from kernel32?
except for _lopen which differs a bit from CreateFile, but why not using 
ReadFile, WriteFile, CloseHandle...
A+

--
Eric Pouech



Re: Translating wine programs

2003-08-16 Thread Eric Pouech
[EMAIL PROTECTED] wrote:
I've started with an easy thing, the wine clock, please let me know if I've done
this properly.
mostly yes. Don't forget to tag the string table as
LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT
A good way to test it (especially for resources in programs/ subdir) is 
to run the application with the correct locale, and you should see the 
interface in Italian.
BTW, is properties valid in Italian (just wondering if you didn't forget 
to translate this menu)

A+

--
Eric Pouech



Re: 5 Wine-Tests fail on FreeBSD 5.1

2003-08-15 Thread Eric Pouech
I think more that's a discrepency in OSS handling between linux & *BSD 
(or a more subtle bug somewhere)
could you rerun with WINEOPTIONS="-debugmsg +wave,+dsound,+wavemap"
back from vacation...
the trace only shows a decent startup and a wait for incoming audio 
packets, which never show up.

Let's take this further. I wrote to you/this list, about winedbg
crashing on startup _every_time_. And I suspect it's this TEB thingy (I
have no clue what a TEB is, but I really think something is broken
there). 
a TEB is a thread environment block: a user land structure describing a 
thread status. TEB is usually stored in a page, which is pointer by the 
fs register. there's a field in the TEB which holds its linear address.
Hence, getting the linear address of a TEB is written fs:0x18.
Thread commutation (from a scheduler point of view) is (almost as simple 
as) changing the value of fs (there's also stack switching, context 
switching...).
Anyway, your back trace information don't absolutely show that the TEB 
get screwed up. Since getting the TEB linear address is inlined, gdb 
sure has a hard time getting the value from the stack (as it may get 
overwritten by upper calls).
It doesn't mean however that TEB doesn't get overwritten. In gdb, you 
should check:
1/ at thread startup, where TEB is located, and which is the value of fs.
2/ on each lookup, check if fs value changed, and if TEB struct at 
address gotten from 1/ is still ok. You would want also to check that 
LDT entry for fs is still correct.

Now back to "wine winedbg winemine".
it should be run as winedbg winemine

wait4: Interrupted system call
wait4: Interrupted system call 
does this help ?
Index: ptrace.c
===
RCS file: /home/cvs/cvsroot/wine/wine/server/ptrace.c,v
retrieving revision 1.26
diff -u -u -r1.26 ptrace.c
--- ptrace.c6 May 2003 00:21:21 -   1.26
+++ ptrace.c15 Aug 2003 12:38:14 -
@@ -149,6 +149,7 @@
 thread->unix_tid = -1;
 thread->attached = 0;
 }
+else if (errno == EINTR) continue;
     else perror( "wait4" );
 return 0;
 }
A+
--
Eric Pouech



Re: Problem with wcmd in wineconsole ?

2003-08-14 Thread Eric Pouech
Sylvain Petreolle wrote:
Using dos32a (free replacement of dos4gw) with wineconsole,
I dont get any text output from it under wcmd.
that's a regression in CreateProcess in IO inheritance
Dan Kegel already complained about it a few days ago
I'm working on it, there should be a patch this week-end
A+

--
Eric Pouech



Re: DRIVE_GetUnixCwd and drives other than the current one

2003-08-14 Thread Eric Pouech
Troy Rollo wrote:
It appears that Wine is storing and using a "current directory" for each DOS 
drive. According to some testing we have just done on Windows 2000 and 
Windows 98, Windows only stores a current directory for the current drive.
We've just implemented the behavior you describe in ntdll. (except for 
the part on cd D: with curr drive already being D: which I'm not sure we 
have set correctly).
However, kernel hasn't been updated (yet) to use ntdll for files & path 
related functions. This should be done in the coming week^H^H^H^Hmonths

A+
--
Eric Pouech



Re: Is wine a debugger?

2003-08-14 Thread Eric Pouech
But yes, the Wine debugger loads as a new process only after a crash is 
detected.  What is happening is the program is poking around in memory 
somewhere and seeing something different from what it expects.
since we get a SIGTRAP more likely an int 3 instruction
under windows (9x), if the program is run under a debugger, the debugger 
will get the interruption. some protection mechanism set their own 
exception handlers (allowed under 9x) to detect whether a debugger is 
present (the handler is called only if no debugger is present)
so setting the windows version in wine to NT will let the program (if 
correctly designed) to use some other mechanism and you may succeed in 
running your program

A+

--
Eric Pouech



Re: can't redirect stdout?!

2003-08-14 Thread Eric Pouech
Dan Kegel wrote:
Eric Pouech wrote:

Dan Kegel wrote:

OK, so with the normal X11 driver, you can no longer
redirect stdout from commandline apps under Wine;
the output just vanishes if you try to send it to a file.


it works just fine here (at least for simple programs).
does your program involves the creation of a child process, which 
actually does this output (this may be indeed broken)


Not sure.  It's ss.exe from MS Source Safe.  Next time I
try it I'll check for child processes.
you could also try this patch to see if this helps
A+
--
Eric Pouech
Index: scheduler/process.c
===
RCS file: /home/cvs/cvsroot/wine/wine/scheduler/process.c,v
retrieving revision 1.225
diff -u -r1.225 process.c
--- scheduler/process.c 3 Jul 2003 18:23:10 -   1.225
+++ scheduler/process.c 12 Aug 2003 19:33:12 -
@@ -329,7 +329,10 @@
 /* Create the process heap */
 current_process.heap = HeapCreate( HEAP_GROWABLE, 0, 0 );
 
-if (info_size == 0)
+if (main_create_flags == 0 &&
+   process_pmts.hStdInput  == 0 &&
+   process_pmts.hStdOutput == 0 &&
+   process_pmts.hStdError  == 0)
 {
/* This is wine specific: we have no parent (we're started from unix)
  * so, create a simple console with bare handles to unix stdio 


Re: can't redirect stdout?!

2003-08-14 Thread Eric Pouech
Dan Kegel wrote:
OK, so with the normal X11 driver, you can no longer
redirect stdout from commandline apps under Wine;
the output just vanishes if you try to send it to a file.
it works just fine here (at least for simple programs).
does your program involves the creation of a child process, which 
actually does this output (this may be indeed broken)
A+

--
Eric Pouech



Re: dlopen libncurses.so in wineconsole

2003-08-14 Thread Eric Pouech
Mike McCormack wrote:
This patch doesn't include changes to configure. Run autoconf to 
regenerate it...
several comments to this needed patch:

1/ in configure.ac
why not checking also for curses if ncurses isn't present ?
BTW, you can also remove the ncurses library lookup in configure.ac, we 
no longer need it.

2/ in curses.c
some of the functions we use in curses.c can in fact be macros in some 
curses' implementations. According to my doc, this includes initscr, 
intrflush, nodelay, noecho.
So, you could pass LOAD_FUNCPTR a boolean not to fail if the symbol is 
not found (for those functions), and not #define initscr to p_initscr if 
initscr is already #define:d

+if( !WCCURSES_bind_libcurses() )
+return FALSE;
you'd better return init_failed from the enum instead of a boolean here

A+

--
Eric Pouech



Re: Once again: Wine without X?

2003-07-18 Thread Eric Pouech
Dan Kegel wrote:
29  CharLowerA 697b6
   564  SystemParametersInfoA 697f8
   387  LoadStringA 6981e
39  CharToOemA 69810
43  CharUpperA 697c4
   418  OemToCharBuffA 697d2
   300  GetSystemMetrics 697e4
I wish one day things could be made right... buffer upper/lower case 
manipulation has nothing to do with the windowing system...
anyway, so it goes in Redmond.

so an empty "None" graphical driver is the easiest way to go.

That'd be nice.  A commandline option would be optimal.  .wine/config
entries wouldn't be as useful, since sometimes you want to run them 
different
ways, and editing one huge config file is a pain to script anyway.
I don't think Alexandre would like the command line option (at least as 
it is) to the main wine executable, but that's another story.

A+
--
Eric Pouech



Re: [RESENT]: Fixed winedbg example configuration

2003-07-18 Thread Eric Pouech
BiGgUn wrote:
set to "Y" ?
It's set to 'Y'

that's (maybe) why it doesn't get overwritten... It's likely keys will 
be reordered if you set it to N
A+

--
Eric Pouech



Re: [RESENT]: Fixed winedbg example configuration

2003-07-17 Thread Eric Pouech
BiGgUn wrote:
did you wait for wineserver to terminate before checking they have not 
changed ?
 yep
in your config, do you have
[registry]
"SaveOnlyUpdatedKeys" = "N"
set to "Y" ?

A+
--
Eric Pouech



Re: Serial comm overlapped IO problem

2003-07-17 Thread Eric Pouech
Rein Klazes wrote:
Hi,

Recent commits
http://www.winehq.com/hypermail/wine-cvs/2003/06/0232.html and
http://www.winehq.com/hypermail/wine-cvs/2003/07/0090.html
broke communication with my online banking program girotel.
does this patch help ?
A+
--
Eric Pouech
Index: dlls/ntdll/file.c
===
RCS file: /home/cvs/cvsroot/wine/wine/dlls/ntdll/file.c,v
retrieving revision 1.28
diff -u -r1.28 file.c
--- dlls/ntdll/file.c   11 Jul 2003 21:44:17 -  1.28
+++ dlls/ntdll/file.c   17 Jul 2003 18:36:23 -
@@ -401,6 +404,16 @@
 ret = register_new_async(&ovp->async);
 if (ret != STATUS_SUCCESS)
 return ret;
+if (flags & FD_FLAG_TIMEOUT)
+NtDelayExecution( TRUE, NULL );
+else
+{
+LARGE_INTEGER   timeout;
+
+/* let some APC be run, this may read some already pending data */
+timeout.s.LowPart = timeout.s.HighPart = 0;
+NtDelayExecution( FALSE, &timeout );
+}
 return io_status->u.Status;
 }
 switch (type)


Re: [RESENT]: Fixed winedbg example configuration

2003-07-16 Thread Eric Pouech
BiGgUn wrote:
I still agree with Alexandre here. Order of keys in registry doesn't 
matter when loading, moreover, next time wine exits, the keys get 
automatically reordered (and saved),


How do you explain that keys stay in the same order i typed them ?


did you wait for wineserver to terminate before checking they have not 
changed ?
A+

--
Eric Pouech



Re: question about WINE MSVCRT

2003-07-16 Thread Eric Pouech
Jonathan Wilson wrote:
I notice that WINE has a clone of MSVCRT. I also know that MSVCRT 
exports some C++ symbols. How does WINE and its clone of MSVCRT and its 
build system handle the differences in name mangling between MSVCRT and 
GCC?
MSVCRT is the the C (and C++) run time library for MS Visual C/C++ 
compiler. It's not intended as gcc's CRT (which got linked anyway to any 
winelib program).

A+

--
Eric Pouech



Re: Once again: Wine without X?

2003-07-16 Thread Eric Pouech
Dan Kegel wrote:
OK folks, it's time for my semiannual "I need Wine to
run a commandline program, but can't get it to work" rant.
First try: just do a default installation of wine-20030709.

Log:

$ wine -- /dos/d/vss/win32/ss.exe
Could not stat /mnt/fd0 (No such file or directory), ignoring drive A:
x11drv: Can't open display:
$ echo $DISPLAY
$
That should have worked, since ss.exe doesn't use any GDI functions.
drivers are loaded for USER, not GDI. So the first question is where 
does ss.exe pull USER32.DLL from ?

Is this the recommended way to run console wine programs without
any $&[EMAIL PROTECTED] curses stuff kicking in and without X?   
wine pgm.exe if pgm.exe doesn't depend on user & gdi (but that's not 
your case).

And is
there a chance of setting this behavior on a program-by-program
basis?  AppDefaults appears to be keyed off the driver already, so is 
probably
not able to say "these apps should not use x11drv or ttydrv".
It wouldn't be very difficult to set the User32 Driver on a pgm per pgm 
basis.

A+
--
Eric Pouech



Re: [RESENT]: Fixed winedbg example configuration

2003-07-16 Thread Eric Pouech
These are two separate changes:

a) Wine's registry needs to preserve ordering (c++ builder, presumably 
among others)
b) BiGgUn wants to reorder the winedbg lines for some reason.  I'm not 
saying he's right (I don't understand why he wants to reorder things 
like that), but I am saying that if he is wrong, it's not because this 
would be reordered anyway.  Basically, I'm not supporting his patch, I'm 
saying Alexandre's reason for rejection is wrong.
I still agree with Alexandre here. Order of keys in registry doesn't 
matter when loading, moreover, next time wine exits, the keys get 
automatically reordered (and saved), so I don't understand the need of 
the key reordering.

A+

--
Eric Pouech



Re: 5 Wine-Tests fail on FreeBSD 5.1

2003-07-16 Thread Eric Pouech
The Backtrace now looks like this:
(gdb) bt
#0  0x5c236783 in read () from /usr/lib/libc.so.5
#1  0x5c0b11ee in wait_reply (cookie=0x5d252d44) at ../../include/winnt.h:1622
#2  0x5c0b1483 in NTDLL_wait_for_multiple_objects (count=1, handles=0x5d252e10, flags=4, 
timeout=0x0) at sync.c:580
#3  0x5c0b14d8 in NtWaitForMultipleObjects (count=1, handles=0x5d252e10, wait_all=0, 
alertable=0 '\0', timeout=0x0) at sync.c:598
#4  0x5c096bab in WaitForMultipleObjectsEx (count=1, handles=0x5d252f44, wait_all=0, 
timeout=4294967295, alertable=0) at ../../scheduler/synchro.c:134
#5  0x5c096a8a in WaitForSingleObject (handle=0x3c, timeout=4294967295)
at ../../scheduler/synchro.c:62
#6  0x5d00e1a7 in wodPlayer (pmt=0x0) at audio.c:1409
#7  0x5c0976f1 in THREAD_Start () at ../../include/winnt.h:1622
#8  0x5c0b16ab in SYSDEPS_StartThread (teb=0x5d253000) at sysdeps.c:141

In frame #6 I have these values:
(gdb) p wwo->msgRing
$4 = {ring_buffer_size = 64, messages = 0x5c363bf8, msg_tosave = 0, msg_toget = 0, 
  msg_event = 0x3c, msg_crst = {DebugInfo = 0x0, LockCount = -1, RecursionCount = 0, 
OwningThread = 0x0, LockSemaphore = 0x0, SpinCount = 0}}
(gdb) p dwSleepTime
$5 = 4294967295

And the line number on frame 1 is bogus again:
I don't think so. Gdb displays the inline function (from winnt.h) which 
is used in wait_reply... hence the output.

Perhaps FreeBSD uses different registers? (I really don't have a clue).
It should work the same as Linux here...

I think more that's a discrepency in OSS handling between linux & *BSD 
(or a more subtle bug somewhere)
could you rerun with WINEOPTIONS="-debugmsg +wave,+dsound,+wavemap"

TIA
A+
--
Eric Pouech



Re: Help with Errors on Darwin

2003-07-15 Thread Eric Pouech
Pierre d'Herbemont wrote:

#9  0x00692108 in LoadLibraryExA (libname=0x1 , hfile=0x16fb990, flags=0) at ../../loader/module.c:699
the libname value is strange (especially, if called in load_driver, with 
a buffer from the stack as libname)...
so either the debugger reports bad values (which can be the case :-(, or 
this shall be the first thing to look after
A+

--
Eric Pouech



Re: build wine as shared library

2003-07-15 Thread Eric Pouech
Bill Medland wrote:
Where are they please?
http://www.winehq.com/?issue=171

A+
--
Eric Pouech



Re: Running acrobat reader using wine

2003-07-15 Thread Eric Pouech
Mike Hearn wrote:
It's trying to load Video For Windows. I don't know if wine emulates
that or not, but you might be able to install it from an MS update
somewhere, if you can find one.
no, msvfw32 is loaded, it's the dependency on winmm that cannot be 
loaded. something is broken in your configuration.
A+

--
Eric Pouech



Re: [RESENT]: Fixed winedbg example configuration

2003-07-15 Thread Eric Pouech
Jon Bright wrote:
Alexandre Julliard wrote:

"BiGgUn" <[EMAIL PROTECTED]> writes:


Changelog:
 Reorder lines for a typical winedbg configuration.


Your patch is wrapped; but anyway I don't see any reason to change
that, keys are sorted when registry files are saved so the order
doesn't matter.


This needs to change, though - for example, the tool palettes in 
C++Builder appear in the wrong order because of this.
I really don't see how changing the configuration (in a no op way) of 
the debugger would fix some window related issue elsewhere
and if it's the case, it means something is severely broken in some 
other place => this is not the correct fix
A+

--
Eric Pouech



Re: build wine as shared library

2003-07-15 Thread Eric Pouech
There is a patch from (http://www.openlinksw.com/mono/) to build wine as
shared library.
I would like to know if wine will be soon merge this patch?
as a whole no (it will break lots of things in current wine). Maybe some 
parts could be merged, but the core will likely not be in wine. See the 
minutes of the latest (and first) wine tech meeting where the discussion 
took place.

Is there an other way to embed ActiveX, or any windows component, like
DirectX plug-ins, in Gnome application?
try to make two different apps.
A+
--
Eric Pouech



Re: 5 Wine-Tests fail on FreeBSD 5.1

2003-07-15 Thread Eric Pouech
Ulrich Spoerlein wrote:
Now what exactly is this code waiting for? Why doesn't it get any data
from fd 12? (And what are fds 12 and 13 (msg_pipe[0] and msg_pipe[1]
anyway)?
the pipe is used to synchronize messages between the main thread (the 
one which sends data to be played) and the player thread. Try to change 
dlls/winmm/wineoss/audio.c to not define USE_PIPE_SYNC and let us know 
if it changes something.

A+

--
Eric Pouech



Re: Loader fix for pathes differing by extra backslashes

2003-06-30 Thread Eric Pouech
Mike McCormack wrote:
Hi,

The loader seems to have a problem with extra backslashes in module 
pathnames.

If "c:\\windows\\system\\ole32.dll" is loaded and unloaded, then 
"c:\\windows\\systemole32.dll" is loaded, there will be trouble, as 
the loader does not recognise these two as the same module, yet dlopen 
does.
Did you test what Windows does in that case ? (I also wonder where the 
double backslash comes from).
A+
--
Eric Pouech




Re: Official MS symbol sets

2003-06-30 Thread Eric Pouech
Mike Hearn wrote:
Hi,

http://www.microsoft.com/whdc/ddk/debugging/symbolpkg.mspx

I assume people have looked at this before - how easy are they to match
up with Wine, and do people use them for debugging faults in native
code?
I never tested this before. It depends on which debugger you're using. 
WinDbg (the MS one) should be easy to use, but you'll miss the native 
part. WineDbg has some support for loading PDB files, but the latest 
formats are likely not to be supported, so YMMV.

A+

--
Eric Pouech



Re: Doom Legacy / Problems with DOS & and winedbg

2003-06-26 Thread Eric Pouech
Sylvain Petreolle wrote:
you shouldn't need to change the mode, why do you want to switch to
mode 
32 ?
since it complains in vm86 mode, I tried something different (all the
others :))

since the pc has changed between the two exceptions, I assume several
int 21 take place in a row.
yes, this is a dos prog... wich makes use of the long filename
functions of win95.

so, if you use cont at the second exception, you're stuck as for the 
first one. So, you should use pass if you want the execution to be 
correct (even the second time)
this is why I tried to switch to mode 16/32, to have no more problem
(do you know how many int calls are made in a dos prog ? ;) 
in that case, you can use a different technique.
Add a DebugBreak(); call in the offending function, and run the program 
without the wine debugger. The first time the offending func will be 
used, the debugger will be opened (if this lets you go further without 
passing all the time)
As of today, there's no automated way of passing N times, nor ignoring a 
given exception (we could add what gdb does: a mapping of behavior 
between a given exception (signal in gdb) and the behavior: enter 
debugger, pass exception, continue, exit...)

A+

--
Eric Pouech



Re: Doom Legacy / Problems with DOS & and winedbg

2003-06-26 Thread Eric Pouech
Sylvain Petreolle wrote:
Unfortunately, winedbg complains on the first int21 call :
First chance exception: interrupt 21 in vm86 mode in vm86 code
(00d4:045e).
How can this be avoided ?
do you get the winedbg prompt or not ? if so, 'pass' should do.
This works, thanks. But the same error appears on the next interrupt
call.
I tried  'mode 16' and 'mode 32' but they seem to do nothing.
I stay in vm86 mode.
you shouldn't need to change the mode, why do you want to switch to mode 
32 ?

since the pc has changed between the two exceptions, I assume several 
int 21 take place in a row.
so, if you use cont at the second exception, you're stuck as for the 
first one. So, you should use pass if you want the execution to be 
correct (even the second time)
A+

--
Eric Pouech



Re: Doom Legacy / Problems with DOS & and winedbg

2003-06-26 Thread Eric Pouech
Sylvain Petreolle wrote:
Trying to debug a problem into INT21_CreateDirectory,
I want to run doom3.exe into winedbg. (DL tries to create the directory
in %HOME%, set to /home/something... LOL)
Unfortunately, winedbg complains on the first int21 call :
First chance exception: interrupt 21 in vm86 mode in vm86 code
(00d4:045e).
How can this be avoided ?
do you get the winedbg prompt or not ? if so, 'pass' should do.

A+

--
Eric Pouech



Re: More Info and a call for help

2003-06-23 Thread Eric Pouech
Robert Lunnon wrote:
I am having problems with this Program, Little Fighter II, and also the 
installer that comes with the Worms II demo, both internet downloadable. 
Anyway both of these faults might be due to stack overflows or overwrites, 
especially the Worms II one below. What variable controls the size of the 
stack allocated to a thread ?
Hi Robert. Worms2 installer installs (more or less correctly) on Linux. 
So, this is likely a Solaris porting issue.
Thread size is set when creating the thread, with some guard pages (but 
it should be at least 1 MB)

the crash way be caused by a stack corruption (ie a function pops one 
dword too much). you could look at this with -debugmsg +relay.


The Fault indicates that the exception occurs at eip 0xddb2484a: and the 
address of the fault indicates it also is at 0xddb2484a which would indicate 
that it had trouble fetching the instruction ???
insn is pop %es, so a wrong selector value on the stack will cause the 
exception

A+
--
Eric Pouech



Info on windows server 2003 (new APIs)

2003-06-22 Thread Eric Pouech
http://msdn.microsoft.com/msdnmag/issues/03/06/WindowsServer2003/default.aspx
well, not too many surprises here (most of the new APIs already existed 
in XP)
A+
--
Eric Pouech




Re: Patch ntdll/kernel32: #27 take III, possible console regression

2003-06-22 Thread Eric Pouech
Jukka Heinonen wrote:
It seems that this patch (ntdll/kernel32: #27 take III) makes 
console input handles use edge triggered semantics. Which means 
that these handles only signal when new input is queued and not
when console input buffer has unread data.
there's a bug but because I use a semaphore to keep track of input 
record queue len, but this semaphore is decremented twice:
- a first time in the wait operation
- a second time while actually reading an input event
whereas it should be actually only decremented once (I'm still looking 
for my worn out brown paper bag)

I'll send a fix later on today.

--
Eric Pouech



Re: Localization to the Portuguese

2003-06-21 Thread Eric Pouech
Marcelo Duarte wrote:
Hi,
	I intend to perhaps keep the support the Portuguese language and to other 
tasks.
	Please, in any modifications to the resources, it would like to be informed 
to translate them, because I can be the support to Brazilian Portuguese 
language in the Wine.
good to have someone to this in charge...

	Alexandre, the portuguese of Brazil is slightly different of Portugal, but 
ALL files *Pt.rc that I encountered is brazilian portuguese (because "File" 
is translated to "Arquivo" in Brazil and to "Ficheiro" in Portugal, etc).
The questions are: I need to separate them? Which is the correct behavior?
Since there are differences, and if you're ready to support those 
different, then we can always create two sets of resources for 
portugese: one for portugese from Portugal, another one for brasilian 
portugese. Note, that windows consider Brasilian portugese to be the 
default sublang for all portugese:s (which seems to me a bit ackward, 
but South America is likely closer to Redmond than Lusitania...)

A+
--
Eric Pouech



Re: ntdll/kernel32: #27

2003-06-17 Thread Eric Pouech
Alexandre Julliard wrote:
Eric Pouech <[EMAIL PROTECTED]> writes:


as I wanted console handles to be managed by wineconsole, it was
cleaner IMO to let them be transparently handled on the client side
If you really prefer in the long run to keep the handles managed by
wineserver, then the server should manage them transparently


I'm not sure I follow you. They can't be handled transparently on the
client side, the client has to check for console handles in functions
like ReadFile, and convert them to whatever is appropriate, whether
that means a server handle or a wineconsole handle. So it seems much
cleaner to always intercept console handles in the client, rather than
intercepting some of them and passing others straight through to the
server. Whether or not they turn out to be implemented in wineconsole
ultimately is a different issue IMO.
In the patch I sent you, the interception is made on the client side. By 
transparently, I meant the obfuscation/deobfuscation mechanisms.

The full discussion we have is around passing console handles to the 
server. The client already intercepts any handle and checks whether it's 
a console handle or a regular ntdll handle. If it's a console handle, 
then implementation is passed to console functions (ReadConsole for 
ReadFile and so on).

The discussion we have (at least as I understand it ;-), is whether we 
should manage, on the client side, console handles:
- as obscure values passed by the server (except for the two low bits 
set to 1) (this is the current patch implementation)
- or as regular winserver handles with the two low bits set to 1, which 
means cleaning up those bits before sending the handles to the server

the transparency I was talking about referred to how the client should 
manage the handles if we had to move console handle creation out of 
wineserver

A+
--
Eric Pouech



Re: ntdll/kernel32: #27

2003-06-17 Thread Eric Pouech
My objection is not so much the obfuscation itself (though I think
it's safer to only touch the lower two bits), but the fact that the
server knows about it. This handle manipulation must be purely client
side, the server must not have to know about it at all; all handles
passed to the server must be normal handles.
as I wanted console handles to be managed by wineconsole, it was cleaner 
IMO to let them be transparently handled on the client side
If you really prefer in the long run to keep the handles managed by 
wineserver, then the server should manage them transparently

A+

--
Eric Pouech



Re: ntdll/kernel32: #27

2003-06-17 Thread Eric Pouech
Alexandre Julliard wrote:
Eric Pouech <[EMAIL PROTECTED]> writes:


- this patch partially implements this scheme. It's partial because
console handles are still handled by wineserver. Their value is
however obfuscated so that we can track their real usage.


IMO you shouldn't need to have any obfuscation code in the server at
all. If you need that, something is wrong with the design.
I don't need the obfuscation at all (just setting the two lower bits of 
the handle to 1). I used obfuscation to make it easier to track bugs. 
I'll resubmit without the obfuscation macros.

- next step would mean implementing the console handle management
outside of wineserver (likely in wineconsole)
I'm not convinced we really need that; IMO it's OK to keep them in the
server, as long as we can identify them as console handles from the
client.
I was what I really wanted to move to wineconsole was the content of 
screen buffers (which are copied twice currently and which I find rather 
bad). Of course, we could split handle management and object management 
in two different locations (wineserver resp. wineconsole), but this will 
complicate things IMO
and as any performance enhancement, it doesn't need to be done 
immediately (there are some other items to focus on)

A+

--
Eric Pouech



Re: wineconsole init

2003-06-14 Thread Eric Pouech
PETREOLLE Sylvain wrote:
Could we have settings that avoid the error message about ncurses ?
To have working non-buffered keyboard input in dos programs, I must disable
curses support.
non buffered input should work the same way in either curses or user 
backends in wineconsole
so removing the error message will not fix the real cause of the bug
A+

--
Eric Pouech



Re: Process termination & exit code

2003-06-14 Thread Eric Pouech
Alexandre Julliard wrote:
Eric Pouech <[EMAIL PROTECTED]> writes:


as reported by Igor Sysoev on WD, exit process code wasn't properly
implemented on *BSD
it appeared (thanks Igor for all the testings and traces) that after
terminate_process request was issued, the client/server pipe got
closed because the running thread was actually killed, erasing the
exit_code that terminate_process had set.
This patch actually fixes it.


I don't think we need a new thread state just for that; how about
something like this?
I agree that it would better without a new thread state
But it seems that in the case of a process termination with 
ExitProcess(0), your proposal will never set the exit code to 0 and 
always return an exit code of STILL_ACTIVE.

A+
--
Eric Pouech



Re: SoftICE for wine

2003-06-12 Thread Eric Pouech
Gerhard W. Gruber wrote:
On Thu, 12 Jun 2003 18:51:52 +0200, Eric Pouech <[EMAIL PROTECTED]>
wrote:

what didn't you like in gdb and winedbg ?


The interface is quite annyoing. A lot to type again and again. In pICE I have
all the relevant information at one glance. I was also thinking of adding user
space support, so that you can use pICE also as a normal debugger with a user
space GUI. I think there may be already some support for such a feature but I
didn't have time to look at all the code.
try ddd (or kgdb)

Also I didn't manage to get hardware breakpoints to work and I got no response
on my question about this.
what was the issue ?

ROS port uses a specific device driver, which will be fun to implement 
in wine
Could you tell me a bit more about this?
it seems that pice in ros needs a specific device driver, I assume it :
1/ implements low level CPU management (ie fault detection...)
2/ implements some kind of terminal emulation (screen shall be shared 
between debugger and debuggee) (including screen & keyboard)
which I think will be hard to implement (with pice current architecture)

winedbg has been inspired by gdb, but it is not an extension of gdb (as 
a standalone debugger). But, you're may be talking of the proxy feature 
of winedbg which lets gdb talk to wine thru gdb's remote protocol
Ah. Because of this I thought that winedbg would be a frontend like wdb. Only
that it is no GUI frontend but a code frontend.
that's why you can use any graphical frontend to gdb (which will then 
talk to wine thru winedbg) and gain every feature at once

A+

--
Eric Pouech



Re: SoftICE for wine

2003-06-12 Thread Eric Pouech
Gerhard W. Gruber wrote:
Three weeks ago I was trying to find a crash in Agent. Since I don't know the
code of wine so well I tried to do this with a debugger. My experience was
rather frustrating. GDB and winegdb are not exactly what I call userfriendly.
On a Windows system I would have found this error within a few hours but I
didn't come to terms with winedbg and gdb. So I was looking for an alternative
and I found a project on sourceforge named pICE. 
what didn't you like in gdb and winedbg ?
trying to port pice to wine would be rather an heavy task
I don't really what you will gain with pICE
> This project was abandoned
about two years ago, but I was interested in it and now I got the
administration for it. pICE is a kernel debugger for linux similar to SoftICE
and I thought it would be nice to have such a tool. My intention is to add
extensions to support wine debugging as well (this was my primary reason) and
now I would like to know if this is would be of interest to you as well 
I personnaly don't see an interest. It's already a burden to maintain 
winedbg, so maintaining a second debugger doesn't seem right to me
and if
yes (what I hope :) ) what extensions are needed in order to support wine. 
ROS port uses a specific device driver, which will be fun to implement 
in wine
> I
guess that winedbg is similar in that respect that it is also an extension of
gdb, am I right?
winedbg has been inspired by gdb, but it is not an extension of gdb (as 
a standalone debugger). But, you're may be talking of the proxy feature 
of winedbg which lets gdb talk to wine thru gdb's remote protocol

If somebody knows the details I would like to hear it. But
don't expect anything soon because I still need to dig into the code of pICE
to make it stable first.
Again, I don't see what pICE will bring you that you don't have in gdb 
or winedbg. IMO, you should start by explaining this.

A+

--
Eric Pouech



Re: Debuging Wine

2003-06-12 Thread Eric Pouech
When using "so" mode this error is generated. I added "_ftol" in libmsvcrt.so 
and that error is no longer generated. Is that right thing to do ?
so is now obsolete... there's only choice between native and builtin

A+

--
Eric Pouech



Re: Discovering which critical sections threads are in

2003-06-11 Thread Eric Pouech

The null ebp at the top is kind of odd, I think this stack might be the
result of a demarshalled RPC call. But anyway. As you can see it's
blocking on a critical section, but I don't know how to find out which
thread has got suck inside it. I tried putting trace statements in
Rtl(Enter/Leave)CriticalSection, oops, not a good idea, wy too much
spew there to be useful.
So, what I'd like to know is whether there is any way to find out which
thread has entered that critical section. Also, is this even a good
idea, or is there a better way to debug thread deadlocks?
thanks -mike

normally there's a message printed out when a critsect times out like:
section 0x12345678 myCS wait timed out, retrying (60 sec) tid=
and the tid gives you the thread id of the thread holding the cs
then, you can use it for example in 'bt ' to get a backtrace of 
that particular thread and look at what it's doing

A+

--
Eric Pouech



Re: WinHelp and reassigning bugs

2003-06-10 Thread Eric Pouech
however it says I can't CC or reassign it to him as the email address I
used, [EMAIL PROTECTED], is not a valid bugzilla account.
mu bugzilla account is pouech at winehq.com
Basically, the guy has some details on the undocumented parts of how the
winhelp protocol works..
except that the described problem is a pure window messaging issue, and 
is not winhelp related
(winhelp uses WM_WINHELP and not the WM_HELP you're talking about)
so the bug should be set in ui category, not winhelp

A+

--
Eric Pouech



Re: winedgb problem

2003-06-08 Thread Eric Pouech
Raphaël Junqueira wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi,

 i have bit problem with winedbg whil trying to debug Unreal2 demo ;(
This game seems to use exception for error handling and at first exception it 
breaks, and after i try 'pass' or 'cont' and the games never continue (the 
dbg remains in exceptions stack) ;(((

while running without winedbg i have no problem (well i crash later, and i 
want to debug this crash but unreal2 catch it, print the stack and exit)

Have you an idea why ?
no
try walk except between each call to pass and check whether the seh 
frams change or not
A+

--
Eric Pouech



Re: Wineconsole init

2003-06-08 Thread Eric Pouech
Sylvain Petreolle wrote:
its in text format, fails the same way if I remove all html content.

http://www.winehq.com/hypermail/wine-patches/2003/06/0093.html

send me the text file you're patching with, I'll have a look at it
A+
--
Eric Pouech



Re: Wineconsole init

2003-06-08 Thread Eric Pouech
[EMAIL PROTECTED] wine]$ patch -p0 <~/0093.html
is the patch format html or text...
if the former, then it'll likely fail
A+
--
Eric Pouech



Re: d3d8 compile issues

2003-06-06 Thread Eric Pouech
Ann and Jason Edmeades wrote:
Ok, I wonder if this change will do it for you:

At the top of device.c
#ifdef HAVE_GL_GLEXT_H
#include 
#endif
#ifdef HAVE_GL_GLX_H
#include 
#endif
Jason

nope, doesn't work
A+
--
Eric Pouech



Re: glext missing

2003-06-06 Thread Eric Pouech
Ann and Jason Edmeades wrote:
Oops - Looks like a check got missed. Change the top of device.c to add:

#ifdef HAVE_GL_GLEXT_H<--- Add this
#include 
#endif< and this
#include 

Note the #include  may need to go inside the #ifdef.
that won't be sufficient. In my case, I do have glext.h but I don't have 
glxext.h. Sounds like we need some further check (configure, GL versions 
...) for glxext.h
A+

--
Eric Pouech



Re: d3d8 compile issues

2003-06-06 Thread Eric Pouech
Ann and Jason Edmeades wrote:
FYI If you are having problems compiling d3d8, add the following to
d3d8_private.h after the APIENTRY #define 

/* Temporary hack for compile */
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red,
GLfloat green, GLfloat blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat
*v);
typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red,
GLubyte green, GLubyte blue);
typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size,
GLenum type, GLsizei stride, const GLvoid *pointer);
typedef void (APIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum
internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid
*table);
typedef void (APIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname,
GLfloat param);
typedef void (APIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname,
const GLfloat *params);
Raphael - I'll let you fix this issue properly.. :-)

Jason


I've got some different issues.
first, GL/glxext.h (included from d3d8/device.c) doesn't exist on my machine
then, in d3d8/utils.c, GL_ALPHASCALE, GL_PRIMARY_COLOR, GL_CONSTANT, 
GL_PREVIOUS are not defined, causing some more errors

A+

--
Eric Pouech



Re: GetExitCodeProcess always returns 1, nmake problem

2003-06-05 Thread Eric Pouech
Igor Sysoev wrote:
In the mail list archive I saw that some people use wine to run nmake.
I just wonder if they are able to build a complex ehough makefile without
nmake's switch "-i". In my wine enviroment every program that nmake
runs always returns exit code "1" and nmake terminates further building
something like:
-
NMAKE : fatal error U1077: 'c:\vc\bin\cl.exe' : return code '0x1'
Stop.
-
So to ignore exit codes I used to set nmake's switch "-i".
I made small test case that show that wine always set exit code to "1"
despite the passed value. Under Windows NT p1 outputs:
-
executed
exit code: 0
-
while under wine-20030508 on FreeBSD 4.3 p1 outputs:
-
executed
exit code: 1
-
this works just fine on linux
could you rerun your test with -debugmsg +server and send me the log
A+
--
Eric Pouech



Re: CreateFile("conin$") issue

2003-06-04 Thread Eric Pouech
Oleg Prokhorov wrote:
Hello Eric,

Tuesday, June 3, 2003, 2:54:46 AM, you wrote:

EP> no, wine doesn't create a win32 console (which is needed by opening
EP> conin$, which open the input of the win32 console attached to the 
EP> running process). running wine simply redirects the Win32 standard 
EP> handles to unix 0/1 (whatever they are) but doesn't create any console.
What's the purpose of this separated functionality ? In the other
words why wine doesn't open console by default ?
because some people don't want a wine console and are looking for the 
standard unix one instead... using wineconsole (instead of wine) is the 
preferred way to go

I've got some problems with wineconsole (latest CVS) and my Mandrake 9.1.

EP> what type of problem ?
it prints error message:
err:wineconsole:WINECON_Init failed to init.
first of all, do you have (n)curses installed ? if not, that's the issue
if yes, could you send me a -debugmsg +server,+wineconsole,+console trace ?
TIA
A+

--
Eric Pouech



Re: msdos/int21 CREAT special cases

2003-06-04 Thread Eric Pouech
Ferenc Wagner wrote:
Eric Pouech <[EMAIL PROTECTED]> writes:


_lcreat16 (and al.) is in fact a 16 bit function, implemented in
krnl386. so, normally it wouldn't be accessible from 32 bit DLLs (we
can do it in some cases, but the least we do, the better it is).
So, if the same behavior (as _lcreat16) can be obtained with other 32
bit APIs (like _lcreat or CreateFile), that'd be better. Beware, that
_lcreat16 is different from _lcreat (search path order for example is
not the same).


Thanks for the clarification!  Given the definitions

HFILE16 WINAPI _lcreat16( LPCSTR path, INT16 attr )
{
return Win32HandleToDosFileHandle( (HANDLE)_lcreat( path, attr ) );
}
HFILE WINAPI _lcreat( LPCSTR path, INT attr )
{
/* Mask off all flags not explicitly allowed by the doc */
attr &= FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM;
TRACE("%s %02x\n", path, attr );
return (HFILE)CreateFileA( path, GENERIC_READ | GENERIC_WRITE,
   FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
   CREATE_ALWAYS, attr, 0 );
}
I could easily change my patch to call _lcreat() or
CreateFileA() instead of _lcreat16(), but I am not sure if
that would be right, since the differences you mention do
not seem to be implemented, and I could not find any
documentation on them.  In sight of this, what do you
recommend?  The conformance tests do not show any anomaly in
the behaviour of _lcreat(), but it may be only that these
aspects simply are not tested.
you're right, I was in fact referring to the differences for
OpenFile between 16 and 32 bits. Replacing _lcreat16 by 
Win32HandleToDosFileHandle( (HANDLE)_lcreat( should be just fine
A+
--
Eric Pouech




Re: CreateFile("conin$") issue

2003-06-03 Thread Eric Pouech

EP> for this call to work correctly, you must run your app in a console. 
EP> using wineconsole  instead of wine  should fix it

Isn't there any way to make 'wine' work also ?
no, wine doesn't create a win32 console (which is needed by opening 
conin$, which open the input of the win32 console attached to the 
running process). running wine simply redirects the Win32 standard 
handles to unix 0/1 (whatever they are) but doesn't create any console.

I've got some problems with wineconsole (latest CVS) and my Mandrake 9.1.
what type of problem ?
A+
--
Eric Pouech



Re: kernel32 file operations and wildcard filenames

2003-06-03 Thread Eric Pouech
Rolf Kalbermatter wrote:

those functions are likely to be rewritten RSN (and 
DOSFS_GetFullName may even disappear)
So I'd suggest rather starting by writing test cases for 
those functions so we could use those tests when the rewrite 
is going to take place


I see the point here. Any ideas about the timeframe? 
we need a rather step by step approach here, so the complete time frame 
could be several months.
my point in previous mail was not to stay, stop all work on these 
issues, but rather be aware that some changes are underway.
Help is making thoses changes happen is always welcomed ;-)

> Is this
about calling into NTDLL instead of implementing it all in
kernel32?
it depends wether the functionality exists in ntdll or not.
for the move operation, we're likely to keep the existing framework:
- check if source file exists
- try to move it (calling ntdll.NtSetFileInformation with 
FileRenameInformation class)
- this function will be implemented as a Unix rename
- if it fails (different drive for example), then a pure copy will be 
implemented

One question I have is how to proceed with those tests? Adding
them all to the current wine tests would create serious troubles
unless we fix the according issues in the already existing
kernel32 functions as well, in spite of the coming rewrite.
there's the wine_todo expression in tests which marks a test as passing 
on windows and failing under wine. that's the good way to do it (check 
that the test passes, here that a given error is reported while trying 
to move a file to a non correct filename)

A+

--
Eric Pouech



Re: CreateFile("conin$") issue

2003-06-03 Thread Eric Pouech
Oleg Prokhorov wrote:
Hello ,

I've been examining compatibility of OpenWatcom C/C++ compiler with
Wine. And it works just fine except one thing.
So I request for your help to eliminate it, it looks easy but covers
wine client/server stuff, which is not so trivial.
for this call to work correctly, you must run your app in a console. 
using wineconsole  instead of wine  should fix it

A+

--
Eric Pouech



Re: msdos/int21 CREAT special cases

2003-06-03 Thread Eric Pouech
Ferenc Wagner wrote:
Pouech Eric DMI AEI CAEN <[EMAIL PROTECTED]> writes:


please stop using krnl386.exe export when possible
(especially for dos emulation which is going out of
kernel32/krnl386.exe combo). So, if CreateFile can do,
please use it (ditto for any other krnl386 file related
functions) this is needed for proper DLL separation


_lcreat16 (and al.) is in fact a 16 bit function, implemented in 
krnl386. so, normally it wouldn't be accessible from 32 bit DLLs (we can 
do it in some cases, but the least we do, the better it is).
So, if the same behavior (as _lcreat16) can be obtained with other 32 
bit APIs (like _lcreat or CreateFile), that'd be better. Beware, that 
_lcreat16 is different from _lcreat (search path order for example is 
not the same).

HTH

A+

--
Eric Pouech



Re: Windows version handling

2003-05-27 Thread Eric Pouech
Thomas Charbonnel wrote:
Hi,

I reported a crash some days ago, triggered when WritePrivateProfileString
is called with a NULL lpFileName. I was advised to test windows'
behaviour, which I did. The call behaves differently on Win9x/Me and
WinNT/2K/XP. Should I model the patch after this ? If yes, is there an
internal Wine mechanism to deal with windows versions, or should I just
call GetVersionEx ?
it also depends on the behavior
if, let say, Win9x crashed and Win NT don't crash and return an error 
code, then the simplest is to return the error code in all cases (and 
leave a comment in the code noting the difference with Win 9x)
if the differences are more important, then more advanced techniques 
should be used

A+

--
Eric Pouech



Re: Implements languagegroups functions

2003-04-05 Thread Eric Pouech
I wonder if it's possible to force GCC 3.2 to act as a C97 compiler.. It
could be used in Wine's configure script to prevent breakage on us poor GCC
2.95.X compilers :-)
-std=gnu89

A+

--
Eric Pouech



Re: RtlAtom tests improved

2003-04-05 Thread Eric Pouech
György 'Nog' Jeney wrote:
I figured out that the RtlCreateAtomTable function as expecting to get
passed in a NULL as the initial Table, otherwise it thinks that the
argument is a valid atom table and just returns success.  This
unfourtuneatly makes the test
results that Dimitrie send useless because RtlCreateAtomTable thought
   
I realy did mean Dimitry.
didn't you actually mean Dmitry ? ;-)

A+
--
Eric Pouech



Re: valgrind for WINE

2003-04-03 Thread Eric Pouech
Apart from the duplication of the signal mechanism, it also introduces
races, since we depend on the client to do part of the suspend
code. It means the server state will not necessarily match the actual
state of the client thread, which could cause trouble. I'm still not
convinced we want that in the standard tree.
looking at VG MLs, it seems that there's already some ongoing work 
(http://www.goop.org/~jeremy/valgrind/ get to #77) which would provide a 
better signal handling, so this might be a way to get through that (I 
didn't test it though)

A+

--
Eric Pouech



Re: OSS Bug

2003-04-03 Thread Eric Pouech
Rod Taylor wrote:
By default it seems to return EINVAL.

Line 953
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/sound/pcm/dsp.c?annotate=1.62
so something like this should do.

A+

--
Eric Pouech
Index: dlls/winmm/wineoss/audio.c
===
RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/wineoss/audio.c,v
retrieving revision 1.81
diff -u -r1.81 audio.c
--- dlls/winmm/wineoss/audio.c  17 Mar 2003 00:00:53 -  1.81
+++ dlls/winmm/wineoss/audio.c  3 Apr 2003 19:47:39 -
@@ -278,7 +278,11 @@
 /* turn full duplex on if it has been requested */
 if (ossdev->open_access == O_RDWR && ossdev->full_duplex) {
 rc = ioctl(fd, SNDCTL_DSP_SETDUPLEX, 0);
-if (rc != 0) {
+/* on *BSD, as full duplex is always enabled by default, this ioctl
+ * will fail with EINVAL
+ * so, we don't consider EINVAL an error here
+ */
+if (rc != 0 && errno != EINVAL) {
ERR("ioctl(%s, SNDCTL_DSP_SETDUPLEX) failed (%s)\n", ossdev->dev_name, 
strerror(errno));
 goto error;
}


Re: valgrind for WINE

2003-04-02 Thread Eric Pouech
a small contribution (for valgrind) to get current wine running
Adam, I think it would be better if you get all those changes together 
for inclusion in vg, if you don't mind

A+

--
Eric Pouech
Index: vg_syscalls.c
===
RCS file: /cvsroot/valgrind/valgrind/coregrind/vg_syscalls.c,v
retrieving revision 1.25
diff -u -r1.25 vg_syscalls.c
--- vg_syscalls.c   24 Feb 2003 21:55:34 -  1.25
+++ vg_syscalls.c   2 Apr 2003 19:39:40 -
@@ -647,6 +661,14 @@
  break;
 # endif
 
+# if defined(__NR_gettid)
+  case __NR_gettid: /* syscall 224 */
+ /* pid_t gettid(void); */
+ MAYBE_PRINTF("gettid ()\n");
+ KERNEL_DO_SYSCALL(tid,res);
+ break;
+# endif
+
 # if defined(__NR_setxattr)
   case __NR_setxattr: /* syscall 226 */
  /* int setxattr (const char *path, const char *name,


Re: valgrind for WINE

2003-04-02 Thread Eric Pouech
the reason msvcrtd is there is that you need to use it for valgrind to do
any checking of the heap - an instrumented malloc (see the changes to ntdll/heap.c)
is required to tell valgrind that freshly allocated blocks are uninitialized,
and the freed blocks are now invalid.
IMO you need msvcrd for running under wine a windows program compiled 
with both DEBUG turned on, and linking to MSVCRT
you don't need msvcrtd at all to run, say, a winelib program with 
valgrind enabled (I assume this comes from the fact you did most of the 
testing with a wine running a windows app which has been compiled with 
the DEBUG flag on)
anyway, that's pure semantic. I doesn't change the real benefit behind: 
being able to run wine under valgrind !!

on a more minor side of things, I would keep the VALGRIND prefix in heap.c
not sure what you mean here, but the heap.c stuff appears to have been committed
(slightly rewritten by the look of it...). To be of ANY use you need the MSVCRTD
stuff as well though!
basically, partly what Alexandre did to your patch => keeping the code 
(and macros) which are valgrind related being prefixed with VALGRIND

last point, using the .vg extension to the wine script may not be 
optimal. it won't work (as it is written) for winelib programs (which 
got started also thru the wine script)
one solution would be (to follow your idea) to link (for a winelib app 
called foo) foo.vg to script wine (and change your rule something like 
*.vg|*/*.vg). another option would be to embed this support as an option 
to the wine script (like --valgrind)


maybe, this was just a hack to make it easier to use "in tree". not sure people
would want a "--valgrind" switch in a (presumably) production winelib piece of
software - it would show the world all your bugs ;-)
sure!!! that's why putting it in a file external to winewrapper might be 
a good solution too (lile the .winewrapper)

A+
--
Eric Pouech



Re: OSS Bug

2003-04-02 Thread Eric Pouech
Rod Taylor wrote:
Found something related:

http://news.gw.com/freebsd.bugs/22626

According to it, FreeBSD doesn't have that ioctl as it's always on.
what errno value do you get when the call fails ?
I'd suggest we ignore the error if ioctl returns -1 with this specific 
errno (if possible)

A+
--
Eric Pouech



Re: valgrind for WINE

2003-04-01 Thread Eric Pouech
Adam Gundy wrote:
a new version of the valgrind patch has been uploaded to sourceforge -
the only change is a small fix to the signal handling which should
prevent "signal handler frame" uninitialized errors.
  http://sourceforge.net/tracker/index.php?func=detail&aid=710006&group_id=46268&atid=445588

comments? bug reports? success stories?
did test it yet.

As a global note, I think it would be appreciated breaking the patch in 
smaller bits... it makes it easier to track/follow what happens. For 
example, I don't see any reason for including the msvcrtd patches into 
this patch

I think that Alexandre is currently integrating (bit per bit) your 
changes into wine. look for the patch about zeroing the request zones 
(which is another implementation of your structure packing), as well as 
local availability of the thread PID

on a more minor side of things, I would keep the VALGRIND prefix in heap.c

last point, using the .vg extension to the wine script may not be 
optimal. it won't work (as it is written) for winelib programs (which 
got started also thru the wine script)
one solution would be (to follow your idea) to link (for a winelib app 
called foo) foo.vg to script wine (and change your rule something like 
*.vg|*/*.vg). another option would be to embed this support as an option 
to the wine script (like --valgrind)

how are your patches doing on the "other side" (I mean valgrind's) ?
A+
--
Eric Pouech



Re: Debugging winedbg

2003-03-29 Thread Eric Pouech
Ulrich Spoerlein wrote:
Can anyone please explain this to me?
every module (in the Wine sense) is create with a .init section. the 
code in this section is executed as soon as the module is loader (by the 
ELF loader). But the code in this section expects a bit of Wine 
environment to be already present (basically the wine executable)

with preloading the .exe.so file, this code gets executed with the wine 
executable being loaded

And what would be the easiest way to break into gdb on DEBUG_MainLoop?
add a breakpoint instruction at the start of DEBUG_MainLoop code
__asm__("int 3"); would do
A+

--
Eric Pouech



Re: Some shell32 questions and pictures

2003-03-29 Thread Eric Pouech
Steven Edwards wrote:
Hello,
I was taking a look at the current shell32 sources from winehq and 
trying to see if we needed to merge in the reactos shell32 fork stuff. 
We have forked a small part of shell32 to be able to run the control 
panel application with our own dll. After doing some testing I wanted to 
see from you guys if our implementation was right and if it would be 
accepted to the winehq tree. I was wondering if this really needs to go 
in to the shell32 or in to the explorer clone.
IMO, both are wrong.
Rendering of control panel should be done in EXPLORER, looking at the 
ControlPanel folder. However, the shell folder for the control panel 
should be finished (which I'm not sure it is ATM)

A+
--
Eric Pouech



Re: PATCH: /dlls/ntdll/cdrom.c -- portability breakage

2003-03-26 Thread Eric Pouech
Alexandre Julliard wrote:
Gerald Pfeifer <[EMAIL PROTECTED]> writes:


How about the following patch?

It's needed for compilation on FreeBSD; in case it's not correct,
how should we solve the problem?


I think the code is wrong, we shouldn't store a Linux-only define in a
Windows structure, we should use a Windows define. Any one knows what
the right value should be?
the code is wrong (evil cut & paste IMO). we should use 
IOCTL_CDROM_CURRENT_POSITION in FormatCode

A+
--
Eric Pouech



Re: [ANN] Wine @ SourceForge

2003-03-25 Thread Eric Pouech
Dimitrie O. Paun wrote:
On March 23, 2003 01:50 pm, Eric Pouech wrote:

I think we need to define clearly what is going to appear on winehq on
one hand, and on SF on the other hand:
- which parts/info... are only be hosted on winehq
- which parts/info... are only be hosted on SF
- which parts/info... are only be hosted on both


For now things are pretty clear:
  -- the "Home" on SF points to www.winehq.org
  -- we are going to store only downloadable files on SF:
- official tarballs
- 3rd party support files that we can distribute
- as many binary packages as possible (currently,
  we have binary packages for Debian and Suse, but
  the respective maintainers have not voiced their
  opinion on the matter).
  -- the other SF features (mailing lists, CVS, bug tracker,
 patch tracker, etc.) are not currently used. However,
 I will try to monitor the bug & patch tracker in case
 people start using them.
Did I leave anything out?

my point was really to ensure that winehq.org will remain the focal 
point for wine. this seems to be the case for now (but "for now" can 
always change)
A+

--
Eric Pouech



Re: [ANN] Wine @ SourceForge

2003-03-23 Thread Eric Pouech
Dimitrie O. Paun wrote:
Hi folks,

Some of you probably know that we had a wine project at SourceForge
for a long time, but not much was done with it. Recently, we decided
to transform it into our official download site:
	http://sourceforge.net/project/showfiles.php?group_id=6241

It currently hosts source tarballs, support files, and binary packages
for FreeBSD, RedHat, and Slackware. Check it out.
We invite comments, criticism, and/or praise :).

I think we need to define clearly what is going to appear on winehq on 
one hand, and on SF on the other hand:
- which parts/info... are only be hosted on winehq
- which parts/info... are only be hosted on SF
- which parts/info... are only be hosted on both

since, the revamp of winehq is taking place, it may be worthwile to 
explain this split a little bit more

I'm also worried about the sort of trouble we had to maintain all 
RPM/DEB/... available on winehq, so what's going to change (for good) on SF

A+

--
Eric Pouech



Re: PATCH: Implement some missing stuffs (reformated)

2003-03-23 Thread Eric Pouech
BigBun wrote:
your reformating is wrong (the long lines are wrapped)

 case TCM_SETPADDING:
-  FIXME("Unimplemented msg TCM_SETPADDING\n");
+  TabCtrl_SetPadding (hwnd, wParam, lParam);
   return 0;
this is wrong...
TabCtrl_SetPadding is defined as:
#define TabCtrl_SetPadding(hwnd,  cx, cy) \
(void)SNDMSGA((hwnd), TCM_SETPADDING, 0, MAKELPARAM(cx, cy))
so, this code will resend the TCM_SETPADDING while processing the 
TCM_SETPADDING

-get_server_window_text( hwnd, lpString, nMaxCount );
+get_server_window_text( hwnd, lpString, nMaxCount );
you could also clean up your patch and remove the no op diffs

A+

--
Eric Pouech



Re: wine/controls scroll.c

2003-03-23 Thread Eric Pouech
Alexandre Julliard wrote:
ChangeSet ID:   7402
CVSROOT:/opt/cvs-commit
Module name:wine
Changes by: [EMAIL PROTECTED]   2003/03/07 14:38:20
Modified files:
	controls   : scroll.c 

Log message:
Andrew Johnston <[EMAIL PROTECTED]>
- GetScrollRange zeros the return parameters for no infoPtr
- GetScrollRange, GetScrollPos and GetScrollInfo send a message to the
window for the SB_CTL case
- Moved code for GetScroll* to into worker functions

@@ -1736,22 +1804,18 @@
  * RETURNS STD
  */
 BOOL WINAPI GetScrollRange(
-HWND hwnd, /* [in] Handle of window */
-INT nBar, /* [in] One of SB_HORZ, SB_VERT, or SB_CTL  */
-LPINT lpMin, /* [out] Where to store minimum value */
+HWND hwnd /* [in] Handle of window with scrollbar(s) */,
+INT nBar /* [in] One of SB_HORZ, SB_VERT, or SB_CTL  */,
+LPINT lpMin /* [out] Where to store minimum value */,
 LPINT lpMax /* [out] Where to store maximum value */)
 {
-SCROLLBAR_INFO *infoPtr;
+TRACE("hwnd=%p nBar=%d lpMin=%p lpMax=%p\n", hwnd, nBar, lpMin, lpMax);
 
-if (!(infoPtr = SCROLL_GetScrollInfo( hwnd, nBar )))
-{
-if (lpMin) lpMin = 0;
-if (lpMax) lpMax = 0;
-return FALSE;
-}
-if (lpMin) *lpMin = infoPtr->minVal;
-if (lpMax) *lpMax = infoPtr->maxVal;
-return TRUE;
+/* Refer SB_CTL requests to the window */
+if (nBar == SB_CTL)
+return SendMessageA(hwnd, SBM_GETRANGE, (WPARAM)lpMin, (LPARAM)lpMax);
+else
+return SCROLL_GetScrollRange(hwnd, nBar, lpMin, lpMax);
 }


This patch is wrong the hwnd is in fact a 16 bit window
I've an old win16 app which got broken because of this (wParam got 
truncated to a 16 bit value, and of course caused a segfault)

A+

--
Eric Pouech



Re: Regression in latest CVS

2003-03-22 Thread Eric Pouech
Vitaliy Margolen wrote:
I got CVS from 3 days ago. No problem there. I'll try to get CVS from 2 days ago &
see what's gonna happen.
thx, the fix has just been sent to wine-patches
A+
--
Eric Pouech



Re: Regression in latest CVS

2003-03-22 Thread Eric Pouech
Vitaliy Margolen wrote:
I have a problem with latest CVS in the past several days. Every app locking up.
Any suggestions where should I look. It's not a dead loop. Something happening,
according to trace.
two points:
- are you sure you properly recompile all wine files ? (at least 
regenerating the depends after the cvs update)
- try to run the program under a debugger (even gdb if winedbg fails) so 
that we get a proper stack trace when the program segfaults (in your 
case, the program has its own fault handler which covers with more smoke 
the issue) (or try using another application)

A+

--
Eric Pouech



Re: #1336: Delete a read-only file says not found

2003-03-22 Thread Eric Pouech
Sylvain Petreolle wrote:
Trying to delete a read only file with wcmd actually should fail,
 option is not yet implemented.
But it fails  abnormally : it says that the file isnt found.

A first test is done to see if no handle can be obtained, it passes.

If I enable the --debugmsg +file it returns a GLE 2 fault. (file not
found).
Comments ?
it works as expected here, get an access denied error
can you really access your directory (what does wcmd's dir do ?)
A+

--
Eric Pouech



Re: wine/loader module.c

2003-03-19 Thread Eric Pouech
> Note that before we go about
fixing that we need to check all the callers in Wine, there are many
places where we don't expect that behavior. 
ok, I'll take a look at that

Also the GetLongPathNameW
call won't do the right for a short buffer either.
yes, MSDN is not very clear about what is done when the buffer is too 
small (actually writting the string or not... which it doesn't when the 
buffer is too small, in opposition to GetModuleFileName)

I only wish that MS could at least be consistent in their API 
definition, but that's may be too much to be asked 

A+

--
Eric Pouech



  1   2   3   4   5   6   7   8   9   >