Re: getwinegit.sh 0.2

2006-02-24 Thread Segin

Christian Lachner wrote:


Thanks for your help :D

I really don't know if it works on other shells than bash... I hope so
but I don't know. The Code is quite clean but the programming could be
better (the script was never ment to get this big...). The
Compiler-commands are quite easy to be edited. For sure you have
already looked at the header at the file ;))

First of all, i will test the script on zsh, csh, old-school-sh. Do
you have a BSD-Installation on one of your machines? If not i will
fire up vmware and install openbsd this weekend,

greeets
chris

 

yes I do: I have a FreeBSD 6.0-RELEASE system (200MHz, 32MB of RAM) and 
a NetBSD 3.0 system (420MHz, 256MB of RAM).


Install OpenBSD anyways, could have differences in the 'sh' that are hidden.




DirectX 8 test: Gothic 2 on wine

2006-02-24 Thread Olaf Leidinger
Hello List!

Gothic2 seems to start working with wine. Well - as long as you disable sound 
in system/gothic.ini. 

There are some issues with DirectDraw/Direct3D I'd like to report (not sure if 
they are known):

 - most textures are missing
 - everything is really dark (I have to set gamma to 2.5 (via xgamma -gamma 
2.5) )
 - fonts are missing/crippled

I took some pictures and put it together with a log on a simple webpage. Please 
have a look at 

http://leidola.newcon.de/gothic2


Thanks a lot for your attention,

Ciao,

Olaf Leidinger


pgpbgcpHJYWD9.pgp
Description: PGP signature



Re: Alexandre Julliard : configure: Use --rpath if supported when building binaries to point to

2006-02-24 Thread Vitaly Lipatov
On Friday 24 February 2006 21:23, Alexandre Julliard wrote:
> Vitaly Lipatov <[EMAIL PROTECTED]> writes:
> > I got follow broken requires when build rpm package:
> >
> > /usr/bin/../lib/libwine.so.1(WINE_1.0)
> > /usr/bin/../lib/libwine_unicode.so.1(WINE_1.0)
> >
> > and find any methods to disable new feature with rpath when
> > I build package.
>
> It sounds like rpm needs a good whack on the head if it is
> unable to cope with this. Anyway, you could always build with
> make LDEXERPATH="".
Thank you for the solution.
Anyway --disable-rpath is more common way for it :)

-- 
Lav
Vitaly Lipatov
Saint-Petersburg, Etersoft www.etersoft.ru
GNU! ALT Linux Team! WINE! LaTeX! LyX!




Re: Debugging

2006-02-24 Thread Rich Gilson
On Friday 24 February 2006 13:46, Stefan Dösinger wrote:
> Hi,
>
> > As such, I'm looking for a little advice on debugging issues when apps
> > don't work (yes, I've read what's on winehq.)  I have the application
> > KeePass (keepass.sourceforge.net) which installs just fine.  When I go to
> > run it, it just drops me right back to the prompt.
>
> Pardon my ignorance, but why don't you use the Linux version instead?
> http://keepass.sourceforge.net/download.php lists a Linux port.
>
> If you have the necessary tools to compile keepass, you can build the Win32
> version from source and put a few debugging printfs into it, to see where
> it stops. This could shorten the debug time greatly. (Of course this
> doesn't work for apps where the source isn't available)

No, that's fine.  I'm not surprised that somebody knew there was a Linux port.  
The reason is simple.  I'm in the process of trying to put together a 
presentation for my local LUG on Wine in a couple of months and I'm trying to 
get to know how to use it better.  I also happened to ask a few people what 
they would like to learn in relation to Wine.  One "request" was how to 
"debug" getting a program to work when it doesn't necessarilly run right out 
of the box, so to say.

In addition, one of the guys told me he tried to run this program under Wine 
and couldn't get it to work.  I tried it and was when I couldn't find any 
noticable reason for the crash.  He's familiar with the Linux port, but it's 
a version behind and can't read the current database he has all of his 
information in.  

It's a valid question.  I just thought it'd be a good place for me to start in 
the realm of trying to get things working because I knew that it would be 
freely and easily available to anyone on this list so that I might get a 
little bit of direction.  That all.

-- 
-- In a world without fences, who needs Gates?


pgpbKEDCi7uu3.pgp
Description: PGP signature



Re: Prepare the unicodification of advpack.dll

2006-02-24 Thread James Hawkins
On 2/24/06, Francois Gouget <[EMAIL PROTECTED]> wrote:
> On Fri, 24 Feb 2006, James Hawkins wrote:
>
> > On 2/24/06, Francois Gouget <[EMAIL PROTECTED]> wrote:
> >>
> >> All functions that manipulate strings should have an Ansi and a
> >> Unicode variant.
> >
> > Does it matter that native advpack only has Ansi functions?
>
> That's changing in the latest Windows PSDK. Hence the patch...
>

Ah darn, more converting work to add to the list.

--
James Hawkins




Re: [PATCH] please commit this FCI work

2006-02-24 Thread Detlef Riekenberg
Am Freitag, den 24.02.2006, 14:28 +0100 schrieb Gerold J. Wucherpfennig:
> Please commit.

I have no knowledge about fci, but some code is strange:

+#define fci_set_error(A,B,C) \
+p_fci_internal->perf->erfOper = A; \
+p_fci_internal->perf->erfType = B; \
+p_fci_internal->perf->fError =  C;
+

You use SetLastError() for B almost everywhere following the Macro.
Why not add this statement to the Macro?

Exceptions where you did not use SetLastError(): Macro-Parameter B is 0
- Did you mean NO_ERROR / ERROR_SUCCESS?
- Does Windows use a SetLastError(NO_ERROR) in this case?
  (Tests for cabinet.dll are only in one file: "extract.c". 
   can you add tests for fci/compress?)

When windows does a SetLastError(NO_ERROR):
   append "SetLastError(B)" to the Macro

When windows does not do a SetLastError(NO_ERROR):
   append "if (B) SetLastError(B)" to the Macro

+/* write error */
+fci_set_error( FCIERR_TEMP_FILE, ERROR_WRITE_FAULT, TRUE );
+p_fci_internal->perf->erfType = ERROR_WRITE_FAULT;
+p_fci_internal->perf->fError = TRUE;
+SetLastError(ERROR_WRITE_FAULT);

the two p_pci_* - lines are duplicates (already done in the Macro)

btw: What should be added to the changelog?
cabinet/fci: cleanup error-handling with a MACRO


-- 
By By ...
  ... Detlef





Re: WineD3D refcounting fun part II :)

2006-02-24 Thread H. Verbeet
On 24/02/06, Stefan Dösinger <[EMAIL PROTECTED]> wrote:
> remains open is if not unsetting the texture stages is a bug too. Can someone
> check on Windows if (a) creating a surface or texture addrefs the
> Direct3DDevice, and if (b) assigning a texture to a texture stage addrefs the
> Texture? If (a) isn't true, we should unset all texture stages when the
> WineD3DDevice is released, if (b) is false we shouldn't do that too. If (a)
> and (b) are true, the application is buggy too. I'm sorry that I can't test,
> because I've no D3D9-Equipped windows machine available ATM.
CreateTexture adds a reference to the device. SetTexture doesn't add a
reference to the texture.




Re: WineD3D refcounting fun part II :)

2006-02-24 Thread H. Verbeet
On 24/02/06, Stefan Dösinger <[EMAIL PROTECTED]> wrote:
> Are you sure that the Direct3DDevice9 should be released? Windows addrefs the
> DirectDraw interface when a surface is created, I'd be surprised if Microsoft
> changed that behavior in d3d8 or d3d9. From your description I'd say that
> there are still Direct3D9 surfaces hanging, which shouldn't happen.
I assume Roderick is talking about the final Release on the d3d
device, ie, the one you got from CreateDevice. The surfaces are
holding a couple of references to the device, and those should get
released when the surface is destroyed, yes. But the application is
also holding a single reference to de device.

Looking at the trace from the multitexture demo, it appears
GetContainer sometimes adds an extra reference to the device. I've
submitted a patch for this to wine-patches.




Re: WineD3D refcounting fun part II :)

2006-02-24 Thread Stefan Dösinger
Hi,

From the multitexture demo:
> void loadTexture( void )
> {
>   D3DXCreateTextureFromFile( g_pd3dDevice, "test.bmp", &g_pTexture_0 );
>   D3DXCreateTextureFromFile( g_pd3dDevice, "checker.bmp", &g_pTexture_1 );
> 
>   g_pd3dDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);
>   g_pd3dDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);
> }
Two textures are created

> //-
> // Name: shutDown()
> // Desc: 
> //-
> void shutDown( void )
> {
> if( g_pTexture_0 != NULL ) 
> g_pTexture_0->Release();
>
> if( g_pVertexBuffer != NULL )
> g_pVertexBuffer->Release();
> 
> if( g_pd3dDevice != NULL )
> g_pd3dDevice->Release();
> 
> if( g_pD3D != NULL )
> g_pD3D->Release();
> }
One texture is released

> void render( void )
> {
> 
> g_pd3dDevice->SetTexture( 0, g_pTexture_0 );
>   g_pd3dDevice->SetTexture( 1, g_pTexture_1 );
The texture stage is set -> Texure AddRef. The texture isn't unset.

The missing release of the 2nd texture is definitly an application bug. What 
remains open is if not unsetting the texture stages is a bug too. Can someone 
check on Windows if (a) creating a surface or texture addrefs the 
Direct3DDevice, and if (b) assigning a texture to a texture stage addrefs the 
Texture? If (a) isn't true, we should unset all texture stages when the 
WineD3DDevice is released, if (b) is false we shouldn't do that too. If (a) 
and (b) are true, the application is buggy too. I'm sorry that I can't test, 
because I've no D3D9-Equipped windows machine available ATM.



pgpe28MHFguYZ.pgp
Description: PGP signature



Re: WineD3D refcounting fun part II :)

2006-02-24 Thread Stefan Dösinger
Hi,
> If you run the test on d3d9 or using oliver's full d3d8 patch, you'll
> notice that not all memory is returned when quitting the program. (In
> 3dmark2001 this is a big issue as because of this we are out of memory
> after running a few demos) The problem appears that wined3d surfaces
> contain a reference to the wined3d device. So when you run a game the d3d8
> and wined3d device refcounts are out of sync (the wined3d refcount is a lot
> higher because of all the refcounts from the surfaces).
Are you sure that the Direct3DDevice9 should be released? Windows addrefs the 
DirectDraw interface when a surface is created, I'd be surprised if Microsoft 
changed that behavior in d3d8 or d3d9. From your description I'd say that 
there are still Direct3D9 surfaces hanging, which shouldn't happen.

It could be that some surfaces(or textures) are in use by the WineD3DDevice, 
for example they are set as textures with IWineD3DDevice::SetTexture. 
Settexure addrefs the texture interface, which makes sense and is done by 
Windows too. This means that the textures must be unset before the surfaces 
and the device can be destroyed, if an app doesn't do so, I'd consider it 
buggy.

I'll look at the multitexture demo, and I'll get an IRC client running. I've 
never used IRC before(shame on me), but I think it makes discussing this 
easier.

Stefan


pgpHd4aa2Q9u4.pgp
Description: PGP signature



Re: riched20: Implements FR_MATCHCASE for EM_FINDTEXT

2006-02-24 Thread Phil Krylov
On Fri, 24 Feb 2006 10:48:47 -0800
Lei Zhang <[EMAIL PROTECTED]> wrote:

> On Friday 24 February 2006 04:39 am, Phil Krylov wrote:
> > On Fri, 24 Feb 2006 12:24:45 +0100
> >
> > Alexandre Julliard <[EMAIL PROTECTED]> wrote:
> > > Phil Krylov <[EMAIL PROTECTED]> writes:
> > > > On Tue, 21 Feb 2006 14:08:38 -0800
> > > >
> > > > Lei Zhang <[EMAIL PROTECTED]> wrote:
> > > >> Hi Phil,
> > > >>
> > > >> Ya, it's a typo. Thanks for catching it.
> > > >
> > > > Could you kindly fix it then? As this patch was accepted unfixed.
> > >
> > > I accepted the patch because I don't see how pCurItem could be NULL
> > > in that loop (or rather, it could be NULL, but in that case we'll
> > > crash before coming back to the loop test). Am I missing something?
> >
> > Yes, you're right. It can't be NULL because of an earlier test:
> >
> > para->member.para.nCharOfs + item->member.run.nCharOfs + nEnd - nLen
> > >= nMin
> >
> > But this is very inevident.
> >
> > -- Ph.
> 
> Hi Phil, Alex
> 
> Yes, it can become NULL, here's how:
> 
> Inside while (ME_CharCompare(pCurItem-> )
> the last if() block assigns a new value to pCurItem, which may be NULL.

It may but it won't... ME_FindItemBack(pCurItem) will return NULL only if
pCurItem is the first text run in the document. But the if() condition
(nCurEnd - nMatched == 0) is TRUE only if the search string is longer
than nCurEnd. This does not happen for the first document run because of
the condition of the exterior loop which checks if we have enough
characters for comparison.

--Ph.




Re: Alexandre Julliard : configure: Use --rpath if supported when building binaries to point to

2006-02-24 Thread Kuba Ober
> To be strictly, there is no needs in rpath using if libwine placed in
> standard place as /usr/lib
>
> I got follow broken requires when build rpm package:
>
> /usr/bin/../lib/libwine.so.1(WINE_1.0)
> /usr/bin/../lib/libwine_unicode.so.1(WINE_1.0)

Is that an error during building of the rpm, or during installing it? Could 
you post the exact message and the .spec file used to build it? I reckon 
there's other software out there that does the same thing and somehow rpm 
handles it fine . . .  Interesting.

Kuba





Re: riched20: Implements FR_MATCHCASE for EM_FINDTEXT

2006-02-24 Thread Lei Zhang
On Friday 24 February 2006 04:39 am, Phil Krylov wrote:
> On Fri, 24 Feb 2006 12:24:45 +0100
>
> Alexandre Julliard <[EMAIL PROTECTED]> wrote:
> > Phil Krylov <[EMAIL PROTECTED]> writes:
> > > On Tue, 21 Feb 2006 14:08:38 -0800
> > >
> > > Lei Zhang <[EMAIL PROTECTED]> wrote:
> > >> Hi Phil,
> > >>
> > >> Ya, it's a typo. Thanks for catching it.
> > >
> > > Could you kindly fix it then? As this patch was accepted unfixed.
> >
> > I accepted the patch because I don't see how pCurItem could be NULL
> > in that loop (or rather, it could be NULL, but in that case we'll
> > crash before coming back to the loop test). Am I missing something?
>
> Yes, you're right. It can't be NULL because of an earlier test:
>
> para->member.para.nCharOfs + item->member.run.nCharOfs + nEnd - nLen
> >= nMin
>
> But this is very inevident.
>
> -- Ph.

Hi Phil, Alex

Yes, it can become NULL, here's how:

Inside while (ME_CharCompare(pCurItem-> )
the last if() block assigns a new value to pCurItem, which may be NULL.

Sorry I didn't patch this earlier, I'll do it today.

- Lei




Re: Debugging

2006-02-24 Thread Stefan Dösinger
Hi,
> As such, I'm looking for a little advice on debugging issues when apps
> don't work (yes, I've read what's on winehq.)  I have the application
> KeePass (keepass.sourceforge.net) which installs just fine.  When I go to
> run it, it just drops me right back to the prompt.
Pardon my ignorance, but why don't you use the Linux version instead? 
http://keepass.sourceforge.net/download.php lists a Linux port.

If you have the necessary tools to compile keepass, you can build the Win32 
version from source and put a few debugging printfs into it, to see where it 
stops. This could shorten the debug time greatly. (Of course this doesn't 
work for apps where the source isn't available)


pgpbivqpVxm4Q.pgp
Description: PGP signature



Re: Alexandre Julliard : configure: Use --rpath if supported when building binaries to point to

2006-02-24 Thread Alexandre Julliard
Vitaly Lipatov <[EMAIL PROTECTED]> writes:

> To be strictly, there is no needs in rpath using if libwine placed in 
> standard 
> place as /usr/lib
>
> I got follow broken requires when build rpm package:
>
> /usr/bin/../lib/libwine.so.1(WINE_1.0)
> /usr/bin/../lib/libwine_unicode.so.1(WINE_1.0)
>
> and find any methods to disable new feature with rpath when I build package.

It sounds like rpm needs a good whack on the head if it is unable to
cope with this. Anyway, you could always build with make LDEXERPATH="".

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Palm Desktop conduits through Wine?

2006-02-24 Thread Stefan Dösinger
Am Freitag, 24. Februar 2006 04:29 schrieb Rich Gilson:
> Has there every been any luck/attempts at running Palm Desktop conduits
> through wine?  I'd drop Palm Desktop altogether, but I have Documents-To-Go
> and Passwords Plus, which both only run through Palm Desktop.
You can write a sort of Palm Desktop replacement, which loads the conduit dlls 
and offers the Palm Desktop API to them. The calls can be forwarded to a 
Linux app, e.g. pilot-link. This way you can replace Palm Desktop by 
pilot-link + a Winelib app which links the conduit and pilot-link. I think 
such a program/lib would be out of Wine's scope, as Palm Desktop isn't a part 
of Windows, instead it would belong more to pilot-link. I've played with this 
idea some time ago, but I dropped it because of a lack of time.

Palm Desktop sort of works in Wine. You can't run the Palm.exe app, but 
hotsync works. USB doesn't work, but you can do a network sync. Configure 
your palm to sync with 127.0.0.1, tell hotsync to listen to that port, and 
start pi-nredir(part of pilot-link) to forward the USB connection to the 
network.

Installing Palm Desktop is not easy, because you need to install MSIE 6. 
Documents-To-Go needed a native Microsoft Installer the last time I installed 
it. This was a few months ago, so this is most likely not true today. (If you 
search the mailing list archives, you'll find a more detailed description)

Syncing works quite good, the biggest problem I found was that DocsToGo 
doesn't support the OpenOffice formats, so I had to convert all documents to 
the MS Office format and vice versa. The ultimate solution would be a 
replacement for the DocsToGo application which understands OpenDocument. Or 
to ask DataViz for a Linux converter ;)


pgp5rwYN22Kwb.pgp
Description: PGP signature



Re: Prepare the unicodification of advpack.dll

2006-02-24 Thread Francois Gouget

On Fri, 24 Feb 2006, James Hawkins wrote:


On 2/24/06, Francois Gouget <[EMAIL PROTECTED]> wrote:


All functions that manipulate strings should have an Ansi and a
Unicode variant.


Does it matter that native advpack only has Ansi functions?


That's changing in the latest Windows PSDK. Hence the patch...

--
Francois Gouget <[EMAIL PROTECTED]>  http://fgouget.free.fr/
I haven't lost my mind, it's backed up on tape around here somewhere...




Re: Problem with virtual memory rlimits

2006-02-24 Thread Alexandre Julliard
Marcus Meissner <[EMAIL PROTECTED]> writes:

> If you limit the virtual memory size using "ulimit -v 140" for
> instance, wine will only crash.
>
> The problem is, that VIRTUAL_alloc_teb() tries to allocate a memory
> area within the acceptable userspace ... but it does so much mmap()s
> that it runs out of available mmap space before.
>
> I was only able to reproduce this on AMD64 machines up to now, 
> which pass out memory starting from 0xf7fff somewhere.
>
> Any clue how to solve this?

I don't think you can. We are using MAP_NORESERVE, which could be
argued should not count against the limit, but if it does then we need
a limit high enough to reserve everything above 0x8000.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Alexandre Julliard : configure: Use --rpath if supported when building binaries to point to

2006-02-24 Thread Vitaly Lipatov
В сообщении от 24 февраля 2006 20:53 Alexandre Julliard написал(a):
> Vitaly Lipatov <[EMAIL PROTECTED]> writes:
> > We need a --disable-rpath option in configure for rpath disable.
> > Rpaths is not useful  when WINE building for distribution.
>
> Why is it not useful?
Sorry for my English. It is useful when we run wine from the source tree.

To be strictly, there is no needs in rpath using if libwine placed in standard 
place as /usr/lib

I got follow broken requires when build rpm package:

/usr/bin/../lib/libwine.so.1(WINE_1.0)
/usr/bin/../lib/libwine_unicode.so.1(WINE_1.0)

and find any methods to disable new feature with rpath when I build package.

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




Re: Alexandre Julliard : configure: Use --rpath if supported when building binaries to point to

2006-02-24 Thread Alexandre Julliard
Vitaly Lipatov <[EMAIL PROTECTED]> writes:

> We need a --disable-rpath option in configure for rpath disable.
> Rpaths is not useful  when WINE building for distribution.

Why is it not useful?

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Prepare the unicodification of advpack.dll

2006-02-24 Thread James Hawkins
On 2/24/06, Francois Gouget <[EMAIL PROTECTED]> wrote:
>
> All functions that manipulate strings should have an Ansi and a
> Unicode variant.

Does it matter that native advpack only has Ansi functions?  I think
we should leave it the way it is, because any application that uses
advpack will only know of Ansi API and adding unicode handling adds
more complexity and chances for error.

--
James Hawkins




Re: getwinegit.sh 0.2

2006-02-24 Thread Christian Lachner
Thanks for your help :D

I really don't know if it works on other shells than bash... I hope so
but I don't know. The Code is quite clean but the programming could be
better (the script was never ment to get this big...). The
Compiler-commands are quite easy to be edited. For sure you have
already looked at the header at the file ;))

First of all, i will test the script on zsh, csh, old-school-sh. Do
you have a BSD-Installation on one of your machines? If not i will
fire up vmware and install openbsd this weekend,

greeets
 chris




Re: AOL

2006-02-24 Thread Chris Morgan
You could check on http://appdb.winehq.org to see if others have
attempted this and what their results are.

Chris


On 2/23/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> Would AOL work on WINE?
>
> I would be really greatful if you could e-mail back directly because I
> plaining to move to Linux within the next few days
>
> Sincely
>
> Toby
>
>
>
>




Re: AOL

2006-02-24 Thread Travis Watkins
On 2/23/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> Would AOL work on WINE?
>
> I would be really greatful if you could e-mail back directly because I
> plaining to move to Linux within the next few days

Doubtful, unless WINE knows how to control modems in the way AOL
wants. You could use Peng [1] though. You could probably even skip
most of those steps if you get a distro that has  packages for it.

[1] http://www.yolinux.com/TUTORIALS/LinuxTutorialAOL.html

--
Travis Watkins
http://www.realistanew.com




Re: Fix ExitWindows()

2006-02-24 Thread Robert Shearman

Francois Gouget wrote:


Robert Shearman wrote:


Francois Gouget wrote:



-if (SendMessageTimeoutW( *phwnd, 
WM_QUERYENDSESSION, 0, 0, send_flags, INFINITE, &result) && !result) 
break;
+if (SendMessageTimeoutW( *phwnd, 
WM_QUERYENDSESSION, 0, 0, send_flags, 0, &result))
 



Was this change deliberate to remove the check of result? If so, I 
don't see where else the result of the message can be properly checked.



The result is sent back to the application in the WM_ENDSESSION 
message and checked in the if branch to exit the loop, and then again 
right outside the loop to abort the Windows shutdown.


if (SendMessageTimeoutW( *phwnd, WM_QUERYENDSESSION, 
0, 0, send_flags, 0, &result))

{
DWORD_PTR dummy;
SendMessageTimeoutW( *phwnd, WM_ENDSESSION, 
result, 0, send_flags, 0, &dummy );

if (!result) break;
}
}
HeapFree( GetProcessHeap(), 0, list );

if (!result)
return TRUE;



Yes, you are right. I obviously didn't spend enough time reading your patch.

--
Rob Shearman





Re: Alexandre Julliard : configure: Use --rpath if supported when building binaries to point to

2006-02-24 Thread Vitaly Lipatov
We need a --disable-rpath option in configure for rpath disable.
Rpaths is not useful  when WINE building for distribution.
Will I add --disable-rpath of there is a better suggestion?

В сообщении от 20 февраля 2006 14:40 Alexandre Julliard написал(a):
...
> configure: Use --rpath if supported when building binaries to point to
> the relative location of the wine libraries.

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




Re: Fix ExitWindows()

2006-02-24 Thread Francois Gouget

Robert Shearman wrote:

Francois Gouget wrote:



-if (SendMessageTimeoutW( *phwnd, WM_QUERYENDSESSION, 
0, 0, send_flags, INFINITE, &result) && !result) break;
+if (SendMessageTimeoutW( *phwnd, WM_QUERYENDSESSION, 
0, 0, send_flags, 0, &result))
 



Was this change deliberate to remove the check of result? If so, I don't 
see where else the result of the message can be properly checked.


The result is sent back to the application in the WM_ENDSESSION message 
and checked in the if branch to exit the loop, and then again right 
outside the loop to abort the Windows shutdown.


if (SendMessageTimeoutW( *phwnd, WM_QUERYENDSESSION, 0, 
0, send_flags, 0, &result))

{
DWORD_PTR dummy;
SendMessageTimeoutW( *phwnd, WM_ENDSESSION, result, 
0, send_flags, 0, &dummy );

if (!result) break;
}
}
HeapFree( GetProcessHeap(), 0, list );

if (!result)
return TRUE;



--
Francois Gouget
[EMAIL PROTECTED]





re: Problems with Sockets and TCL

2006-02-24 Thread Dan Kegel
You wrote:
>I've found a bug that can be reproduced with two lines of TCL:

Great!  Can you post a bug report at http://bugs.winehq.org
and cc me on it?  Be sure to include a full recipe for reproducing
the bug, especially the version of tcl and where to download it.

I'm glad to see an ISV interested in supporting Wine like this!
Is this official interest, or just something you're trying on the side?
Thanks,
Dan

--
Wine for Windows ISVs: http://kegel.com/wine/isv




Re: [PATCH] Implement GetCurrentHwProfileA() fully

2006-02-24 Thread Vijay Kiran Kamuju
Could u plz send the patch to wine-patches

On 2/24/06, Ben Collins <[EMAIL PROTECTED]> wrote:
> I setup Wine mainly to make use of some online poker clients that I use
> a lot. I experienced some known bugs related to advapi32.dll,
> specifically GetCurrentHwProfileA()'s semi-stub.
>
> The first issue was that the szHwProfileGuid was being set to a string
> that was one byte too long. This resulted in it actually being a
> concantenation of szHwProfileGuid and szHwProfileName. Fixing that,
> programs like FullTiltPoker.exe were able to work. The website suggested
> changing the return value to 0 (false), but that was just so things got
> ignored.
>
> The second issue with this function was more related to the hard coding
> of the GUID. Some sites, such as PacificPoker and ParadisePoker, can and
> will kill user access to the site. They do not do this by username, but
> but the Profile GUID (I didn't realize this till I started reading bug
> reports, and checking things). Presumably, this reduces the chance that
> someone simply changes their username. They pretty much block the user's
> system, unless they reinstall, or manually change the GUID.
>
> Because of this, all wine installs by default are not allowed to login
> to these sites (it only took one person to get kicked before the GUID
> was dead).
>
> So, to get things done to my liking, I just bit the bullet and
> implemented GetCurrentHwProfileA() correctly.
>
> The patch below has two parts
>
> 1. Implement GetCurrentHwProfileA() fully. It will read the current
> profile (0x value), and obtain the values from this profile for
> docking state, profile name, and profile GUID.
>
> 2. Add default registry entries for the HWLK\*\IDConfigDB\* values.
>
> This still results in a default profile GUID. If anyone knows a way to
> generate a value for this during wineboot, that's probably the best
> solution.
>
> diff -urN wine-0.9.6/dlls/advapi32/advapi.c 
> wine-0.9.6-ben/dlls/advapi32/advapi.c
> --- wine-0.9.6/dlls/advapi32/advapi.c   2006-01-19 14:13:51.0 +
> +++ wine-0.9.6-ben/dlls/advapi32/advapi.c   2006-02-24 02:18:26.0 
> +
> @@ -116,11 +116,57 @@
>   */
>  BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA pInfo)
>  {
> -   FIXME("(%p) semi-stub\n", pInfo);
> -   pInfo->dwDockInfo = DOCKINFO_DOCKED;
> -   
> strcpy(pInfo->szHwProfileGuid,"{12340001-1234-1234-1234-1233456789012}");
> -   strcpy(pInfo->szHwProfileName,"Wine Profile");
> -   return 1;
> +   CHAR profile[32];
> +   DWORD type;
> +   DWORD size;
> +   DWORD ret;
> +   DWORD val;
> +   HKEY hkey;
> +   BOOL profile_result = 0;
> +
> +   ret = RegOpenKeyA(HKEY_LOCAL_MACHINE, 
> "System\\CurrentControlSet\\Control\\IDConfigDB",
> + &hkey);
> +
> +   if (ret != ERROR_SUCCESS)
> +   goto profile_error;
> +
> +   ret = RegGetValueA(hkey, NULL, "CurrentConfig", RRF_RT_DWORD,
> +  &type, &val, &size);
> +   if (ret != ERROR_SUCCESS || size != 4 || type != REG_DWORD)
> +   goto profile_error;
> +
> +   /* At least, I think the profile names are hex */
> +   sprintf(profile, "Hardware Profiles\\%04x", (WORD)(val & 0x));
> +
> +   /* Set the profile name */
> +   size = MAX_PROFILE_LEN;
> +   ret = RegGetValueA(hkey, profile, "FriendlyName", RRF_RT_REG_SZ,
> +  &type, pInfo->szHwProfileName, &size);
> +
> +   if (ret != ERROR_SUCCESS || type != REG_SZ)
> +   goto profile_error;
> +
> +   /* Now get the GUID of this profile */
> +   size = HW_PROFILE_GUIDLEN;
> +   ret = RegGetValueA(hkey, profile, "HwProfileGuid", RRF_RT_REG_SZ,
> +  &type, pInfo->szHwProfileGuid, &size);
> +
> +   if (ret != ERROR_SUCCESS || type != REG_SZ)
> +   goto profile_error;
> +
> +   /* And finally the docking state */
> +   ret = RegGetValueA(hkey, "CurrentDockInfo", "DockingState", 
> RRF_RT_DWORD,
> +  &type, &pInfo->dwDockInfo, &size);
> +
> +   if (ret != ERROR_SUCCESS || size != 4 || type != REG_DWORD)
> +   goto profile_error;
> +
> +   /* Success */
> +   profile_result = 1;
> +
> +profile_error:
> +   RegCloseKey(hkey);
> +   return profile_result;
>  }
>
>  
> /**
> diff -urN wine-0.9.6/tools/wine.inf wine-0.9.6-ben/tools/wine.inf
> --- wine-0.9.6/tools/wine.inf   2006-01-19 14:14:43.0 +
> +++ wine-0.9.6-ben/tools/wine.inf   2006-02-24 02:19:19.0 +
> @@ -211,6 +211,23 @@
>  HKLM,System\CurrentControlSet\Control\Session 
> Manager\Environment,"windir",,"%10%"
>  HKLM,System\CurrentControlSet\Control\Session 
> Manager\Environment,"winsysdir",,"%11%"
>
> +[IDConfigDB]
> +HKLM,System\CurrentControlSet\Control\IDConfigDB,"CurrentConfig",,0x
> +HKLM,System\Current

[PATCH] Implement GetCurrentHwProfileA() fully

2006-02-24 Thread Ben Collins
I setup Wine mainly to make use of some online poker clients that I use
a lot. I experienced some known bugs related to advapi32.dll,
specifically GetCurrentHwProfileA()'s semi-stub.

The first issue was that the szHwProfileGuid was being set to a string
that was one byte too long. This resulted in it actually being a
concantenation of szHwProfileGuid and szHwProfileName. Fixing that,
programs like FullTiltPoker.exe were able to work. The website suggested
changing the return value to 0 (false), but that was just so things got
ignored.

The second issue with this function was more related to the hard coding
of the GUID. Some sites, such as PacificPoker and ParadisePoker, can and
will kill user access to the site. They do not do this by username, but
but the Profile GUID (I didn't realize this till I started reading bug
reports, and checking things). Presumably, this reduces the chance that
someone simply changes their username. They pretty much block the user's
system, unless they reinstall, or manually change the GUID.

Because of this, all wine installs by default are not allowed to login
to these sites (it only took one person to get kicked before the GUID
was dead).

So, to get things done to my liking, I just bit the bullet and
implemented GetCurrentHwProfileA() correctly.

The patch below has two parts

1. Implement GetCurrentHwProfileA() fully. It will read the current
profile (0x value), and obtain the values from this profile for
docking state, profile name, and profile GUID.

2. Add default registry entries for the HWLK\*\IDConfigDB\* values.

This still results in a default profile GUID. If anyone knows a way to
generate a value for this during wineboot, that's probably the best
solution.

diff -urN wine-0.9.6/dlls/advapi32/advapi.c 
wine-0.9.6-ben/dlls/advapi32/advapi.c
--- wine-0.9.6/dlls/advapi32/advapi.c   2006-01-19 14:13:51.0 +
+++ wine-0.9.6-ben/dlls/advapi32/advapi.c   2006-02-24 02:18:26.0 
+
@@ -116,11 +116,57 @@
  */
 BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA pInfo)
 {
-   FIXME("(%p) semi-stub\n", pInfo);
-   pInfo->dwDockInfo = DOCKINFO_DOCKED;
-   
strcpy(pInfo->szHwProfileGuid,"{12340001-1234-1234-1234-1233456789012}");
-   strcpy(pInfo->szHwProfileName,"Wine Profile");
-   return 1;
+   CHAR profile[32];
+   DWORD type;
+   DWORD size;
+   DWORD ret;
+   DWORD val;
+   HKEY hkey;
+   BOOL profile_result = 0;
+
+   ret = RegOpenKeyA(HKEY_LOCAL_MACHINE, 
"System\\CurrentControlSet\\Control\\IDConfigDB",
+ &hkey);
+
+   if (ret != ERROR_SUCCESS)
+   goto profile_error;
+
+   ret = RegGetValueA(hkey, NULL, "CurrentConfig", RRF_RT_DWORD,
+  &type, &val, &size);
+   if (ret != ERROR_SUCCESS || size != 4 || type != REG_DWORD)
+   goto profile_error;
+
+   /* At least, I think the profile names are hex */
+   sprintf(profile, "Hardware Profiles\\%04x", (WORD)(val & 0x));
+
+   /* Set the profile name */
+   size = MAX_PROFILE_LEN;
+   ret = RegGetValueA(hkey, profile, "FriendlyName", RRF_RT_REG_SZ,
+  &type, pInfo->szHwProfileName, &size);
+
+   if (ret != ERROR_SUCCESS || type != REG_SZ)
+   goto profile_error;
+
+   /* Now get the GUID of this profile */
+   size = HW_PROFILE_GUIDLEN;
+   ret = RegGetValueA(hkey, profile, "HwProfileGuid", RRF_RT_REG_SZ,
+  &type, pInfo->szHwProfileGuid, &size);
+
+   if (ret != ERROR_SUCCESS || type != REG_SZ)
+   goto profile_error;
+
+   /* And finally the docking state */
+   ret = RegGetValueA(hkey, "CurrentDockInfo", "DockingState", 
RRF_RT_DWORD,
+  &type, &pInfo->dwDockInfo, &size);
+
+   if (ret != ERROR_SUCCESS || size != 4 || type != REG_DWORD)
+   goto profile_error;
+
+   /* Success */
+   profile_result = 1;
+
+profile_error:
+   RegCloseKey(hkey);
+   return profile_result;
 }
 
 /**
diff -urN wine-0.9.6/tools/wine.inf wine-0.9.6-ben/tools/wine.inf
--- wine-0.9.6/tools/wine.inf   2006-01-19 14:14:43.0 +
+++ wine-0.9.6-ben/tools/wine.inf   2006-02-24 02:19:19.0 +
@@ -211,6 +211,23 @@
 HKLM,System\CurrentControlSet\Control\Session 
Manager\Environment,"windir",,"%10%"
 HKLM,System\CurrentControlSet\Control\Session 
Manager\Environment,"winsysdir",,"%11%"
 
+[IDConfigDB]
+HKLM,System\CurrentControlSet\Control\IDConfigDB,"CurrentConfig",,0x
+HKLM,System\CurrentControlSet\Control\IDConfigDB,"UserWaitInterval",,0x001e
+HKLM,System\CurrentControlSet\Control\IDConfigDB,"IsPortable",,0x
+HKLM,System\CurrentControlSet\Control\IDConfigDB\Alias\,"DockingState",,0x
+HKLM,System\CurrentControlSet\Control\IDConfigDB\Alias\,"Capabilities",,0x
+HKLM,System\Cu

AOL

2006-02-24 Thread TWhaymand05



Would AOL work on WINE?
 
I would be really greatful if you could e-mail back directly because I 
plaining to move to Linux within the next few days
 
Sincely
 
Toby



Re: Server Requirements

2006-02-24 Thread Tony Lambregts

Gomez, Felix wrote:

Hello...
 
Does Wine run on CentOS 4 (RHEL4) for IBM zSeries/s390?
 
You may be able to compile wine on this architecture and run Winelib 
applications ( http://www.winehq.org/site/docs/winelib-guide/index ) but 
running regular windows applications is a different matter ( 
http://www.winehq.org/site/docs/wine-faq/index#UNDER-WHAT-PLATFORMS-WILL-WINE-RUN 
). Bochs ( http://bochs.sourceforge.net/ ) is your best bet for getting 
windows applications running


I am not sure if anyone has actually tried to get Wine to compile on IBM 
zSeries/s390, you may be the first. I for one am curious about the 
results of an attempt.  If you do try to compile wine on this machine 
please let us know the results.


--

Tony Lambregts




Problem with virtual memory rlimits

2006-02-24 Thread Marcus Meissner
Hi,

I am having a problem with virtual ulimits/rlimits.

If you limit the virtual memory size using "ulimit -v 140" for
instance, wine will only crash.

The problem is, that VIRTUAL_alloc_teb() tries to allocate a memory
area within the acceptable userspace ... but it does so much mmap()s
that it runs out of available mmap space before.

I was only able to reproduce this on AMD64 machines up to now, 
which pass out memory starting from 0xf7fff somewhere.

Any clue how to solve this?

Ciao, Marcus




Re: WineD3D refcounting fun part II :)

2006-02-24 Thread H. Verbeet
On 24/02/06, Robert Shearman <[EMAIL PROTECTED]> wrote:
> I am not at all familiar with the wined3d code, but from what I've seen
> discussed here it would seem that wined3d shouldn't keep references to
> any objects. Instead the other objects should release the corresponding
> wined3d object when they are destroyed.

I don't think it does, generally. d3d8/9 objects usually contain a
wined3d object that they wrap, and when the reference count of the
d3d8/9 object reaches 0 it releases its wined3d object. That works
fine as long as the is no relation between the wined3d objects. The
moment a wined3d object keeps a reference to another wined3d object
there is a problem though, because the d3d8/9 object that wraps that
object can be released while there are wined3d objects that still keep
a reference to that wined3d object.

What I mentioned to Roderick on IRC was not really doing refcounts on
wined3d objects, but on the wrapper objects instead. Essentially
calling AddRef on a wined3d surface would just increase the reference
count on the d3d8/9 surface. When the d3d8/9 object's refcount reaches
0 it just calls the wined3d object's cleanup function directly instead
of the release.

>From Roderick's post I don't get the impression that that particular
issue is the problem here though.




Re: riched20: Implements FR_MATCHCASE for EM_FINDTEXT

2006-02-24 Thread Phil Krylov
On Fri, 24 Feb 2006 12:24:45 +0100
Alexandre Julliard <[EMAIL PROTECTED]> wrote:

> Phil Krylov <[EMAIL PROTECTED]> writes:
> 
> > On Tue, 21 Feb 2006 14:08:38 -0800
> > Lei Zhang <[EMAIL PROTECTED]> wrote:
> >> 
> >> Hi Phil,
> >> 
> >> Ya, it's a typo. Thanks for catching it.
> >
> > Could you kindly fix it then? As this patch was accepted unfixed.
> 
> I accepted the patch because I don't see how pCurItem could be NULL in
> that loop (or rather, it could be NULL, but in that case we'll crash
> before coming back to the loop test). Am I missing something?

Yes, you're right. It can't be NULL because of an earlier test:

para->member.para.nCharOfs + item->member.run.nCharOfs + nEnd - nLen >= nMin

But this is very inevident.

-- Ph.




Re: Fix ExitWindows()

2006-02-24 Thread Robert Shearman

Francois Gouget wrote:



-if (SendMessageTimeoutW( *phwnd, WM_QUERYENDSESSION, 0, 0, send_flags, 
INFINITE, &result) && !result) break;
+if (SendMessageTimeoutW( *phwnd, WM_QUERYENDSESSION, 0, 0, 
send_flags, 0, &result))
 



Was this change deliberate to remove the check of result? If so, I don't 
see where else the result of the message can be properly checked.


--
Rob Shearman





Re: WineD3D refcounting fun part II :)

2006-02-24 Thread Robert Shearman

H. Verbeet wrote:


I also suspect there might be a couple of circular references in the
form of device->stateblock->object->device, but I haven't had time to
really look into that yet. I *think* wined3d shouldn't keep references
to objects in the device's Set* methods, but I remember that when I
removed them in IWineD3DDeviceImpl_SetVertexShader Oliver put them
back again in a later patch for some reason.
 



It would be good to write out on paper or otherwise the hierarchy of 
which lifetimes a given object controls so that you can be sure of this. 
There should be no loops.


I am not at all familiar with the wined3d code, but from what I've seen 
discussed here it would seem that wined3d shouldn't keep references to 
any objects. Instead the other objects should release the corresponding 
wined3d object when they are destroyed.


--
Rob Shearman





Re: riched20: Implements FR_MATCHCASE for EM_FINDTEXT

2006-02-24 Thread Alexandre Julliard
Phil Krylov <[EMAIL PROTECTED]> writes:

> On Tue, 21 Feb 2006 14:08:38 -0800
> Lei Zhang <[EMAIL PROTECTED]> wrote:
>> 
>> Hi Phil,
>> 
>> Ya, it's a typo. Thanks for catching it.
>
> Could you kindly fix it then? As this patch was accepted unfixed.

I accepted the patch because I don't see how pCurItem could be NULL in
that loop (or rather, it could be NULL, but in that case we'll crash
before coming back to the loop test). Am I missing something?

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: riched20: Implements FR_MATCHCASE for EM_FINDTEXT

2006-02-24 Thread Phil Krylov
On Tue, 21 Feb 2006 14:08:38 -0800
Lei Zhang <[EMAIL PROTECTED]> wrote:

> On Tuesday 21 February 2006 12:42 pm, you wrote:
> > On Tue, 21 Feb 2006 10:19:01 -0800
> >
> > Lei Zhang <[EMAIL PROTECTED]> wrote:
> > > -  while (pCurItem &&
> > > pCurItem->member.run.strText->szData[nCurEnd - nMatched - 1] ==
> > > text[nLen - nMatched - 1]) +  while
> > > (ME_CharCompare(pCurItem->member.run.strText->szData[nCurEnd -
> > > nMatched - 1], text[nLen - nMatched - 1], (flags & FR_MATCHCASE)))
> >
> > You've dropped pCurItem NULL check here. Probably just a typo...
> >
> > -- Ph.
> 
> Hi Phil,
> 
> Ya, it's a typo. Thanks for catching it.

Could you kindly fix it then? As this patch was accepted unfixed.

-- Ph.




Re: advpack [1/3]: Factor out loading the advpack API [RESEND]

2006-02-24 Thread Alexandre Julliard
"James Hawkins" <[EMAIL PROTECTED]> writes:

> @@ -256,21 +268,9 @@ static void translateinfstring_test()
>  
>  START_TEST(advpack)
>  {
> -HMODULE hdll;
> -
> -hdll = LoadLibraryA("advpack.dll");
> -if (!hdll)
> -return;
> -
> -pGetVersionFromFile = (void*)GetProcAddress(hdll, "GetVersionFromFile");
> -pDelNode = (void*)GetProcAddress(hdll, "DelNode");
> -pTranslateInfString = (void*)GetProcAddress(hdll, "TranslateInfString");
> -if (!pGetVersionFromFile || !pDelNode || !pTranslateInfString)
> -return;
> +init_function_pointers();

Why are you removing the pointer checks?

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Debugging

2006-02-24 Thread Michael Jung
Hi,

On Friday 24 February 2006 06:28, Juan Lang wrote:
> As far as how to deal with this, try modifying kernel32.spec to add a stub
> for BlockInput, like:
> @ stub BlockInput
> and see if the program gets any further.  

Hi according to MSDN, BlockInput is a user32.dll function:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/blockinput.asp

In fact, we do have a commented out stub in dlls/user/user32.spec
# @ stub BlockInput

Bye,
-- 
Michael Jung
[EMAIL PROTECTED]