Re: winedbg hanging

2005-02-26 Thread Alex Woods
On Sat, Feb 26, 2005 at 09:00:04PM +, Alex Woods wrote:
> as 64-bit?  I'm pretty sure I'm either being dense, or something is
> happening that I'm not aware of.  Could someone point out which, please?

It was a bit of both.  There is a dbghelp.dll in the apps directory.
I'm off to wallow in shame.  Later ;)

-- 
Alex



Re: vartest.c - major pain in the build process

2005-02-26 Thread Krzysztof Foltman
Jakob Eriksson wrote:
Also, that won't stop people from running winetest on linux, I'll bet
$5 winetest.exe downloads from WRT will keep showing up.
Yes. But should something that's useless for the majority of users and 
developers be enabled by default ? Looks like significant cost with 
little benefit.

That said, maybe winetest should not build by default. That
doesn't sound like a lot of fun.
Sounds like a good idea. And, by the way, a configure switch to disable 
all the DirectX modules would be nice too. One doesn't need DirectX to 
run business software. Or to work on a non-multimedia control like 
RichEdit20 ;) Or, maybe, a switch to skip building particular DLLs.

Krzysztof


winedbg hanging

2005-02-26 Thread Alex Woods
Hello,

When I try to run winedbg with the --gdb option, it simply hangs.  I've
tracked this down to dbg_get_debuggee_info returning false and then
everything falling through to a wait(NULL).  The callback that is
getting passed SymEnumerateModules doesn't seem to be getting called at
all.  I've put traces into the SymEnumerateModules but they aren't
spitting anything out.  Here is the function getting called though:

0035:CALL dbghelp.SymEnumerateModules((0x558b,0002,0040): returning 558c5de8) ret=55b1f6be
0035:RET  dbghelp.SymEnumerateModules(003c,55b1f590,55c3f4b0) 
retval=0001 ret=55b1f6be0

I'm not I believe that it is getting called, at least not the one in
dbghelp/module.c.  I've stuck an exit at the top of it, and it doesn't.
I've noticed a SymEnumerateModules64 that is just a stub, and that's
made me suspicious because I'm running a multilib compiled wine on an
x86_64 platform.  Also, could that be a problem, since gdb is compiled
as 64-bit?  I'm pretty sure I'm either being dense, or something is
happening that I'm not aware of.  Could someone point out which, please?
;)

Cheers.

-- 
Alex



Re: MSVCRT: Generating relay stubs for libc forwards/varargs

2005-02-26 Thread Jon Griffiths
> For the varargs and libc-forwarded function in msvcrt, I think all
> that we
> need is already in out spec file. So no need for the MS SDK.

If you want to write the tracing code by hand, yes. If you have the
headers winedump will generate the TRACE() statements for you as
well.

Cheers,
Jon


=
"Don't wait for the seas to part, or messiahs to come;
 Don't you sit around and waste this chance..." - Live

[EMAIL PROTECTED]



__ 
Do you Yahoo!? 
Yahoo! Mail - now with 250MB free storage. Learn more.
http://info.mail.yahoo.com/mail_250



Re: vartest.c - major pain in the build process

2005-02-26 Thread Jakob Eriksson
Mike Hearn wrote:
I disable winetest in my tree entirely, and have done for a long time. It
should be disabled in CVS as well, nobody should be building winetest on
Linux, it just encourages people to submit useless results by saying "oooh
I wonder what happens if I do this". Worse this isn't just about it taking
 

Actually there may be some value in running winetest on Linux. [*]
Also, that won't stop people from running winetest on linux, I'll bet
$5 winetest.exe downloads from WRT will keep showing up.


* - We not only get statistics of how the Windows API works. We also
get coverage of how well Wine is implemented in the wild, with different
versions of Linux.

too long, on my machine attempting to compile winetest actually crushes
it totally. It descends into swap hell and never seems to re-emerge.
 

That said, maybe winetest should not build by default. That
doesn't sound like a lot of fun.
regards,
Jakob



Re: MSVCRT: Generating relay stubs for libc forwards/varargs

2005-02-26 Thread Alexandre Julliard
Uwe Bonnes <[EMAIL PROTECTED]> writes:

> in msvcrt a lot of functions are of type vararg (e.g. printf) or are
> forwards into the Linux libc (e.g. strstr) and so leave no trace in a +relay
> log. This makes it harder to debug.

The forwards into libc show up in relay just fine, they are not
different from other functions. The varargs one can't since we have no
idea how much stack to copy, but what you can do is add some traces in
the function itself.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Relax test requirements to accomodate fuzz of msacm

2005-02-26 Thread Robert Reif
Jeremy White wrote:
So the only fix I can imagine would be to not use msacm
to perform these conversions and have a parallel set of converters
do this in an aligned fashion.
I just tried msacm.drv from a windows 95 CD and it didn't work.
I also tried msacm32.drv from xp and it also doesn't work.
I ran winedump on msacm32.drv from xp and it imports msacm32.dll.
I will try and get msacm32.drv working so we can see what windows
really does.



Crash in Polar Precision Performance Software

2005-02-26 Thread Ron Jensen
Hello,

This trace is from Polar's Precision Performance Software
http://www.codeweavers.com/site/compatibility/browse/name?app_id=681
running on CVS wine.

This crash happens with CVS wine, and wine I compiled from 
http://ftp.codeweavers.com/pub/crossover/office/source/office-src-4.1.0.tgz
It does not happen with the precompiled binaries in CXOffice's Loki installer.

Can someone give me a clue as to were to start looking to fix this?

Thanks.

/***/
wineuser$wine 'C:\Program Files\Polar\Polar 32.exe'
fixme:gdi:Escape16 unknown/unsupported 16-bit escape c03 
(56,0x403815de,0x40381626
fixme:gdi:Escape16 unknown/unsupported 16-bit escape c03 
(56,0x403815de,0x40381626
wine: Unhandled exception (thread 0009), starting debugger...
WineDbg starting on pid 0x8
Unhandled exception: page fault on read access to 0xa84c73e0 in 32-bit code 
(0x00415809).
In 32 bit mode.
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
 EIP:00415809 ESP:4069e63c EBP:4069e6c4 EFLAGS:00010282(   - 00  - RIS1)
 EAX: EBX:4082f8d4 ECX:a84c73e0 EDX:04e7
 ESI:4069f3f0 EDI:00020040
Stack dump:
0x4069e63c:  00414e23 4069f3f0 04e7 00020040
0x4069e64c:  4069f3f0 4069e6c4 4082f8d4 004144c9
0x4069e65c:  00020040 4069f3f0 04e7 0052c3ec
0x4069e66c:  00020040 0638 00020040 00a0
0x4069e67c:  00020040 408517a8 4069e6c4 4082f8d4
0x4069e68c:  403d6a28 403d6980  4007aa04
Backtrace:
=>1 0x00415809 in polar 32 (+0x15809) (0x4069e6c4)
  2 0x407ae6c0 WINPROC_CallWndProc+0x70(msg=0x4e, wParam=0x0, 
lParam=0x4069edf0) 
[/home/wineuser/src/wine/dlls/user/../../windows/winproc.c:419] in user32 
(0x4069e700)
  3 0x407b393e CallWindowProcA+0xfe(func=0x408517a8, hwnd=0x20040, msg=0x4e, 
wParam=0x0, lParam=0x4069edf0) 
[/home/wineuser/src/wine/dlls/user/../../windows/winproc.c:2940] in user32 
(0x4069e72c)
  4 0x4078ff36 DefDlgProcA(hwnd=0x20040, msg=0x4e, wParam=0x0, 
lParam=0x4069edf0) 
[/home/wineuser/src/wine/dlls/user/../../windows/defdlg.c:453] in user32 
(0x4069e75c)
  5 0x407ae277 WINPROC_wrapper+0x17 in user32 (0x4069e780)
  6 0x407ae6c0 WINPROC_CallWndProc+0x70(msg=0x4e, wParam=0x0, 
lParam=0x4069edf0) 
[/home/wineuser/src/wine/dlls/user/../../windows/winproc.c:419] in user32 
(0x4069e7bc)
  7 0x407b3be4 CallWindowProcW+0x184(func=0x4085145a, hwnd=0x20040, msg=0x4e, 
wParam=0x0, lParam=0x4069edf0) 
[/home/wineuser/src/wine/dlls/user/../../windows/winproc.c:3053] in user32 
(0x4069eca0)
  8 0x407e1d13 call_window_proc+0xc3(wparam=0x0, lparam=0x4069edf0, 
unicode=0x1, same_thread=0x1) 
[/home/wineuser/src/wine/dlls/user/message.c:1475] in user32 (0x4069ed00)
  9 0x407e1eef SendMessageTimeoutW+0x14f(hwnd=0x20040, msg=0x4e, wparam=0x0, 
lparam=0x4069edf0, flags=0x0, timeout=0x, res_ptr=0x4069ed80) 
[/home/wineuser/src/wine/dlls/user/message.c:1989] in user32 (0x4069ed5c)
  10 0x407e1f35 SendMessageW(hwnd=0x20040, msg=0x4e, wparam=0x0, 
lparam=0x4069edf0) [/home/wineuser/src/wine/dlls/user/message.c:2070] in user32 
(0x4069ed88)
  11 0x406eee3b PROPSHEET_SetCurSel(skipdir=0x1, hpage=0x403e2cd0) 
[/home/wineuser/src/wine/dlls/comctl32/propsheet.c:2102] in comctl32 
(0x4069ee0c)
  12 0x406f26c4 PROPSHEET_DialogProc(hwnd=0x4002e, uMsg=0x110, wParam=0x0, 
lParam=0x403e2328) [/home/wineuser/src/wine/dlls/comctl32/propsheet.c:3379] in 
comctl32 (0x4069f3f0)
  13 0x407ae277 WINPROC_wrapper in user32 (0x4069f414)
  14 0x407ae6c0 WINPROC_CallWndProc(msg=0x110, wParam=0x0, lParam=0x403e2328) 
[/home/wineuser/src/wine/dlls/user/../../windows/winproc.c:419] in user32 
(0x4069f450)
  15 0x407b393e CallWindowProcA+0xfe(func=0x40851794, hwnd=0x4002e, msg=0x110, 
wParam=0x0, lParam=0x403e2328) 
[/home/wineuser/src/wine/dlls/user/../../windows/winproc.c:2940] in user32 
(0x4069f47c)
  16 0x4078ff36 DefDlgProcA(hwnd=0x4002e, msg=0x110, wParam=0x0, 
lParam=0x403e2328) 
[/home/wineuser/src/wine/dlls/user/../../windows/defdlg.c:453] in user32 
(0x4069f4ac)
  17 0x407ae277 WINPROC_wrapper+0x17 in user32 (0x4069f4d0)
  18 0x407ae6c0 WINPROC_CallWndProc+0x70(msg=0x110, wParam=0x0, 
lParam=0x403e2328) 
[/home/wineuser/src/wine/dlls/user/../../windows/winproc.c:419] in user32 
(0x4069f50c)
  19 0x407b3be4 CallWindowProcW+0x184(func=0x4085145a, hwnd=0x4002e, msg=0x110, 
wParam=0x0, lParam=0x403e2328) 
[/home/wineuser/src/wine/dlls/user/../../windows/winproc.c:3053] in user32 
(0x4069f9f0)
  20 0x407e1d13 call_window_proc+0xc3(wparam=0x0, lparam=0x403e2328, 
unicode=0x1, same_thread=0x1) 
[/home/wineuser/src/wine/dlls/user/message.c:1475] in user32 (0x4069fa50)
  21 0x407e1eef SendMessageTimeoutW+0x14f(hwnd=0x4002e, msg=0x110, wparam=0x0, 
lparam=0x403e2328, flags=0x0, timeout=0x, res_ptr=0x4069fad0) 
[/home/wineuser/src/wine/dlls/user/message.c:1989] in user32 (0x4069faac)
  22 0x407e1f35 SendMessageW(hwnd=0x4002e, msg=0x110, wparam=0x0, 
lparam=0x403e2328) [/home/wineuser/src/wine/dlls/user/message.c:2070] in user32 
(0x4069fad8)
  23 0x4079427e DIALOG_CreateIndirect(owner=0x1004e, dlgProc=0x406f1780, 
param=0x4

Re: MSVCRT: Generating relay stubs for libc forwards/varargs

2005-02-26 Thread Jon Griffiths
Hi Uwe,

>I think it would be helpfull, if we could generate debug stubs for 
>these functions. Can anybody help?

If you have the SDK headers, winedump in spec mode can generate this
for you.

Cheers,
Jon

=
"Don't wait for the seas to part, or messiahs to come;
 Don't you sit around and waste this chance..." - Live

[EMAIL PROTECTED]



__ 
Do you Yahoo!? 
Yahoo! Mail - Easier than ever with enhanced search. Learn more.
http://info.mail.yahoo.com/mail_250



Re: MSVCRT: Generating relay stubs for libc forwards/varargs

2005-02-26 Thread Uwe Bonnes
> "Jon" == Jon Griffiths <[EMAIL PROTECTED]> writes:

Jon> Hi Uwe,
>> I think it would be helpfull, if we could generate debug stubs for
>> these functions. Can anybody help?

Jon> If you have the SDK headers, winedump in spec mode can generate
Jon> this for you.

For the varargs and libc-forwarded function in msvcrt, I think all that we
need is already in out spec file. So no need for the MS SDK.

-- 
Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --



Re: Problem using winelib to compile Std Lib strings

2005-02-26 Thread Jon Griffiths
Hi Rob,

>I get a few errors like the following:
>error: ::div has not been declared
>error: ::ldiv has not been declared

div and ldiv may or may not be included in the std namespace. Try
changing the calls to either remove the scope resolution from their
calls or adding std before it.

>And tons about /usr/include/pthread.h like the following:
>error: uintptr_t does not name a type
>error: caddr_t has not been declared

You may need to rebuild your gcc supplied headers, check out:

http://supportforum.sun.com/sunos/index.php?t=msg&th=2097&start=0&rid=0

for details.

If you need/needed to make any fixes to Wine to get it working under
Solaris, please consider sending any changes to wine-patches or
documenting the process (AFAIK not many ppl are using Wine under
solaris).

Hope this helps,
Jon


=
"Don't wait for the seas to part, or messiahs to come;
 Don't you sit around and waste this chance..." - Live

[EMAIL PROTECTED]



__ 
Do you Yahoo!? 
Yahoo! Mail - Find what you need with new enhanced search.
http://info.mail.yahoo.com/mail_250



Re: Relax test requirements to accomodate fuzz of msacm

2005-02-26 Thread Robert Reif
Jeremy White wrote:
So the only fix I can imagine would be to not use msacm
to perform these conversions and have a parallel set of converters
do this in an aligned fashion.
This would probably be the best way for wine.  Keep the existing
wave mapper code and just add a better converter specifically for
this case.  Msacm uses the absolute worst possible algorithm
that will get the job done so keeping it for compatibility and
adding a better one for the wave mapper is a reasonable solution.
But, again, I wonder if Windows doesn't have this exact same
behavior but we can never find it because all Windows hardware
drivers claim direct support for all of the winmm formats,
so Windows never does a software conversion.
Windows 2000 and xp sound systems have a software mixer
called kmixer which will convert any and all application output
to the format supported by the hardware.  Because of this, some
newer systems only support 48kHz 16 bit stereo in hardware
and rely on kmixer to do the conversions.  This is also why
the cooperative level settings in direct sound are no longer
needed because kmixer  lets the application think it has exclusive
access to the sound card and that it supports the requested format.
In windows 9x an application has direct and exclusive access to the
sound card.  Thats the reason for the cooperative levels in direct
sound.   The wave api gives you the option of using formats only
supported by the hardware or using the wave mapper to do
the format conversions in software for you.  I don't have access
to a win9x machine to verify this but my guess is that either
mascm is not used for PCM conversions or that it does something
extra to deal with it's limitations.
The tests pass on windows so fudging the tests to work around a
bug in wine is not the best solution to the problem.



Re: New uninstaller

2005-02-26 Thread Jonathan Ernst
Le samedi 26 fÃvrier 2005 Ã 12:09 +0800, Dmitry Timoshkov a Ãcrit :
[...]
> > 3) Stringtables
> > a)Is there a way to load localized strings without having to guess
> > beforehand the size of the string in each language ?
> > b)Is there a way to not call LoadString for each string ?
> > c)Where is the best place to load every string of a stringtable ? in
> > main(), just before calling DialogBox() ?
> 
> It's better to void using string tables, since now you have converted
> code to use dialog box instead.

How can I do it for messageboxes ? Is there a way to define them in the
resource files or do I have to make a dialog instead of messageboxes ?

Thanks everyone for your comments, I'll send an updated version soon.


signature.asc
Description: Ceci est une partie de message	=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=


Re: vartest.c - major pain in the build process

2005-02-26 Thread Mike Hearn
On Sat, 26 Feb 2005 15:56:56 +0100, Marcus Meissner wrote:
> well, 25 minutes for a single file and 25 minutes for the rest of the tree? :)

It doesn't take 25 minutes here, how much memory do you have? It takes
more like 5, which is still excessive :(

I disable winetest in my tree entirely, and have done for a long time. It
should be disabled in CVS as well, nobody should be building winetest on
Linux, it just encourages people to submit useless results by saying "oooh
I wonder what happens if I do this". Worse this isn't just about it taking
too long, on my machine attempting to compile winetest actually crushes
it totally. It descends into swap hell and never seems to re-emerge.

I don't think having to hack the build system to avoid a full system hang
is really a good thing, even if it is the kernels fault.

thanks -mike




Re: vartest.c - major pain in the build process

2005-02-26 Thread Marcus Meissner
On Sat, Feb 26, 2005 at 10:32:11PM +0800, Dmitry Timoshkov wrote:
> "Krzysztof Foltman" <[EMAIL PROTECTED]> wrote:
> 
> > Is there any reason for gcc 3.3.1 to spend several minutes on compiling 
> > dlls/oleaut32/tests/vartest.c ?
> > 
> > I guess it can be explained by optimization stage going nuts on 
> > compiling long functions with many branches (contained in the macros), 
> > but there must be a way to speed this up.
> > 
> > It's barely tolerable now, and upgrading gcc is not an option for everyone.
> 
> Well, I'd argue that compilation time of full Wine tree is much longer
> than that single test. If you compile from source it's your choice.
> 
> I wonder why you don't complain about programs/winetest linking times.
> 
> Even more drastic route to go is to go and complain to gcc people,
> that's certainly not a Wine fault.

well, 25 minutes for a single file and 25 minutes for the rest of the tree? :)

gcc4 fares better for this test already.

I personally change dlls/oleaut32/tests/Makefile to use -O1 after reconfigure.

Ciao, Marcus



Re: vartest.c - major pain in the build process

2005-02-26 Thread Dmitry Timoshkov
"Krzysztof Foltman" <[EMAIL PROTECTED]> wrote:

> Is there any reason for gcc 3.3.1 to spend several minutes on compiling 
> dlls/oleaut32/tests/vartest.c ?
> 
> I guess it can be explained by optimization stage going nuts on 
> compiling long functions with many branches (contained in the macros), 
> but there must be a way to speed this up.
> 
> It's barely tolerable now, and upgrading gcc is not an option for everyone.

Well, I'd argue that compilation time of full Wine tree is much longer
than that single test. If you compile from source it's your choice.

I wonder why you don't complain about programs/winetest linking times.

Even more drastic route to go is to go and complain to gcc people,
that's certainly not a Wine fault.

-- 
Dmitry.




Re: Relax test requirements to accomodate fuzz of msacm

2005-02-26 Thread Jeremy White
Robert Reif wrote:
Jeremy White wrote:
Robert has persuaded me that msacm on Windows does make 'fuzzy' 
conversions;
an 8,000 byte buffer is up sampled to a 47,992 byte buffer instead of
the logical (and correct seeming) 48,000 byte buffer.  This means that
when we go to get the position after playing the answer comes up as
47992 instead of 48,000, which causes a winmm test failure.

The real fix is to fix the wave mapper to do another conversion
when the previous one is incomplete.  We will have to do this
anyway if we ever try to support non PCM formats.
I don't think that is right; the conversion is not incomplete.
In the specific example of 8000 into 48000 (a 6 to 1 ratio),
rather than the first source byte going into the first six dest bytes,
instead the first source byte goes into the first four destination
bytes, and then the second source byte goes into the next six,
and so on.  That leaves you with an uneven use of the dest buffer,
and hence the left over bytes.
So the conversion is, in fact, complete, it's just for some odd
reason not aligned on the initial buffer.  I wrote a patch in
the wavemapper to 'fill' such unaligned conversions, but then
when I read it I realized it was a wrong change.
So the only fix I can imagine would be to not use msacm
to perform these conversions and have a parallel set of converters
do this in an aligned fashion.
But, again, I wonder if Windows doesn't have this exact same
behavior but we can never find it because all Windows hardware
drivers claim direct support for all of the winmm formats,
so Windows never does a software conversion.
Hence, in my humble opinion, this patch remains correct;
I believe that Wine does exactly what Windows would do if it
faced the same limited hardware functionality.
Further, I don't see any benefit in leaving these tests broken;
the reason to do that would be to spur additional development,
and I do not think that any further Wine changes are appropriate.
Cheers,
Jeremy


Re: New uninstaller

2005-02-26 Thread Jonathan Ernst
Le samedi 26 fÃvrier 2005 Ã 09:49 +0900, Mike McCormack a Ãcrit :
[...]
> Cool.  Some comments:
> 
> The dialog box procedure should not handle WM_PAINT or WM_CLOSE, so just 
> delete those cases from the switch statement.
> 
Ok I did it, but the listbox should be updated when the user ask to
uninstall someting OR the user changes the filter string ? How can I do
that using only WM_INITDIALOG ?

> Don't send WM_SETFONT messages to the controls in the dialog.  Let the 
> dialog template define what the dialog looks like.

I removed it.


> 
> Your WM_INITDIALOG handler should fill the listbox, not WM_PAINT.
> 
See my first question.

> You can remove the "No items selected" message if uninstall is clicked 
> without a listbox element select.  That's just going to annoy people, 
> and it's not internationalized.
I removed it. Internationalizaton will come after everything is alright.


Thanks.

P.S. Ivan Leo Puti I don't know if it'll be better to use WinMain. Using
WinMain will make me to parse the command line manually isn't it ?




uninstaller2.tar.gz
Description: application/compressed-tar


signature.asc
Description: Ceci est une partie de message	=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=


vartest.c - major pain in the build process

2005-02-26 Thread Krzysztof Foltman
Is there any reason for gcc 3.3.1 to spend several minutes on compiling 
dlls/oleaut32/tests/vartest.c ?

I guess it can be explained by optimization stage going nuts on 
compiling long functions with many branches (contained in the macros), 
but there must be a way to speed this up.

It's barely tolerable now, and upgrading gcc is not an option for everyone.
Krzysztof



Re: Relax test requirements to accomodate fuzz of msacm

2005-02-26 Thread Robert Reif
Jeremy White wrote:
Robert has persuaded me that msacm on Windows does make 'fuzzy' 
conversions;
an 8,000 byte buffer is up sampled to a 47,992 byte buffer instead of
the logical (and correct seeming) 48,000 byte buffer.  This means that
when we go to get the position after playing the answer comes up as
47992 instead of 48,000, which causes a winmm test failure.
The real fix is to fix the wave mapper to do another conversion
when the previous one is incomplete.  We will have to do this
anyway if we ever try to support non PCM formats.



Re: USER32: GetScrollBarInfo

2005-02-26 Thread Vitaly Lipatov
В сообщении от 26 Февраль 2005 01:42 Alexandre Julliard написал(a):
> Vitaly Lipatov <[EMAIL PROTECTED]> writes:
> > +static BOOL SCROLL_GetScrollBarInfo(HWND hwnd, LONG idObject,
> > LPSCROLLBARINFO psbi) +{
> > +RECT rect;
> > +INT arrowSize, thumbSize, thumbPos, nBar, vertical;
> > +FIXME("check me");
>
> This doesn't sound very encouraging...
I have not time for write full test this function, but I have the 
implementation. If anyone will use it, he will can check for correctly.

P.S.
Or we can remove this line with FIXME :)

-- 
Vitaly Lipatov, ALT Linux Team
Russia, Saint-Petersburg, www.etersoft.ru