Re: Bug in MoveFileEx

2002-01-31 Thread lawson_whitney

On Fri, 1 Feb 2002, Gerhard W. Gruber wrote:

> I just played around with Thandor trying to install it and see what the
> differences are between Win98 and Wine because I noticed a slightly different
> behaviour. Now I discovered that MoveFileEx is not even available in Windows
> 98 but wine supplies it nevertheless. I suspect that the Setup doesn't check
> the windows version, but rather calls MoveFileEx and if that fails with not
> implemented returncode continues with other code to supply the functionality.
> I wrote a small test app to confirm this and this returns an error code when
> calling MoveFileEx on a native win98 whiel wine executes it.
>
> How shall I fix this? Shall I simply call GetVersion() to determine if
> MoveFileEx should be allowed or is there a different way with wine to
> determine which functions are available for which version (a global variable
> or such)? I looked through the sources but I couldn't find anywhere something
> where a versioncheck has been used to switch code but then again I don't know
> much functions where I know for sure that they are available in one version
> and not in the other.
>
Why is it a problem?  There is no guarantee Wine will be run with the
same --winver next time, so the "boot" utility or startup code has to
handle both idiotic mechanisms.  It is not important to _me_ that Wine
should be exactly as Windows, only that it should work well.

If an app that people find useful refuses to work at all if it finds
functions that it thinks should not be there, I guess we might have to
cater for it, but I'd rather not.

Lawson






Re: Bug in MoveFileEx

2002-01-31 Thread David Elliott

On 2002.01.31 18:37 Gerhard W. Gruber wrote:
> I just played around with Thandor trying to install it and see what the
> differences are between Win98 and Wine because I noticed a slightly
> different
> behaviour. Now I discovered that MoveFileEx is not even available in
> Windows
> 98 but wine supplies it nevertheless. I suspect that the Setup doesn't
> check
> the windows version, but rather calls MoveFileEx and if that fails with
> not
> implemented returncode continues with other code to supply the
> functionality.
> I wrote a small test app to confirm this and this returns an error code
> when
> calling MoveFileEx on a native win98 whiel wine executes it.
> 
Okay, so wine supplies the MoveFileEx function (like NT) for all 
versions.  If you had read the archives you'd know that the chances of 
hell freezing over are greater than the chances of version specific 
behavior being added to Wine.

If MoveFileEx actually works and puts the info in the registry the NT way, 
then the only problem you'd have is if an application happened to actually 
check the windows version and use that to decide if it should call 
MoveFileEx or write to WININIT.INI directly.

I suspect that most applications are going to behave like you suggest.  
That is that they will call MoveFileEx and if it succeeds then they will 
assume the file is going to get replaced (which see below for how Wine 
will do that).  If MoveFileEx fails then they will add an entry to 
wininit.ini.  That's not a problem because Wine's call should always 
succeed.

Now, for the latter case where the app checks the windows version.  Well, 
if it happens to write directly to WININT.INI instead of calling 
MoveFileEx, then no big deal.  We will have code that reads both 
WININIT.INI and the NT-style registry entries.

Considering that on Windows 9x/ME the WININIT.EXE program takes care of 
this, might I suggest that we create a winelib application (placed in the 
programs/ directory of the sourcetree) that reads in the registry entries 
and the WININIT.INI flle and process the entries and deletes them.  Such a 
program I think would be aptly named simply "wininit".

Now the trick is to somehow actually get the user to run the wininit 
winelib program when needed.  Personally I feel that this is secondary.  
It could simply be accomplished by a wrapper shell script.  The important 
thing is to get the functionality described above implemented, and 
document that when an installer asks for a reboot you should close all 
wine applications and run the wininit command to cause the files to be 
copied.  Of course with Wine more than likely you will not need to close 
anything and can simply run wininit while other unrelated processes are 
still running.

I assume whatever Andi's program does would probably be similar to what I 
am describing.

-Dave


> How shall I fix this? Shall I simply call GetVersion() to determine if
> MoveFileEx should be allowed or is there a different way with wine to
> determine which functions are available for which version (a global
> variable
> or such)? I looked through the sources but I couldn't find anywhere
> something
> where a versioncheck has been used to switch code but then again I don't
> know
> much functions where I know for sure that they are available in one
> version
> and not in the other.
> 
> --
> Bye,
>Gerhard
> If you think education is expensive, try ignorance.
> 
> 
> 
> 





Re: DESTDIR support for make install

2002-01-31 Thread David Elliott

On 2002.01.31 17:52 Joerg Mayer wrote:
> On Thu, Jan 31, 2002 at 02:33:53PM -0800, Alexandre Julliard wrote:
> > But "make install prefix=/home/myaccount/rpms/tmp" should do exactly
> > the same thing, unless I missed something. You can run make with one
> > prefix and make install with another one, that's a feature.
> 
> I didn't know about this feature, but it works fine :) Thanks!
> 
>   Ciao
>Jörg
> 
You're still missing out on even more features though.

The newer versions of RPM have configure and make install macros.

When you use the configure macro it calls ./configure with a bunch of 
predefined parameters like the prefix and the etc directory and the 
manpages and info directories and so on.

You then run make (usually wouldn't need any parameters.. although in 
wine's case don't forget to make depend before a make).

Then when that is all said and done you use the makeinstall macro which 
runs make install with those parameters from the configure macro set with 
the RPM BuildRoot before them all.

I believe Wine's makefiles should already be well behaved enough to handle 
that.

Only issue I can remember is that a few weeks ago I grabbed wine out of 
CVS and compiled it on my work box and I could have sworn that when I did 
a make install that it compiled wineconsole again during that.  I think 
that only happened during the first build of the tree (which is always 
going to be the case for an RPM).  So you might want to look into that.  
Fortunately, this was not for an RPM, simply build as myself and install 
as myself into the /opt/wine-cvs directory which I own.

-Dave





Re: Fix for MoveFileExA

2002-01-31 Thread David Elliott

On 2002.01.31 16:02 Gerhard W. Gruber wrote:
[snip]
> OK. I just downloaded it. I hope I know how to open bz2. :)
> 
I assume that was a joke.

[snip]
> 
> Why is the To: field or the Reply-To: not set to the mailinglist instead
> of
> the poster?
> 
hehehee READ THE ARCHIVES!

We need to have an FAQ on this somewhere on the website.

-Dave





Re: Pajama Sam's unmanaged window

2002-01-31 Thread Dmitry Timoshkov

"Ove Kaaven" <[EMAIL PROTECTED]> wrote:

> > > > Since this is probably not the case, perhaps it's better to check for the
> > > > popup menu class in is_window_managed(), something like
> > > >
> > > >  if (GetClassLongA(win->hwndSelf, GCW_ATOM) == POPUPMENU_CLASS_ATOM) return
> > > > FALSE;
> > > 
> > > Ah ha! Exactly what I had in mind. After thinking about this, it seemed to me 
> > > that is_window_managed() should examine the window's class, as well as its 
> > > style bits, since the class will give a more accurate indication of what kind 
> > > of window we're dealing with than just the style bits.
> > 
> > Unfortunately this aproach does not work well in all cases, especially in
> > the case of subclassed windows.
> 
> Do you have any examples where it might not work... window subclassing is
> the act of using SetWindowLong to replace the window procedure, which does
> not change the class atom, as far as I know?

Here is what I did for testing a progress bar control:

GetClassInfo(0, "msctls_progress32", &wnd_class);
old_ProgressProc = wnd_class.lpfnWndProc;
wnd_class.lpfnWndProc = my_ProgressProc;
wnd_class.lpszClassName = "my_progress32";
RegisterClass(&wnd_class);

my_ProgressProc just logs all received messages and then calls an old
window procedure:
CallWindowProc(old_ProgressProc, hWnd, uMsg, wParam, lParam);

-- 
Dmitry.








Re: ROTD (Rant Of The Day): patches

2002-01-31 Thread Michael Stefaniuc

On Thu, Jan 31, 2002 at 03:52:19PM -0500, Dimitrie O. Paun wrote:
> I've come to _hate_ diffs attached as Application/OCTET-STREAM. Can you
> please, Please, PLEASE, attach them as Text/PLAIN?
> 
> I use Pine over a ssh connection to read wine-{devel,patches}, and I can
Use a better mailer like mutt ;) ?

> simply view the Text/PLAIN attachments, whereas I have to:
>   -- press V to view the list of attachments
>   -- select the attachment I want to view
>   -- press S to save it to disk
This is what have todo with mutt too, but I don't have to save. I press
 to display the message. mutt complains about not having an
appropiate method for the mime type and displays it in it's internal
pager. I suspect this should work in pine too.

>   -- exit Pine
>   -- start vi to actually view the thing
>   -- restart pine...
Uuuh ... this is like rebooting. Has pine a "pipe" function (it's long
ago when I saw The Light and switched to mutt)? That's what i do in mutt
wenn I get an gzip'ed patch: go to the list of attachments, select the
attachment and pipe it through zless. So no need to leave the mailer.

> Just to view a Application/OCTET-STREAM attachment.
They don't annoy me too much, but the extra key strokes I need to view
them will get me the carpal tunnel syndrome.

bye
michael

P.S.: sorry, couldn't resist

> Which means 2 things:
>   -- I get frustrated (and look what happens when I do:))
>   -- I simply ignore those patches
> 
> For all these reasons (and more), I think Linus is right when he insists on:
>   -- ONE patch per email
>   -- ONLY Text/PLAIN attachments.


-- 
Michael Stefaniuc   Tel.: +49-711-96437-199
System Administration   Fax.: +49-711-96437-111
Red Hat GmbHEmail: [EMAIL PROTECTED]
Hauptstaetterstr. 58http://www.redhat.de/
D-70178 Stuttgart



msg07362/pgp0.pgp
Description: PGP signature


Bug in MoveFileEx

2002-01-31 Thread Gerhard W . Gruber

I just played around with Thandor trying to install it and see what the
differences are between Win98 and Wine because I noticed a slightly different
behaviour. Now I discovered that MoveFileEx is not even available in Windows
98 but wine supplies it nevertheless. I suspect that the Setup doesn't check
the windows version, but rather calls MoveFileEx and if that fails with not
implemented returncode continues with other code to supply the functionality.
I wrote a small test app to confirm this and this returns an error code when
calling MoveFileEx on a native win98 whiel wine executes it.

How shall I fix this? Shall I simply call GetVersion() to determine if
MoveFileEx should be allowed or is there a different way with wine to
determine which functions are available for which version (a global variable
or such)? I looked through the sources but I couldn't find anywhere something
where a versioncheck has been used to switch code but then again I don't know
much functions where I know for sure that they are available in one version
and not in the other.

-- 
Bye,
   Gerhard
If you think education is expensive, try ignorance.





Re: Bug in WritePrivateProfileSection

2002-01-31 Thread Gerhard W . Gruber

On Thu, 31 Jan 2002 23:38:05 +0100, Andreas Mohr
<[EMAIL PROTECTED]> wrote:

>On Thu, Jan 31, 2002 at 11:23:58PM +0100, Gerhard W. Gruber wrote:
>> I just wrote a small up to test the behaviour of WritePrivateProfileSection.
>> This confirmed my suspicion that the wine implementation is wrong because on
>> Win98 I can create multiple keys with the same name when using this function,
>> while wine always substitutes the new value if the key already exists. If
>> nobody is working on that, then I'll fix this first before continuing with the
>> boot process.
>Yep, go ahead.

>In case of questions with that boot stuff, just ask me.

ok.

-- 
Bye,
   Gerhard
If you think education is expensive, try ignorance.





Re: DESTDIR support for make install

2002-01-31 Thread Joerg Mayer

On Thu, Jan 31, 2002 at 02:33:53PM -0800, Alexandre Julliard wrote:
> But "make install prefix=/home/myaccount/rpms/tmp" should do exactly
> the same thing, unless I missed something. You can run make with one
> prefix and make install with another one, that's a feature.

I didn't know about this feature, but it works fine :) Thanks!

  Ciao
   Jörg

--
Joerg Mayer  <[EMAIL PROTECTED]>
I found out that "pro" means "instead of" (as in proconsul). Now I know
what proactive means.





Re: ROTD (Rant Of The Day): patches

2002-01-31 Thread Joerg Mayer

Hmm, looks like after the failed attempt for a flame war on version numbering,
you are trying to start one on mail clients 8-=)

On Thu, Jan 31, 2002 at 03:52:19PM -0500, Dimitrie O. Paun wrote:
> I've come to _hate_ diffs attached as Application/OCTET-STREAM. Can you
> please, Please, PLEASE, attach them as Text/PLAIN?

I'd like to see properly labeled attachment types too, be they text/plain,
mime, gzip or whatever.

> I use Pine over a ssh connection to read wine-{devel,patches}, and I can
> simply view the Text/PLAIN attachments, whereas I have to:

Hmm, the problem you mentioned is one of the two major reasons that drove
me away from pine towards mutt. I'm now running a (n almost) properly
configured mutt and don't have these problems any more because app/o-s
are just viewed with the text viewer after  pressing v and selecting the
attachment (which takes maybe 2 seconds). I don't like your idea of
1 patch per mail, as this would probably take me 2-3 additional seconds
per mail (poor me).

  ciao
  Jörg

--
Joerg Mayer  <[EMAIL PROTECTED]>
I found out that "pro" means "instead of" (as in proconsul). Now I know
what proactive means.





Re: Bug in WritePrivateProfileSection

2002-01-31 Thread Andreas Mohr

On Thu, Jan 31, 2002 at 11:23:58PM +0100, Gerhard W. Gruber wrote:
> I just wrote a small up to test the behaviour of WritePrivateProfileSection.
> This confirmed my suspicion that the wine implementation is wrong because on
> Win98 I can create multiple keys with the same name when using this function,
> while wine always substitutes the new value if the key already exists. If
> nobody is working on that, then I'll fix this first before continuing with the
> boot process.
Yep, go ahead.

In case of questions with that boot stuff, just ask me.

-- 
Andreas MohrStauferstr. 6, D-71272 Renningen, Germany
Tel. +49 7159 800604http://home.nexgo.de/andi.mohr/





Re: DESTDIR support for make install

2002-01-31 Thread Daniel Sabo

On Thu, 31 Jan 2002 13:09:28 -0800, Alexandre Julliard wrote:

> Bernhard Rosenkraenzer <[EMAIL PROTECTED]> writes:
> 
>> wine currently doesn't support the DESTDIR flag commonly used by
>> packagers. The patch I've attached fixes this.
> 
> Could you explain this a bit more?  Why can't you use the existing
> $prefix to do the same thing?
> 
> 
$prefix changes the code, e.g. winelauncher sets it's directories based on
$prefix. DESTDIR puts the files somewhere esle but writes the code like it
was going in $prefix.

So you could have $prefix=/usr and DESTDIR=/tmp/winepackage






Re: DESTDIR support for make install

2002-01-31 Thread Alexandre Julliard

Joerg Mayer <[EMAIL PROTECTED]> writes:

> So changing prefix is not the way to go. DESTDIR allows to do the
> install via "DESTDIR=/home/myaccount/rpms/tmp make install" instead
> of doing all the steps from "make install" manually.

But "make install prefix=/home/myaccount/rpms/tmp" should do exactly
the same thing, unless I missed something. You can run make with one
prefix and make install with another one, that's a feature.

-- 
Alexandre Julliard
[EMAIL PROTECTED]





Re: DESTDIR support for make install

2002-01-31 Thread Joerg Mayer

On Thu, Jan 31, 2002 at 01:09:28PM -0800, Alexandre Julliard wrote:
> > wine currently doesn't support the DESTDIR flag commonly used by 
> > packagers. The patch I've attached fixes this.
> 
> Could you explain this a bit more?  Why can't you use the existing
> $prefix to do the same thing?

When creating a spec file for rpms, you basically prepare the source
(unpack, apply patches), then run configure, make and --->make install
Because the result is intended not to be run but to be packaged, you
don't install into e.g. /usr/local directly, but into something like
/home/myaccount/rpms/tmp/usr/local. Later, when you *install* the
package, you want the binaries to be installed into /usr/local and
all paths compiled into the binaries to point to /usr/local/... too.
So changing prefix is not the way to go. DESTDIR allows to do the
install via "DESTDIR=/home/myaccount/rpms/tmp make install" instead
of doing all the steps from "make install" manually.

  Ciao
  Jörg

--
Joerg Mayer  <[EMAIL PROTECTED]>
I found out that "pro" means "instead of" (as in proconsul). Now I know
what proactive means.





Re: Fix for MoveFileExA

2002-01-31 Thread Gerhard W . Gruber

On Thu, 31 Jan 2002 15:36:55 -0600, Aric Stewart <[EMAIL PROTECTED]> wrote:

>Ok I interpret the MSDN paragraph differently. I read it as meaning that
>the MoveFileEx function would FAIL. if used with that flag. And that it
>was the Programs responsibility to write to the WinInit.ini file. In my

You are right. I just looked up the MSDN paragraph and it says that this
function is not supported on W95/98.

>experience with installers this has been the case. So there is not alot
>wine has to do, just do a version check and if in Windows 95/98 mode
>fail. I dont think it is proper for the function to do the writing to
>wininit.ini.

I have a program "Thandor" which installer uses this function. I check if it
creates the wininit.ini file manually. I only noticed the fixme message that
told me to rename files manually and I thought that annyoing so I tried to fix
it. At that time I didn't knew about that wininit.ini file so I didn't check
if it exists. What I also noticed now is that there appears to be a difference
between wine win98 and real win98. When I install this program under Win98 it
simply installs and I can run it immediatly. When I install it under wine with
--winver win98 at the end a dialog pops up that tells me if I want to reboot
or not. Since I have only win98 and NT installed I can't check if this
behaviour is under win95 but there is obviously something different here.

>The problem is sort of two fold. 
>#1) this is not processing you want to have happen every time wine is
>started. Only after a reboot or when signaled to do so. There is alot of
>reboot / windows startup processing that happens (WinInit.ini, RunOnce
>etc..) and it is best to keep all that processing together. So wine
>startup starts to get bigger and messy. 

I already checked that file Andreas showed me and I'll work on this now
instead. I agree that the code should be seperated as cleanly as possible so I
have no problem with that.

>Take a look at andreas' utility he sent out. It has alot it does but you
>can see how the wininit.ini processing works. It is also a very easy
>(maybe 1 hour) project to write up a smaller winelib/unix utility that
>does the same if that is all you need for you particular situation.

I don't want to do it for me specifically because I don't need that program to
run under linux. If I work on it then I want it to be integrated in wine. I
have no problem parsing the wininit.ini file myself, as this is a rather easy
job, as you said. I think I already wrote some years ago a function that does
this because windows wasn't so popular then. :)

-- 
Bye,
   Gerhard
If you think education is expensive, try ignorance.





Bug in WritePrivateProfileSection

2002-01-31 Thread Gerhard W . Gruber

I just wrote a small up to test the behaviour of WritePrivateProfileSection.
This confirmed my suspicion that the wine implementation is wrong because on
Win98 I can create multiple keys with the same name when using this function,
while wine always substitutes the new value if the key already exists. If
nobody is working on that, then I'll fix this first before continuing with the
boot process.

-- 
Bye,
   Gerhard
If you think education is expensive, try ignorance.





Re: Fix for MoveFileExA

2002-01-31 Thread Gerhard W . Gruber

On Thu, 31 Jan 2002 20:25:32 +0100, Andreas Mohr
<[EMAIL PROTECTED]> wrote:

>Please, please, please not even more duplication !
>I really don't want to know how many times wininit.ini stuff has been
>implemented/semi-implemented/...

I didn't knew that there is already something.

>If you *really* want to do some stuff, then get
>http://home.nexgo.de/andi.mohr/download/winebootup.tar.bz2
>and start improving its wininit.ini handling
>(this needs improving, AFAIK).

OK. I just downloaded it. I hope I know how to open bz2. :)

>Questions ? Just ask.

Why is the To: field or the Reply-To: not set to the mailinglist instead of
the poster?

-- 
Bye,
   Gerhard
If you think education is expensive, try ignorance.





Re: ROTD (Rant Of The Day): patches

2002-01-31 Thread Dimitrie O. Paun

On Thu, 31 Jan 2002, Alexandre Julliard wrote:

> I can't say I disagree with you, but I'll just note that all your
> patches are base64 encoded, which is not really better 

Oops  (but, ..., but, ... mine are Text/PLAIN at least :))

Sorry, I did not realise that. Speaking of which, I don't have the
slightest idea how to force Pine not to do that. Maybe the only way is to
actually _insert_ the text of the patch at the end of the message, but as
far as I know, there are some broken versions of Pine out that will mangle
the patch in sublte ways.
 
> IMO any mail that cannot be piped straight into patch should be rejected

Agreed. I am sorry I caused you grief by sending you base64 patches, from
my mailer POV they seemed to be "in clear".

> but I don't do it because it would take me more time to
> explain that to people sending patches and keep track of it all than
> it takes me to decode them. Maybe we should put an auto-rejecter of
> mime crap on the wine-patches list..

Yeah, that would be good. Maybe include something into the documentation
describing how to send the patch using various mailers?


--
Dimi.







Re: ROTD (Rant Of The Day): patches

2002-01-31 Thread Francois Gouget

On Thu, 31 Jan 2002, Dimitrie O. Paun wrote:
[...]
> BTW, how do you fork the external pager?

  I just do '>', select the attachement and 'V'. I don't think I have
any specific option.


[...]
> Me too! :) That is, I would like to know as well.
>
> I guess you can insert the patch in the body of the message using:
>   ^R - from Pico to "Read File"

   Maybe I'll try that. it should tae care of botht the MIME and base64
issues. Putting a patch directly inline worries me though.


--
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
 Linux, WinNT, MS-DOS - also known as the Good, the Bad and the Ugly.







Re: ROTD (Rant Of The Day): patches

2002-01-31 Thread Dimitrie O. Paun

On Thu, 31 Jan 2002, Francois Gouget wrote:

>Another issue which is dear to Alexandre :-)

I wonder why?... :)
 
>When I send a patch with netscape and then read the email in pine, I
> see the email and the attachement right below it. When I send a patch
> with pine, I have to use V, select the attachement and pine forks an
> external pager (more/less/whatever).  That's fine too but slightly less
> practical.

BTW, how do you fork the external pager? 

>So if anyone has tips for configuring pine so that it makes nicer
> attachements...

Me too! :) That is, I would like to know as well. 

I guess you can insert the patch in the body of the message using:
  ^R - from Pico to "Read File"
or
  ^_ - to go to the alternate editor (vi) and do the dirty deed in there.

--
Dimi.







Re: ROTD (Rant Of The Day): patches

2002-01-31 Thread Eric Pouech

> Maybe we should put an auto-rejecter of
> mime crap on the wine-patches list..
or an automatic converter/inliner...

A+
-- 
---
Eric Pouech (http://perso.wanadoo.fr/eric.pouech/)
"The future will be better tomorrow", Vice President Dan Quayle





Re: ROTD (Rant Of The Day): patches

2002-01-31 Thread Alexandre Julliard

"Dimitrie O. Paun" <[EMAIL PROTECTED]> writes:

> For all these reasons (and more), I think Linus is right when he insists on:
>   -- ONE patch per email
>   -- ONLY Text/PLAIN attachments.

I can't say I disagree with you, but I'll just note that all your
patches are base64 encoded, which is not really better 

IMO any mail that cannot be piped straight into patch should be
rejected; but I don't do it because it would take me more time to
explain that to people sending patches and keep track of it all than
it takes me to decode them. Maybe we should put an auto-rejecter of
mime crap on the wine-patches list..

-- 
Alexandre Julliard
[EMAIL PROTECTED]





Re: ROTD (Rant Of The Day): patches

2002-01-31 Thread Francois Gouget

On Thu, 31 Jan 2002, Dimitrie O. Paun wrote:

> Guys,
>
> I've come to _hate_ diffs attached as Application/OCTET-STREAM. Can you
> please, Please, PLEASE, attach them as Text/PLAIN?

   Another issue which is dear to Alexandre :-)

   When I send a patch with netscape and then read the email in pine, I
see the email and the attachement right below it. When I send a patch
with pine, I have to use V, select the attachement and pine forks an
external pager (more/less/whatever).  That's fine too but slightly less
practical.
   I am not sure what is the difference between the two. I believe it
has to do with one being a MIME attachement while the other would
be... I don't know what.
   And Alexandre once said he would like it if my attachements were
more readily accessible (in emacs).

   So if anyone has tips for configuring pine so that it makes nicer
attachements...


--
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
It really galls me that most of the computer power in the world
  is wasted on screen savers.
 Chris Caldwell from the GIMPS project
   http://www.mersenne.org/prime.htm






Re: treeview.c

2002-01-31 Thread Aric Stewart

It doesn't really fail silently as one will see the visual error of the
text string being empty. It does prevent the application from crashing
so someone can investigate why the item is empty. 

Do you think there should be a warn or err message? I could add that but
found it seemed to be messy.

-aric

Uwe Bonnes wrote:
> 
> > "Aric" == Aric Stewart <[EMAIL PROTECTED]> writes:
> 
> Aric> This is a bit of a cover to help find other problems, but we would
> Aric> crash if trying to sort a treeview with null strings in it. This
> Aric> prevents this crash so that one can try to figure out why we have
> Aric> empty strings.
> 
> Aric> CHANGELOG: prevent crash on sorting treeview with null strings
> 
> 
> Aric> - return strcasecmp(first->pszText, second->pszText); + if
> Aric> (first->pszText && second->pszText) + return
> Aric> strcasecmp(first->pszText, second->pszText); + else if
> Aric> (first->pszText) + return -1; + else if (second->pszText) + return
> Aric> 1; + else + return 0; }
> 
> Should this fail silently?
> 
> Bye
> --
> Uwe Bonnes[EMAIL PROTECTED]
> 
> Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
> - Tel. 06151 162516  Fax. 06151 164321 --





Re: Microsoft Visual C (MSVC) compabillity

2002-01-31 Thread Francois Gouget

On 31 Jan 2002, Alexandre Julliard wrote:

> Patrik Stridvall <[EMAIL PROTECTED]> writes:
>
> > All of the forms:
> >
> > (1) void WINAPI (*foo)(void);
> > (2) void (* WINAPI foo)(void);
> > (3) void (WINAPI *foo)(void);
> >
> > Seems to work with gcc. Even with gcc 2.7.x.
>
> I believe the problems were rather with g++. In my 2.95.4 version,
> case (2) still doesn't work (well it compiles but generates wrong
> code). Case (3) works though, so that sounds like the way to go, I'll
> apply your patch.

   Yes, g++ is the culprit here. IIRC I did some changes about one year
ago because of g++ (maybe going to 1 or 2).  But in any case I would
consider it a bug with g++, hopefully they will fix it (either in 2.95.5
or 3.0.x).


--
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
 Avoid the Gates of Hell - use Linux.






Re: Fix for MoveFileExA

2002-01-31 Thread Aric Stewart

"Gerhard W. Gruber" wrote:
> 
> On Thu, 31 Jan 2002 07:52:55 -0600, Aric Stewart <[EMAIL PROTECTED]> wrote:
> 
> >Windows 95 and Windows 98: The MoveFileEx function is not supported. To rename or
> >delete a file at reboot, use the following procedure.
> >
> >To rename or delete a file on Windows 95 and Windows 98
> >Check for the existence of the WININIT.INI file in the Windows directory.
> >If WININIT.INI exists, open it and add new entries to the existing [rename]
> >section. If the file does not exist, create the file and create a [rename]
> >section.
> >Add lines of the following format to the [rename] section:
> >DestinationFileName=SourceFileName
> >
> >Both DestinationFileName and SourceFileName must be short filenames. To delete a
> >file, use NUL as the value for DestinationFileName.
> >
> >The system processes WININIT.INI during system boot. After WININIT.INI has been
> >processed, the system names it WININIT.BAK.
> ><<
> >
> >So we have exactly what we should do.
> 
> I didn't check the NT version, but I already investigated the W95/98 behaviour
> and tried to implement it as described above.
> 
> When I implemented it I noticed a problem with the WritePrivateProfileSection.
> If I interpret the MSDN description correctly then this function should write
> all the strings in the buffer to the specified section without doing much
> processing. Therfore it is possible to create multiple key/value pairs with
> the same keyname. This is neccessary in the case of wininit.init because the
> files that are to be deleted all have the key NUL=value. With the current
> implementation the function uses PROFILE_SetString whch checks for duplicate
> keys and overwrites it if a key already exists. If I have time tomorrow I will
> write a small test app for Windows to see how it really behaves, but I thin
> kthat my interpretation is correct. Otherwise there would have to be some code
> in windows that handles the wininit.ini file specifically in order to add the
> same key more than once to the file.
> 

Ok I interpret the MSDN paragraph differently. I read it as meaning that
the MoveFileEx function would FAIL. if used with that flag. And that it
was the Programs responsibility to write to the WinInit.ini file. In my
experience with installers this has been the case. So there is not alot
wine has to do, just do a version check and if in Windows 95/98 mode
fail. I dont think it is proper for the function to do the writing to
wininit.ini.

> >This i have seen alot, andreas (and others) are working on a utility that will
> >process this wininit file. I have talked to alexandre and we both agree that it is
> >something that probably should not be in wine itself.
> 
> Why not? In Win98 there is a Wininit.exe that surely will do this because
> certain files can't be moved when windows is already running. Since Wine
> doesn't have this restriction I added the code to process this in the startup
> somewhere after "if(isbootthread)" because I thought it appropriate there.

The problem is sort of two fold. 
#1) this is not processing you want to have happen every time wine is
started. Only after a reboot or when signaled to do so. There is alot of
reboot / windows startup processing that happens (WinInit.ini, RunOnce
etc..) and it is best to keep all that processing together. So wine
startup starts to get bigger and messy. 

#2) Wine does load a number of libraries on boot and if it is one of
those libraries that is to be moved then MoveFile will fail.
Additionally because the library has already loaded, even if you move
the new library into place you would still be using the old version.
This would be devastating for programs that run after an install to
register new version of dlls. 

Take a look at andreas' utility he sent out. It has alot it does but you
can see how the wininit.ini processing works. It is also a very easy
(maybe 1 hour) project to write up a smaller winelib/unix utility that
does the same if that is all you need for you particular situation.

-aric





Re: DESTDIR support for make install

2002-01-31 Thread Alexandre Julliard

Bernhard Rosenkraenzer <[EMAIL PROTECTED]> writes:

> wine currently doesn't support the DESTDIR flag commonly used by 
> packagers. The patch I've attached fixes this.

Could you explain this a bit more?  Why can't you use the existing
$prefix to do the same thing?

-- 
Alexandre Julliard
[EMAIL PROTECTED]





Re: Microsoft Visual C (MSVC) compabillity

2002-01-31 Thread Alexandre Julliard

Patrik Stridvall <[EMAIL PROTECTED]> writes:

> All of the forms:
> 
> (1) void WINAPI (*foo)(void);
> (2) void (* WINAPI foo)(void);
> (3) void (WINAPI *foo)(void);
> 
> Seems to work with gcc. Even with gcc 2.7.x.

I believe the problems were rather with g++. In my 2.95.4 version,
case (2) still doesn't work (well it compiles but generates wrong
code). Case (3) works though, so that sounds like the way to go, I'll
apply your patch.

-- 
Alexandre Julliard
[EMAIL PROTECTED]





ROTD (Rant Of The Day): patches

2002-01-31 Thread Dimitrie O. Paun

Guys,

I've come to _hate_ diffs attached as Application/OCTET-STREAM. Can you
please, Please, PLEASE, attach them as Text/PLAIN?

I use Pine over a ssh connection to read wine-{devel,patches}, and I can
simply view the Text/PLAIN attachments, whereas I have to:
  -- press V to view the list of attachments
  -- select the attachment I want to view
  -- press S to save it to disk
  -- exit Pine
  -- start vi to actually view the thing
  -- restart pine...
Just to view a Application/OCTET-STREAM attachment.

Which means 2 things:
  -- I get frustrated (and look what happens when I do:))
  -- I simply ignore those patches

For all these reasons (and more), I think Linus is right when he insists on:
  -- ONE patch per email
  -- ONLY Text/PLAIN attachments.

--
Dimi.







Re: Pajama Sam's unmanaged window

2002-01-31 Thread Alexandre Julliard

Ove Kaaven <[EMAIL PROTECTED]> writes:

> Hmm. I thought SetWindowLong worked differently than SetClassLong. Weird
> stuff...

Yes it does, you are right my explanation was more for SetClassLong
than SetWindowLong. Basically SetClassLong will affect all windows
created with a given class, SetWindowLong will affect a single window,
and creating a new class + GetClassLong on the old one will affect all
windows created with the new class but not those created with the old
class. The nice thing with the Windows API is that everything is so
straightforward...

-- 
Alexandre Julliard
[EMAIL PROTECTED]





Re: Pajama Sam's unmanaged window

2002-01-31 Thread Ove Kaaven


On 31 Jan 2002, Alexandre Julliard wrote:

> Ove Kaaven <[EMAIL PROTECTED]> writes:
> 
> > Do you have any examples where it might not work... window subclassing is
> > the act of using SetWindowLong to replace the window procedure, which does
> > not change the class atom, as far as I know?
> 
> That's if you want to subclass all windows of a given class.

Hmm. I thought SetWindowLong worked differently than SetClassLong. Weird
stuff...






Re: Pajama Sam's unmanaged window

2002-01-31 Thread Alexandre Julliard

Ove Kaaven <[EMAIL PROTECTED]> writes:

> Do you have any examples where it might not work... window subclassing is
> the act of using SetWindowLong to replace the window procedure, which does
> not change the class atom, as far as I know?

That's if you want to subclass all windows of a given class. If you
just want to create your own menu windows but not change the existing
menus, you would create a new class with a new name, and then chain
down to the menu window proc for any unhandled message.

-- 
Alexandre Julliard
[EMAIL PROTECTED]





Re: SetupAPI (dll)

2002-01-31 Thread Stefan Görling

Dear Andreas,


> So just go ahead immediately :)

I'm right on it.

A Simple stupid question.  Is there a simple way to read a line from a HANDLE or
a unixhandle?  I've looked a bit at ReadFile (file/file.c) but I'm lazy, so if
there is a better way :)

/Stefan






Re: mingw32 port and cygwin

2002-01-31 Thread Alexandre Julliard

"Steven Edwards" <[EMAIL PROTECTED]> writes:

> The last major thing will be the spec and def differences. Because we
> are compiling with mingw and making windows dlls using dlltool, we need
> to easily convert from specs to defs. I was going to write a shell
> script or a simple c program that did this but if anyone has a more
> elegant solution please feel free to suggest one.

I'd suggest making winebuild generate the .defs; this way you don't
need to write a new .spec file parser.

-- 
Alexandre Julliard
[EMAIL PROTECTED]





Re: Pajama Sam's unmanaged window

2002-01-31 Thread Ove Kaaven


On Fri, 1 Feb 2002, Dmitry Timoshkov wrote:

> "Ori Pessach" <[EMAIL PROTECTED]> wrote:
> 
> > > Since this is probably not the case, perhaps it's better to check for the
> > > popup menu class in is_window_managed(), something like
> > >
> > >  if (GetClassLongA(win->hwndSelf, GCW_ATOM) == POPUPMENU_CLASS_ATOM) return
> > > FALSE;
> > 
> > Ah ha! Exactly what I had in mind. After thinking about this, it seemed to me 
> > that is_window_managed() should examine the window's class, as well as its 
> > style bits, since the class will give a more accurate indication of what kind 
> > of window we're dealing with than just the style bits.
> 
> Unfortunately this aproach does not work well in all cases, especially in
> the case of subclassed windows.

Do you have any examples where it might not work... window subclassing is
the act of using SetWindowLong to replace the window procedure, which does
not change the class atom, as far as I know?






Re: CreateProcess API - undocumented use

2002-01-31 Thread Andreas Mohr

On Thu, Jan 31, 2002 at 04:54:55PM -0200, Ricardo wrote:
> > Hmm, so you mean some program launches another program, passing a value
> > in STARTUPINFO.dwFillAttribute, right ?
> > If so, how does the launched process retrieve the STARTUPINFO content
> > in your case ?
> 
> It's writen a file with a random name that's read by the second program.
> 
> > Wine certainly doesn't pass the STARTUPINFO strut content to program
> > space yet; it's simply being used for initializing certain aspects of
> > the new program.
> 
> What I saw was that I run the first program, it write the file and wine
> closes, then it restart with the other program, but it can't read the file
> because it lost the file name, isn't it? It's the same error I get when I
> run the second program alone.
Well, show us how the second program is supposed to get at that data,
and we'll show you what doesn't work at the moment.
I'm still a bit ignorant about how exactly your programs do that data
transfer (especially on the "client" side), thus please show us how
this is supposed to be done.

Thanks !

-- 
Andreas MohrStauferstr. 6, D-71272 Renningen, Germany
Tel. +49 7159 800604http://home.nexgo.de/andi.mohr/





Re: Fix for MoveFileExA

2002-01-31 Thread Andreas Mohr

On Thu, Jan 31, 2002 at 07:50:53PM +0100, Gerhard W. Gruber wrote:
> On Thu, 31 Jan 2002 07:52:55 -0600, Aric Stewart <[EMAIL PROTECTED]> wrote:
> >This i have seen alot, andreas (and others) are working on a utility that will
> >process this wininit file. I have talked to alexandre and we both agree that it is
> >something that probably should not be in wine itself.
> 
> Why not? In Win98 there is a Wininit.exe that surely will do this because
> certain files can't be moved when windows is already running. Since Wine
> doesn't have this restriction I added the code to process this in the startup
> somewhere after "if(isbootthread)" because I thought it appropriate there.

Please, please, please not even more duplication !
I really don't want to know how many times wininit.ini stuff has been
implemented/semi-implemented/...

If you *really* want to do some stuff, then get
http://home.nexgo.de/andi.mohr/download/winebootup.tar.bz2
and start improving its wininit.ini handling
(this needs improving, AFAIK).

Questions ? Just ask.

-- 
Andreas MohrStauferstr. 6, D-71272 Renningen, Germany
Tel. +49 7159 800604http://home.nexgo.de/andi.mohr/





Re: Fix for MoveFileExA

2002-01-31 Thread Gerhard W . Gruber

On Thu, 31 Jan 2002 07:52:55 -0600, Aric Stewart <[EMAIL PROTECTED]> wrote:

>Windows 95 and Windows 98: The MoveFileEx function is not supported. To rename or
>delete a file at reboot, use the following procedure.
>
>To rename or delete a file on Windows 95 and Windows 98
>Check for the existence of the WININIT.INI file in the Windows directory.
>If WININIT.INI exists, open it and add new entries to the existing [rename]
>section. If the file does not exist, create the file and create a [rename]
>section.
>Add lines of the following format to the [rename] section:
>DestinationFileName=SourceFileName
>
>Both DestinationFileName and SourceFileName must be short filenames. To delete a
>file, use NUL as the value for DestinationFileName.
>
>The system processes WININIT.INI during system boot. After WININIT.INI has been
>processed, the system names it WININIT.BAK.
><<
>
>So we have exactly what we should do.

I didn't check the NT version, but I already investigated the W95/98 behaviour
and tried to implement it as described above.

When I implemented it I noticed a problem with the WritePrivateProfileSection.
If I interpret the MSDN description correctly then this function should write
all the strings in the buffer to the specified section without doing much
processing. Therfore it is possible to create multiple key/value pairs with
the same keyname. This is neccessary in the case of wininit.init because the
files that are to be deleted all have the key NUL=value. With the current
implementation the function uses PROFILE_SetString whch checks for duplicate
keys and overwrites it if a key already exists. If I have time tomorrow I will
write a small test app for Windows to see how it really behaves, but I thin
kthat my interpretation is correct. Otherwise there would have to be some code
in windows that handles the wininit.ini file specifically in order to add the
same key more than once to the file.

>This i have seen alot, andreas (and others) are working on a utility that will
>process this wininit file. I have talked to alexandre and we both agree that it is
>something that probably should not be in wine itself.

Why not? In Win98 there is a Wininit.exe that surely will do this because
certain files can't be moved when windows is already running. Since Wine
doesn't have this restriction I added the code to process this in the startup
somewhere after "if(isbootthread)" because I thought it appropriate there.

-- 
Bye,
   Gerhard
If you think education is expensive, try ignorance.





Re: CreateProcess API - undocumented use

2002-01-31 Thread Ricardo

> Hmm, so you mean some program launches another program, passing a value
> in STARTUPINFO.dwFillAttribute, right ?
> If so, how does the launched process retrieve the STARTUPINFO content
> in your case ?

It's writen a file with a random name that's read by the second program.

> Wine certainly doesn't pass the STARTUPINFO strut content to program
> space yet; it's simply being used for initializing certain aspects of
> the new program.

What I saw was that I run the first program, it write the file and wine
closes, then it restart with the other program, but it can't read the file
because it lost the file name, isn't it? It's the same error I get when I
run the second program alone.

thanks for the help
Ricardo








Re: CreateProcess API - undocumented use

2002-01-31 Thread Andreas Mohr

On Thu, Jan 31, 2002 at 02:55:28PM -0200, Ricardo wrote:
> > There is no such thing as a dwFileAttribute of CreateProcess.
> > Which parameter are you talking of ?
> 
> CreateProcessA has a parameter called dwFillAtribute, not dwFileAttribute,
> sorry, and I saw at the Wine docs
> (http://www.winehq.com/WineAPI/CreateProcessA.html) that it's not
> implemented yet.
Well, your info is confusing. dwFillAttribute is not a CreateProcess
parameter. Instead it's a variable inside the lpStartupInfo struct,
which is a CreateProcess parameter.

Wine readily says:
if (lpStartupInfo->dwFlags & STARTF_USEFILLATTRIBUTE)
FIXME("(%s,...): STARTF_USEFILLATTRIBUTE %lx ignored\n",
  name, lpStartupInfo->dwFillAttribute);

> ps.: Is WineAPI updated? if not where can i get it updated? Thanks
I don't think it's updated.

Hmm, so you mean some program launches another program, passing a value
in STARTUPINFO.dwFillAttribute, right ?
If so, how does the launched process retrieve the STARTUPINFO content
in your case ?

Wine certainly doesn't pass the STARTUPINFO strut content to program
space yet; it's simply being used for initializing certain aspects of
the new program.

-- 
Andreas MohrStauferstr. 6, D-71272 Renningen, Germany
Tel. +49 7159 800604http://home.nexgo.de/andi.mohr/





Re: Pajama Sam's unmanaged window

2002-01-31 Thread Dmitry Timoshkov

"Ori Pessach" <[EMAIL PROTECTED]> wrote:

> > Since this is probably not the case, perhaps it's better to check for the
> > popup menu class in is_window_managed(), something like
> >
> >  if (GetClassLongA(win->hwndSelf, GCW_ATOM) == POPUPMENU_CLASS_ATOM) return
> > FALSE;
> 
> Ah ha! Exactly what I had in mind. After thinking about this, it seemed to me 
> that is_window_managed() should examine the window's class, as well as its 
> style bits, since the class will give a more accurate indication of what kind 
> of window we're dealing with than just the style bits.

Unfortunately this aproach does not work well in all cases, especially in
the case of subclassed windows.

-- 
Dmitry.








Re: mingw32 port and cygwin

2002-01-31 Thread Dmitry Timoshkov

"Steven Edwards" <[EMAIL PROTECTED]> wrote:

> Ok, well the first problem might just be an issue with me, due to a lack
> of experience with autoconf and automake. I'm using msys and mingw to
> try and ./configure wine. I can run ./configure with some other software
> so I think I have everything setup right but I seem to be missing
> something. Here is the ./configure output. 
> 
> sh-2.04$ ./configure
> : command not found
> : command not found
> : command not found
> : command not found
> : command not found
> '/configure: line 71: syntax error near unexpected token `do
> '/configure: line 71: `do
> sh-2.04$
> 
> It seems like this is some sort of bashism because it works fine if I
> use bash from cygwin under my msys install.

The error above looks very familiar for me from my early experience
with Wine. It seems like an \r\n vs. \n EOLs issue.

-- 
Dmitry.








Re: Compilation errors for Freetype support

2002-01-31 Thread Bill Medland

"Huw D M Davies" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> On Thu, Jan 31, 2002 at 04:34:02PM +, Huw D M Davies wrote:
> > I'll add a configure test for the trig functions and disable FreeType
> > support if they're not present - there are other issues with 2.0.1
> > that make it unusable anyway.
>
> How does this look?
>
> Huw.
>
Seems reasonable to me (but I count myself as a total newbie in all this
autoconf stuff)(Heck, I'm still a newbie in all this Linux stuff).

Bill








Re: Compilation errors for Freetype support

2002-01-31 Thread Huw D M Davies

On Thu, Jan 31, 2002 at 04:34:02PM +, Huw D M Davies wrote:
> I'll add a configure test for the trig functions and disable FreeType
> support if they're not present - there are other issues with 2.0.1
> that make it unusable anyway.

How does this look?

Huw.


Index: configure.in
===
RCS file: /home/wine/wine/configure.in,v
retrieving revision 1.253
diff -u -r1.253 configure.in
--- configure.in2002/01/29 18:09:47 1.253
+++ configure.in2002/01/31 15:24:05
@@ -420,11 +420,13 @@
  freetype/internal/sfnt.h)
AC_TRY_CPP([#include 
 #include ],
-AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
-  [Define if you have the  header file.]))
+[AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
+  [Define if you have the  header file.])
+wine_cv_fttrigon=yes],
+wine_cv_fttrigon=no)
CPPFLAGS="$ac_save_CPPFLAGS"
dnl Check that we have at least freetype/freetype.h
-   if test "$ac_cv_header_freetype_freetype_h" = "yes"
+   if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = 
+"yes"
then
AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
wine_cv_msg_freetype=no
@@ -1435,10 +1437,11 @@
 then
   echo
   echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
-  echo "*** installed, but either 'freetype-config' is not in your PATH or"
-  echo "*** you do not have the FreeType include files.  Install the"
-  echo "*** freetype-devel package (or its equivalent on your distribution) to"
-  echo "*** enable Wine to use TrueType fonts."
+  echo "*** installed, but either 'freetype-config' is not in your PATH,"
+  echo "*** you do not have the FreeType include files or you have a version"
+  echo "*** of FreeType lower than 2.0.3.  Install the freetype-devel package"
+  echo "*** (or its equivalent on your distribution) to enable Wine to use"
+  echo "*** TrueType fonts."
 fi
 
 echo



Re: CreateProcess API - undocumented use

2002-01-31 Thread Ricardo

> There is no such thing as a dwFileAttribute of CreateProcess.
> Which parameter are you talking of ?

CreateProcessA has a parameter called dwFillAtribute, not dwFileAttribute,
sorry, and I saw at the Wine docs
(http://www.winehq.com/WineAPI/CreateProcessA.html) that it's not
implemented yet.
Thanks,
Ricardo

ps.: Is WineAPI updated? if not where can i get it updated? Thanks








Re: treeview.c

2002-01-31 Thread Uwe Bonnes

> "Aric" == Aric Stewart <[EMAIL PROTECTED]> writes:

Aric> This is a bit of a cover to help find other problems, but we would
Aric> crash if trying to sort a treeview with null strings in it. This
Aric> prevents this crash so that one can try to figure out why we have
Aric> empty strings.

Aric> CHANGELOG: prevent crash on sorting treeview with null strings

 
Aric> - return strcasecmp(first->pszText, second->pszText); + if
Aric> (first->pszText && second->pszText) + return
Aric> strcasecmp(first->pszText, second->pszText); + else if
Aric> (first->pszText) + return -1; + else if (second->pszText) + return
Aric> 1; + else + return 0; }
 
Should this fail silently?

Bye
-- 
Uwe Bonnes[EMAIL PROTECTED]

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





Re: CreateProcess API - undocumented use

2002-01-31 Thread Ricardo

> Run with debugmsg and show us what you think is going on.
>
> Bye
> --
> Uwe Bonnes[EMAIL PROTECTED]
>
> Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
> - Tel. 06151 162516  Fax. 06151 164321 --


Sorry,
I've attached it now.
There's 2 fies - wine.log and wine2.log. The 1th one is the main program,
the one that calls the other.
As wine close and start over to run the other program, i've run the second
program alone.

The point is that:
1. when wine closes it loose the configuration; or
2. the use of that API is not well documented and was not ported

The main program is a logon screen. it gets the password, compare with an
MS-SQL database and writes a file that have the parameters needed to the
other program start - as the evaluation period.
The second program is just an interface to call other programs.

Thanks
Ricardo

ps.: I don't matter if I have to read the fonts, but I'm not a programer so
if anyone have a clue...


begin 666 w.tgz
M'XL(`!$I63P``^U]:V_;N-)P/Y]?P6>Q0%J@#219DF4?] '27-K@R29%DFZW
M0(% UB75J6,9LM.F[Z]_25THRJ(DWBPY/39PSB:I.3,DAW/C<.9GM @.Y_']
MBRU^-%W3;--\H66?ZG\-:VSJ\.>Q:=B&,3(U`WY?AS^\`-HVB2H^CZNUFP#P
M(HGC==OWNO[]F7[6B>L%TS":!].S\XO3NY/X:ADLSN#O( GN#WUW#:[.[JY/
MCT[0?V\^'%V?WAU?_?7QZ!;\BV$LVN'\>P^Q_PB_^3Y8_Y7^A+YWZ3X$1^!?
M/]UD08=SD ,Z`(MX#<+X<>&#. &K;VX2+>[!CRB>N^LH7K2 >)F#>#6%5*T?
MDP5X"SZD7SJ]OKZZ!D&2Q,E;8'232]/+T^OSX^SU4LQ9NN7K>;'T\N[TW_.;V[/+]^#*O*/IW<7
ML>N?/[CW`9C#G]!K!*O`!U@T"%>;Y?83>X53X)YG$.W1GC)PQ&&[I>4FP8-
M.&+WNWDT2]SD5\K[D(<7:W\^/X3_2QEP9.O62$.T63Z+>&$[.']=G7R")Q2.
M1T?O*O&#!**/OZ/IA5#D'$^__H3#5[]6Z^#AZ]7)N^.1<7AR<:$(_7VPOH.+
M>9=./TZQKP(W\;XA_ <9N@,0+<#1Z.R[X !O^ &6
M6^E>OP8>5 'KMT8WS\3^S(,S()C&<3W(-)87UIB&3MM%E:;&!2I(I$'NB1T?
MPF2]RF;;"S_F^+; D NHSG] ,0&W[:!QC@=-JKAQA&)=S+CZ[TK4LHV\#@S>,[!BEM#Z
M016\A<'[&+SC"J\-J?<1>*R>;;0)FRLOH?D1\+ $3C$K9#0_XF8-0[8^PW/5G"VJL#U$CB6"F-3BYFCQ(5Z"D00%?
MD@LX"&>2;(69,^.H!F]Y-TZ,V7UBR+7-3XP!Y2TZ,6%=];,Z\4V;A]>.`GMG
MMG*TBUMI=6_EO5_=1SU,@S%CW1UHK3%!Y4*GM QZ9EKX<5 &8&!,MPH@4YI#R$!N-1(ZQ)29N7=0S<# QN.=9.-!],+[
MDQH/5Y3[KIXMNO2%[M#')/:"U>IHO7:];^!E2<]K[4E_!=Z F]NCZUO&T>7-
MF,AHK'.[!Y\OHC6*)!)C/EY?'9_>W-P=W=X>'7\H0!P?;88!-R&4][X-(*Y/
M;S]=7P)==!:GER?M%!"K)CD)Q_743**^D4VSJ(\EA+ (%Y!R4F1\:7:)C,;&
MN\A@TL@6&4\:PQQGH#*,E8.P9/K@+OQYH-O@9:8)7O$%?;XGB_G(L0^#IZ"7
M*$^.3SH^F-$&IUV+PA S:@J[=*S9SKA.38J[I)^8+'WC*VNU87R1*Y41H.EZ
M<%B%IF=.S"I6O],@!G*,MU"N+L#V]UK>YQ4$]>
M`9[G,(TUSP_W<]S/\;>9X\\EA+#BM(^R0;THB S5%A5$CN#9*HBV#6Q3$,7"
MY@K"Z31Q' $3Q^$W<> 037/J0<9&3F\*AM$`ZW8]P-)\A"9C30O8`&M.?:=V
MG6)G5REN" 0$CJ)H!LTE[0QH5/Q@N9 &NI55,Q.:<]XYDS(&",&I.C;H-F"(G8)^_K.#9UX<'J_3[?8$W&Z/U>W>;C+Z.K*"=IP:V@Y0>7AR'*"'&-LHIP@
MQ[%5Y 019Z\@L05R7=67XU^_7$3S5XP74,2P#7V/H;1<0/&)O@S7%'QV4[=H
M"OX\.;_Y>''T!?QPD\B=P46)[A=Q$OBOP>,J%8%3[5 [`*MEX$5A!-<.RBPO
M7H31??K\@T^L^]%J.7=_]2W%<[1;M$0*#,]*9I>&2$X^OQV"5S8W0X).,R00
M,$."#C.$:L.GPJ'Q1'%:\;2C73/D^]GN1BG5X+*=)4&00TT7C8PC[DCW
MYB5D@UW;A(XCI.2%AJG/MKP`G_D70)=8@,^\"V T63F\?++_UDY]JR&BJ/F*
M(HKU3*/.R$@EN8D[56?H/-#)OZ!],4W-X.GU>K[\[$;KLS@Y3J)U! _A3?ZX
ML7CDF%K(H6_X&O@C6<\/O2E8!C-HX7C?_P`_X5BPCAY0/8W']6MT*#.3Y*6M
M(0BO0+AZJQEZ(>OK[XNO+L\O_ZR^)2Y^^7Q]?GM:>UE,_)Y]@?K4F(;HZM/M
MGTJ MX?L/,-1PYFT'+I.WB3S]B3S$">^J68BE%S"SGD0*:R2T[!'BJ91SZI5
M8'K5&/7PJQ?/XN7ZT OOV]_82S%KF>!Z^P%!8_#U6G)N&V"T+C M<[:-EK*"
M&[EQ F\0,X(!?T`+Q\?W$*#"8=DR;B2LVL
M%#7EA83LPH2RVT1X57*T9+Z>%"V$.2*[1-\$:84JC
M)$$"OJ46/K!-5!YC!06U!KY%]]_@?^(DNH^@E4D.OH:6;5J:$WX_+9PVL[VQ
M1OYFF2!=)!Z4NN'P(K4V0S%6!QNC/DQ"X;DHK`]GO2JGVGVN9]2Q/T>LA^HR:8BW$
MC4QU:,>+Q\"[#L+C]&YF8UB2_WT*&O: '$J<,W)DPUS)D23SDT.-[J&D1TX.
MG0CL^,FI@AW?!-*ZXV?SQ]4W>(HAW2L`'AW\,U
MD$0PD;J;R/U 94EK#V&TB(;(64L1;[^B*6VJ;>5,:=_G,M%%XY!-M+:&)/FR
M]H@%2*G,8;W[='X!:1\9=_X\7@8+X+D+U"XC_?EP%8-Y-$LY)R^'!S"<*?JG
M[+=5/*V,0RTVT+7/[#_0W$OG.@67,5@]0D64^AAIGDT"_S%.?G',;16_*=*M
MV&9'AW;F0AI\M!^(.QLRK4J(_\[;?&A/N:UG-+'0YMDXTRS[\.3HMH<[+"KJ
MR'_:$FIZ0,71^&(X3AH+&7NZKP%+-XH(AS-F#N&,;3Z,\/L8(PKZ\&,LYZAK
MALD]S710@=5V!L'J_?=@'6O\6/EYMX+2$6 E0S/9`I 95FUFS5Q/WY@J,S.5
MAT8?\1P;B'9DA-[&=+5>HY&;4&YT9_S/$"8,E9 MFS2-DV\T:AI';+G!5,.V
MM <=]5R_OLE^% PZHJ$XZ)C^D(:3TEBA?-A13R-194BSWA="(O"(H)1M(6C 
M^?LVE'$V! ;'V6PJZ0,&V@2B0_T0UEFFSAJ"JJXR=8,0Q5"F;LP"?B/ URSV
MJG*#.5<'`^ *[9'C)%Y!<*[\9H H&-5>?8J&!*D+H2IO:=M6EH YV8KRK_C$*,4]&B Y"F=<$84)](116*6S$Q4F:C@.56,
ME_G,_!YXV4]K_V=UB)/*J4[1`,F3JFN<"A4-D#ZK_ *_,E7ALZH4+\>9^1WP
M"9=$;=X&=TQ#L0A0,PU(%.HNF;*U.6]EI>D7/O#@'"&&UGO/0"@Q]VZ&&+PF@6%*FR$&KY-B:-)F2#E/
M=O5(3E7T"*G%RVX._!9XN\P0R@DRASN\9O^G=\2F!LNE'AGRIY?7<3$M7C93]%O@7?<'K3?L=([EMAIL PROTECTED]@15:EYXA
MGE0E%ZL4G"R!E'FV.5XT75MFNC(!'^'I\F]NCA=-5R)ECM6$+]$V6O B^8$#
MI"3^%C>KNSK3D:&SJ:/G/U5=M]@.ZDY/5=D5_:XH[=_K6\S;P>#X:,9D,*<+
MX>[=ZS)Y-;E)O[K17'9U:O(:2R8]9L*%4^!*P6PP6K0)NQ>B%*_++ I_$[P4
ME=-QAD;]O[DBT]2RI<^OQ1NIL>CW%5PXF#G.T>^!
ME]VYD])#%:0S$:7 [E&:V*/]
M&3<00VUJ$V[,FRX\%^8R_<<:C5B=S=SRT""N$,JMB56B9F=M*1$MRMH6\TWK
M)EZTTC*L76(VQXZA\>(.9%B[Q#T:C2<&+VH9UB:FS':GBBB2RS
M.N7HB3"TK-AB1ZHJ@C/2!1+6Y6XI.%"JNRW@0JHJ9L^#5%GDG >I5!Z(*%)E
MHI"*E)JN=O).&QD3DY(FUWM^'TD*>XY?\P2J;G-S2MWF8S:DSF:FE^G@?$%-
M6N1Z/W _<#]P]P?

Re: Pajama Sam's unmanaged window

2002-01-31 Thread Ori Pessach

On Wednesday 30 January 2002 17:39, Ove Kaaven wrote:
> On Mon, 28 Jan 2002, Ori Pessach wrote:
> > - Changed is_window_managed()'s default return value to TRUE
>
> Perhaps remove the cruft this leaves behind, then.

Of course. 

> > - In tooltips.c, TOOLTIPS_NCCreate(), I set the WS_EX_TOOLWINDOW bit in
> > the tooltip's dwExStyle field. This, I believe, is the right thing to do
> 

> Then I suggest you submit this piece of the patch to wine-patches
> independently of the rest of this.

Will do.

> Since this is probably not the case, perhaps it's better to check for the
> popup menu class in is_window_managed(), something like
>
>  if (GetClassLongA(win->hwndSelf, GCW_ATOM) == POPUPMENU_CLASS_ATOM) return
> FALSE;

Ah ha! Exactly what I had in mind. After thinking about this, it seemed to me 
that is_window_managed() should examine the window's class, as well as its 
style bits, since the class will give a more accurate indication of what kind 
of window we're dealing with than just the style bits.

-Ori Pessach

_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com






Re: Compilation errors for Freetype support

2002-01-31 Thread Huw D M Davies

On Thu, Jan 31, 2002 at 07:32:53AM -0800, Bill Medland wrote:
> So what ought to be done in the code?
> 1. #else #error "This requires freetype 2.0.3 or later"
> 2. #else  zero degrees> #endif
> 3. ifdefs around the use of FT_Angle etc to provide an alternative method of
> achieving it or not supporting ot.
> 
> I am interested because I am still trying to get a feel for the typical
> thinking in Linux development where there are more independent libraries and
> they tend to change more frequently, adding support as they go.

Firstly sorry about the delay in replying to these problems; I've had
problems with my subscription to wine-devel, things seem to be back to
normal now though (thanks Andi!).

I'll add a configure test for the trig functions and disable FreeType
support if they're not present - there are other issues with 2.0.1
that make it unusable anyway.

If you're upgrading then go straight to 2.0.6 - there's a bug in
earlier versions that messes up inter-character spacing.

Huw.






Re: CreateProcess API - undocumented use

2002-01-31 Thread Andreas Mohr

Hi !

On Wed, Jan 30, 2002 at 04:35:56PM -0200, Ricardo wrote:
> hi,
> I have a program that use the CreateProcess API with dwFileAttribute as a
> parameter. But not to use in the command line. It's used to write some data
> into a file and then another program read that file. But this isn't working.
> I'm not a programmer, I'm just testing the program. Does anybody know how
> can the program be changed, or wine patched, to solve this?
> thanks,
> Ricardo
There is no such thing as a dwFileAttribute of CreateProcess.
Which parameter are you talking of ?

If this is a problem (and it probably is),
then *of course* Wine has to be fixed, not the program.

-- 
Andreas MohrStauferstr. 6, D-71272 Renningen, Germany
Tel. +49 7159 800604http://home.nexgo.de/andi.mohr/





Re: Compilation errors for Freetype support

2002-01-31 Thread Marcus Meissner

> So what ought to be done in the code?

> 1. #else #error "This requires freetype 2.0.3 or later"
> 2. #else  zero degrees> #endif
> 3. ifdefs around the use of FT_Angle etc to provide an alternative method of
> achieving it or not supporting ot.

Do autoconf checks for the presence of these functions.
If they can be implemented (or stubbed) easily, add a stub/implementation
between ifndefs.
If not, do not compile in the feature at all.

Ciao, Marcus





Re: SetupAPI (dll)

2002-01-31 Thread Andreas Mohr

On Thu, Jan 31, 2002 at 03:39:11PM +0100, Stefan Görling wrote:
> Hi everybody,
> 
> Is anyone working on implementation of SetupAPI? Otherwise I'm thinking
> about taking a look at it...
Not at the moment.

I used to implement some parts of SETUPX (and thus some SETUPAPI stuff, too),
but I don't have time for "real" stuff right now.

So just go ahead immediately :)

-- 
Andreas MohrStauferstr. 6, D-71272 Renningen, Germany
Tel. +49 7159 800604http://home.nexgo.de/andi.mohr/





Re: Compilation errors for Freetype support

2002-01-31 Thread Bill Medland

"Andriy Palamarchuk" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Trying to compile today's Wine I get errors:
>
> freetype.c: In function `WineEngGetGlyphOutline':
> freetype.c:947: `FT_Angle' undeclared (first use in
> this function)
> freetype.c:947: (Each undeclared identifier is
> reported only once
> freetype.c:947: for each function it appears in.)
> freetype.c:947: parse error before `angle'
> freetype.c:993: `angle' undeclared (first use in this
> function)
> freetype.c:1003: warning: implicit declaration of
> function `FT_Vector_Rotate'
> freetype.c:1059: warning: implicit declaration of
> function `FT_Cos'
> freetype.c:1060: warning: implicit declaration of
> function `FT_Sin'
>
> Huw,
>   these functions calls were introduced to the file by
> your patch, applyed on Jan 29, 2002.
>
> I believe the problems are because of differences
> between freetype versions. The problem occurs on
> freetype 2.0.1, but according to thread "Prob with
> freetype..." is fixed after upgrading to 2.0.3.
>
> Regards,
> Andriy Palamarchuk
>
> __
> Do You Yahoo!?
> Great stuff seeking new owners in Yahoo! Auctions!
> http://auctions.yahoo.com
>
>
>
So what ought to be done in the code?
1. #else #error "This requires freetype 2.0.3 or later"
2. #else  #endif
3. ifdefs around the use of FT_Angle etc to provide an alternative method of
achieving it or not supporting ot.

I am interested because I am still trying to get a feel for the typical
thinking in Linux development where there are more independent libraries and
they tend to change more frequently, adding support as they go.

Bill










SetupAPI (dll)

2002-01-31 Thread Stefan Görling

Hi everybody,

Is anyone working on implementation of SetupAPI? Otherwise I'm thinking
about taking a look at it...

Best Regards,

Stefan Görling






Compilation errors for Freetype support

2002-01-31 Thread Andriy Palamarchuk

Trying to compile today's Wine I get errors:

freetype.c: In function `WineEngGetGlyphOutline':
freetype.c:947: `FT_Angle' undeclared (first use in
this function)
freetype.c:947: (Each undeclared identifier is
reported only once
freetype.c:947: for each function it appears in.)
freetype.c:947: parse error before `angle'
freetype.c:993: `angle' undeclared (first use in this
function)
freetype.c:1003: warning: implicit declaration of
function `FT_Vector_Rotate'
freetype.c:1059: warning: implicit declaration of
function `FT_Cos'
freetype.c:1060: warning: implicit declaration of
function `FT_Sin'

Huw,
  these functions calls were introduced to the file by
your patch, applyed on Jan 29, 2002.

I believe the problems are because of differences
between freetype versions. The problem occurs on
freetype 2.0.1, but according to thread "Prob with
freetype..." is fixed after upgrading to 2.0.3.

Regards,
Andriy Palamarchuk

__
Do You Yahoo!?
Great stuff seeking new owners in Yahoo! Auctions! 
http://auctions.yahoo.com





Re: Fix for MoveFileExA

2002-01-31 Thread Aric Stewart

My turn to chime in, I have done a fair bit of reboot processing stuff..
first here is what msdn says

>>
If the dwFlags parameter specifies MOVEFILE_DELAY_UNTIL_REBOOT, MoveFileEx stores
the locations of the files to be renamed at reboot in the following registry
value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\PendingFileRenameOperations

The function fails if it cannot access the registry.

The PendingFileRenameOperations value is of type REG_MULTI_SZ. Each rename
operation stores a pair of NULL-terminated strings. The system uses these registry
entries to complete the operations at reboot in the same order that they were
issued. For example, the following code fragment creates registry entries that
delete szDstFile and rename szSrcFile to be szDstFile at reboot:

MoveFileEx(szDstFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);

The system stores the following entries in PendingFileRenameOperations:

szDstFile\0\0
szSrcFile\0szDstFile\0\0

Because the actual move and deletion operations specified with the
MOVEFILE_DELAY_UNTIL_REBOOT flag take place after the calling application has
ceased running, the return value cannot reflect success or failure in moving or
deleting the file. Rather, it reflects success or failure in placing the
appropriate entries into the registry.

The system deletes a directory tagged for deletion with the
MOVEFILE_DELAY_UNTIL_REBOOT flag only if it is empty. To ensure deletion of
directories, move or delete all files from the directory before attempting to
delete it. Files may be in the directory at boot time, but they must be deleted or
moved before the system can delete the directory.

Windows 95 and Windows 98: The MoveFileEx function is not supported. To rename or
delete a file at reboot, use the following procedure.

To rename or delete a file on Windows 95 and Windows 98
Check for the existence of the WININIT.INI file in the Windows directory.
If WININIT.INI exists, open it and add new entries to the existing [rename]
section. If the file does not exist, create the file and create a [rename]
section.
Add lines of the following format to the [rename] section:
DestinationFileName=SourceFileName

Both DestinationFileName and SourceFileName must be short filenames. To delete a
file, use NUL as the value for DestinationFileName.

The system processes WININIT.INI during system boot. After WININIT.INI has been
processed, the system names it WININIT.BAK.
<<

So we have exactly what we should do.

This i have seen alot, andreas (and others) are working on a utility that will
process this wininit file. I have talked to alexandre and we both agree that it is
something that probably should not be in wine itself.


-aric

Malte Starostik wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Am Wednesday 30 January 2002 21:41 schrieb Uwe Bonnes:
> > > "Francois" == Francois Gouget <[EMAIL PROTECTED]> writes:
> >
> > Francois> On Wed, 30 Jan 2002, Gerhard W. Gruber wrote:
> > ...
> > Francois>I believe that Windows stores the list of files to
> > Francois> move/delete somewhere in the registry. We should probably do
> > Francois> the same... It seems that adding keys in the registry would
> > be Francois> better than creating new files in any case.
> >
> > At least Win95 and decendants store the file in /wininit.ini.
> Yes, because registry access isn't available yet when wininit.ini is
> handled during booting. That's what happens during the
> "Configuration files are being updated"
> ...
> "Done"
> (roughly translated from German, guess you know what I mean) while the
> boot logo is displayed. BTW, no idea why they call it "configuration files" :)
> Imagine kernel32, advapi or something else is being replaced...can't use the
> registry for it. The format of wininit.ini is pretty simple: ever line is like
> newname=oldname
> and causes the file named oldname to be renamed to newname. If newname
> is nul, the file is deleted.
> - --
> Malte Starostik
> PGP: 1024D/D2F3C787 [C138 2121 FAF3 410A 1C2A  27CD 5431 7745 D2F3 C787]
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.0.6 (GNU/Linux)
> Comment: For info see http://www.gnupg.org
>
> iD8DBQE8WJWMVDF3RdLzx4cRApncAKCFLIv32C+97uaTRq4UfXpFYFBASQCfezGw
> R80SYovvkyrywtu94xj+PnU=
> =NmRY
> -END PGP SIGNATURE-