Re: What is a leap second

2002-10-30 Thread György 'Nog' Jeney

 György, could you check which other includes can be used if winternl.h
 is absent? Else youll probably have to wait for somebody which has
 it to compile your test.

 This is included in the latest platform SDK but it should also be
 defined in ntddk.h.

Ok, could somene rather compile this test and send its results? It will be
quite big...

nog.




timetest.c
Description: Binary data


Re: Versions mass-appeal

2002-10-30 Thread Shachar Shemesh


Ender wrote:


- Getting the right set of dlloverrides and registry entries correct
for a large portion of software is irritating. Most of this comes down to
the lack of WINE being able to dynamically run RunOnce and wininit.ini
entries. Doing this manually is far beyond your average user who just
wants to install a reasonably complex program. Something like Crossover's
reboot.so is needed.
 

I'm willing to tackle that (the BiDi stuff is only slowly going, and 
there may be some unexpected development coming that is outside my 
hands, so I have SOME free resources available).

Where do I get reboot.so to have a look? Either that, or can someone 
answer a few questions regarding it?
- When are the boot time activities taking place? On wine start? On 
wineserver start?
- When are login time activities taking place?
- How should a reboot request be treated? Should it be an indication 
that all these operations should start now, and let other wine programs 
carry on as usual?

   Shachar

 






Re: Versions mass-appeal

2002-10-30 Thread Jaco Greeff
Dimi,

For somebody with a sore hand, you type an amazing amount. I seem to 
have caught your my-right-hand-is-hurting bug. Well, actually it is my 
arm - utterly useless at anything at present, altough I can type if I 
position it at exactly the right angle...

I think everybody here agrees that Wine's biggest problem is the
lack of developers. No developers, slow progress, no users, back
to no developers. 

James had an interresting reply to your mail around the time it takes 
for new developers to break into Wine. As a newbie myself, I have some 
thoughts on this... Ok, let's face it, Wine is damn hard. I have around 
7 years experience in C++/C mostly on the Windows platform, altough I 
have done quite a number of personal projects under Linux, eg. XML 
interface into RPM, etc. I suppose Wine falls into this category, 
altough my contibution is not quite there, yet.

The reason why I like Wine so much is because it is extremely 
challenging. The beast is complex but (as I've read Jeremy White said 
before) things do take longer than anticipated. You need good 
understanding of Windows system calls plus Linux coding experience - a 
difficult combination to find. I think that a lot of people will look at 
the code, browse the web/bugzilla, be unable to find anything quick to 
break into the fold and give up.

Why are we in this position? For reasons I will not go into right
now, it seems painfully obvious to me that we are suffering from
a severe case of Bad Public Image (tm). 

I personally think this is changing with CodeWeavers delivering 
commercial products based on Wine. As an example: the last time I played 
with wine was back in 96/97, I decided to take a serious look again 
after buying CXOffice and really seeing and reading and starting to 
believe... (Well, I must admit that I have been reading WWN since it's 
inception as well, just to get some sort of idea, so I haven't been 
completely out of touch.) So, yes, potentially you are right, but this 
is definately changing for the better.

How do we change this state of affairs? Well, people need
major events to reevaluate their opinions. Being major, they
are by definition few, and so we don't have too many chances.
For Wine, these events are the upcoming x.y releases. 

What both you and James are referring to is making the process more 
transparent. People need clear deliverables to be able to focus and 
redirect their engergy towards something. With my newbie hat on, I can 
say that we don't provide that. Unless you have been around for a 
longish period of time, you have no real idea as to the state of affairs.

I like both your and James' suggestions, in addition I would like to see 
the following:

1. Making sure that all tasks, big or small are in BugZilla. Make it 
easy to find - for instance, if I want to implement a DLL next, which 
one should it be? If you are not very, very familiar with Windows you 
wouldn't even know which DLL's on a Windows box are supposed to be replaced.

2. Making sure BugZilla is always updated anbd used in the right 
fashion. If something gets done, close the bug and make a comment. You 
need a record ort what has been happening. Remember that this is a real 
usefull developers-only (???) externtion to the website and makes their 
lives easier.

3. Better developers documentation, especially to get new guys onboard. 
(Erm, I think that was mentioned...)

I have quite a bit more to say, but I seem to have gottent the angle of 
the arm to the keyboard wrong at this point... So, that is it for now.

Greetings,
Jaco




Re: Versions mass-appeal

2002-10-30 Thread Jaco Greeff
Shachar Shemesh wrote:

Where do I get reboot.so to have a look? Either that, or can someone 
answer a few questions regarding it?

If we ask CodeWeavers nicely, I'm sure they might be willing to donate 
the reboot stuff? Otherwise you will just be re-inventing the wheel.

Greetings,
Jaco




Re: Versions mass-appeal

2002-10-30 Thread Martin Wilck
 You need good 
 understanding of Windows system calls plus Linux coding experience - a 
 difficult combination to find. 

IMO one is enough to get started. Solid Linux experience + access to
MSDN gives a you good start. I had no Windows programming experience
whatsoever before I started working on wine's winsock. 

 I think that a lot of people will look at 
 the code, browse the web/bugzilla, be unable to find anything quick to 
 break into the fold and give up.

There are such things, but most of them are of course boring. The sexy
parts are hard to get started with. But that's no different than with
other larger projects.

 I personally think this is changing with CodeWeavers delivering 
 commercial products based on Wine. 

Yes, Codeweavers got brilliant reviews. Transgaming is also doing quite
a good job. This may encourage users, but does it encourage developers? 

 What both you and James are referring to is making the process more 
 transparent. People need clear deliverables to be able to focus and 
 redirect their engergy towards something. With my newbie hat on, I can 
 say that we don't provide that. Unless you have been around for a 
 longish period of time, you have no real idea as to the state of affairs.

What is most urgently needed IMHO is more up-to-date documentation. 
Wine is changing very rapidly and the docs, even on WineHQ itself, more
often than not don't reflect the changes.

And the most important part of the docs would be an easy-to-understand,
up-to-date and in-depth tutorial of how to debug wine crashes, failures,
etc. using different techniques (trace, winedbg, ..). 

I know there are docs on that but we must make sure that they are
up-to-date. It has happened to myself that I ran into some wine problem,
wanted to produce a meaningful bug report, and than gave up because the
debugger wouldn't run as expected (or described in the docs I had).
Setting up wine such that you can do meaningful debugging currently
almost requires wine guru capabilities.

The wine Wiki is great but there are far too many empty New Item
entries.

 2. Making sure BugZilla is always updated anbd used in the right 
 fashion. If something gets done, close the bug and make a comment

A problem is that many reporters don't know how to use it. (Report bug, 
receive request for more information, never answer back - this has
happened to me with a bug reporter employed in a wine-related company!).
The only way to deal with that is to close the bug if it happens. For
such situations I'd appreciate clear guidelines for maintainers.

Martin

-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:Martin.Wilck;Fujitsu-Siemens.com
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









Re: Versions mass-appeal

2002-10-30 Thread Rick Romero
On Wed, 2002-10-30 at 00:12, Dimitrie O. Paun wrote:
 
 Why are we in this position? For reasons I will not go into right
 now, it seems painfully obvious to me that we are suffering from
 a severe case of Bad Public Image (tm). Whenever I talk to people
 not intimately familiar with Wine, about our beloved project, I
 am _always_ treated with the same reaction: a surprised Really,
 it works? Hmmm, I thought it was only running Freecell
 Translation: people consider Wine a huge hack that can run (by
 some strange happenings) some apps, sometimes. It is viewed as
 unreliable, freak of nature sideshow; something (maybe) cool
 to talk about, but utterly useless. 
Being a long time troll and admittedly bad problem reporter, my lack of
experience tends to send me down the wrong path, I can tell you what MY
impressions of Wine are.

My first success with Wine was quite a few years ago, running Agent
.99.  At that time, it seemed Win16 programs would have a chance, but
Win32 wouldn't make it.

Since then, I've purchased Crossover products, and been pleasantly
surprised by the applications that run under it.  I was astonished to
see GetRight work 100%, and almost taken aback to see Delta Force (and
it's funky Voxtel engine) running under wine.  (Ok DF3 doesn't QUITE
make it, but DF1 and DF2 are more than I ever expected.  Hmm Maybe
desktop mode would work..)

I would love to convert my desktops to Linux + Wine, but one 'little'
thing keeps nagging at me (even if my apps did work perfectly).  I
haven't seen it uttered in a while, but the phrase, Wine is ALPHA
software sticks in my head.

People know what beta software is, and when someone see's Alpha,
they're not even going to attempt do debug it. Alpha (at least to me)
conjures up such a raw state of affairs, that whatever problem is
occurring, is happening because Alpha is seen as horribly broken.

I realize this isn't the case.  I'm also sure that a lot of people DON'T
realize that.  I think CodeWeavers has greatly helped Wine's image by
giving it a version number.  

I wonder if people think CodeWeaver's Wine is THAT much of a different
product than WineHQ's Wine..

Just another perspective, I'll be quiet now :)

Oh, and www.winehq.com seems to be down (can't connect from RoadRunner
or Savvis networks) 

Rick


-- 
--
Rick Romero
IT Manager  
Valeo, Inc. ph: 262.695.4841
Sussex, WI. fax: 262.695.4850
[EMAIL PROTECTED]





Re: What is a leap second

2002-10-30 Thread György 'Nog' Jeney
 with the following output on win2k.
 9 0 10 0 9 10

This is weird, I would have expected to get an output like: 2002 10 27 8 9 10
with the followingo patch applied...

nog.


Index: dlls/ntdll/time.c
===
RCS file: /home/wine/wine/dlls/ntdll/time.c,v
retrieving revision 1.20
diff -u -r1.20 time.c
--- dlls/ntdll/time.c   12 Sep 2002 22:07:03 -  1.20
+++ dlls/ntdll/time.c   30 Oct 2002 13:06:12 -
 -89,7 +89,11 
int LeapSecondCorrections, SecondsInDay, CurYear;
int LeapYear, CurMonth, GMTOffset;
long int Days;
-   LONGLONG Time = *(LONGLONG *)liTime;
+   LONGLONG Time;
+
+   Time = liTime-s.HighPart;
+   Time = 32;
+   Time += liTime-s.LowPart;
 
/* Extract millisecond from time and convert time into seconds */
TimeFields-Milliseconds = (CSHORT) ((Time % TICKSPERSEC) / TICKSPERMSEC);
 -147,6 +151,7 
TimeFields-Month = (CSHORT) (CurMonth + 1);
TimeFields-Day = (CSHORT) (Days + 1);
 }
+
 /**
  *  RtlTimeFieldsToTime[NTDLL.]
  *




Re: Testing Applications

2002-10-30 Thread Tony Lambregts
Kye Lewis wrote:


Hi,

I've done a lot of testing different applications that I have (and
checking on their progress with new wine versions) and I was wondering:

Should I report every application that doesn't work as a separate bug?

 

Yes, a seperate bug report for each program is nessesary. It is possible 
that there are more than one bug report per program. For example the 
program crashes when I open a certain menu.  and there is a display 
problem with one of the other menus.  

A couple of  things I would suggest before you submitt any  bug report.  
Do I actually use this program on a regular basis?  If  this is the case 
then can I reproduce the bug  and do I understand the steps that it 
takes to reproduce it and am I willing and able to do the followup to 
ensure that the bug is fixed?  If the answer is yes then search bugzilla 
to see if the bug is already reported. If it is then add to the existing 
bug report. If not  then start a new one.

rant
At this point I have limited time to spend with wine and I have to be 
selective about where I spend it.  
I have seen a recent set of bug reports that simply list a fixme that a 
program  has hit without any indication that the program behaved in an 
incorrect manner.  When I see a bug report like that I want to yell at 
the reporter for wasting my time with a useless bug report.  
/rant

Simply taking a program at random and seeing if it will run is fine in 
itself I suppose but submitting a bug report implies a certain 
commitment to getting it fixed.


Tony Lambregts






Testing Applications

2002-10-30 Thread Kye Lewis
Hi,

I've done a lot of testing different applications that I have (and
checking on their progress with new wine versions) and I was wondering:

Should I report every application that doesn't work as a separate bug?

Thanks,
Kye Lewis
[EMAIL PROTECTED]
[EMAIL PROTECTED]






Re: Versions mass-appeal

2002-10-30 Thread Greg Turner
On Wednesday 30 October 2002 12:57 am, Ender wrote:
  - No users, because of two things:
  - Many apps do not work without Desktop enabled. This is far
 worse than it sounds, because most newbies try managed non-desktop
 first. People think WINE should be able to do seemless intergration.
 Then when an application hangs, they think it's incompatible and give
 up. However in many cases the Application will work fine in Desktop
 mode. BAD, these apps should either be made to work... or non-desktop
 mode should be removed!

wierd, I basically never have theese problems, even in cases where the 
AppDB says it's an issue... what apps need this right now?

  - Getting the right set of dlloverrides and registry entries
 correct for a large portion of software is irritating.

yes.  perhaps we should include a much larger default config with usable 
defaults for several popular programs (or two config files, one for 
shared installs, one for wine-only installs)?  I'd be happy to 
contribute my config file, for one, which runs quite a bit of junk.

 Most of this
 comes down to the lack of WINE being able to dynamically run RunOnce
 and wininit.ini entries. Doing this manually is far beyond your
 average user who just wants to install a reasonably complex program.
 Something like Crossover's reboot.so is needed.

this is a relatively simple task, isn't it?  wininit.ini is especially 
easy; RunOnce is a little trickier, because some RunOnce stuff should 
probably be censored.  Another issue I see is the appearance of certain 
8.3 filenames in the registry and the filesystem when running certain 
installers; this is kind of tricky to fix programmatically, but it 
could be done as part of a reboot.so-type program, I guess.  Another 
(simpler) option would be to make a log of such problems during 
registry and filesystem operations, and notify the user to process the 
log during reboot.

Also, during reboots that I've done using explorer.exe, I notice 
some regsvr32's tend to fail; usually, they can be fixed using various 
dll overrides to regsvr32; a registry of special per-dll-to-register 
regsvr dll overrides, and a wrapper to invoke regsvr32 with the 
appropriate overrides from this registry, could go a long way towards 
eliminating this.  Again, this will only help those doing mixed 
installations.

-- 
gmt

The purpose of government is to rein in the rights of the people
 --President Bill Clinton, MTV interview, 1993





Re: Versions mass-appeal

2002-10-30 Thread Andreas Mohr
On Wed, Oct 30, 2002 at 07:08:08AM -0600, Rick Romero wrote:
 I would love to convert my desktops to Linux + Wine, but one 'little'
 thing keeps nagging at me (even if my apps did work perfectly).  I
 haven't seen it uttered in a while, but the phrase, Wine is ALPHA
 software sticks in my head.
 
 People know what beta software is, and when someone see's Alpha,
 they're not even going to attempt do debug it. Alpha (at least to me)
 conjures up such a raw state of affairs, that whatever problem is
 occurring, is happening because Alpha is seen as horribly broken.
 
 I realize this isn't the case.  I'm also sure that a lot of people DON'T
 realize that.  I think CodeWeavers has greatly helped Wine's image by
 giving it a version number.  
Well, but I'd still insist that Wine IS Alpha software.

After all we've got about 15000 Windows functions, and of course we only
implement about 4000 to 5000, and of those that we do support, a ridiculously
small number is entirely bug-free.

Thus you could encounter an app which manages to trash your whole filesystem
ANY DAY; this app simply needs to use a very rarely used function that
we barely implemented... BOOM.

That this doesn't happen every day can be attributed... well... to the fact
that Wine maybe is not entirely Alpha any more, but by no means does
that mean it's Beta or even almost finished.

Wine is *not* a standard boring John Doe program, it's got a massively more
difficult way to reach final stability.
With an ordinary program, every little sub-version can easily be implemented
to reach utter stability within its sometimes totally negligible goals.
Not to mention that with a standard program, *you* define (and *know* !)
what this program is supposed to do and how, whereas with Wine...
you know the story ;-)




Re: Versions mass-appeal

2002-10-30 Thread Andreas Mohr
On Wed, Oct 30, 2002 at 12:21:51PM +0200, Shachar Shemesh wrote:
 
 
 Ender wrote:
 
 - Getting the right set of dlloverrides and registry entries correct
 for a large portion of software is irritating. Most of this comes down to
 the lack of WINE being able to dynamically run RunOnce and wininit.ini
 entries. Doing this manually is far beyond your average user who just
 wants to install a reasonably complex program. Something like Crossover's
 reboot.so is needed.
  
 
 I'm willing to tackle that (the BiDi stuff is only slowly going, and 
 there may be some unexpected development coming that is outside my 
 hands, so I have SOME free resources available).
 
 Where do I get reboot.so to have a look? Either that, or can someone 
 answer a few questions regarding it?
I've been having a finished implementation of wineboot in my tree for ages.
I guess it's about time to get it submitted...

 - When are the boot time activities taking place? On wine start? On 
 wineserver start?
Good question. I guess we once agreed on it being done on winelauncher script
startup.
(or alternatively really on user desktop login, but I'm not sure whether this
is what we want)
winelauncher should probably check whether any of the places that register
reboot activities need processing, and if this is the case, then first
finish a wineboot process, *then* start regular wine apps.
All this would have to be resistant against race conditions, of course :-\

 - When are login time activities taking place?
 - How should a reboot request be treated? Should it be an indication 
 that all these operations should start now, and let other wine programs 
 carry on as usual?
IMO we need to make sure we only do this when no other wine process
is running.
Optionally there could be some way to tell Wine to do it immediately,
even during a session, though.

Sounds like nobody ever watched the wineconf2002 streams, since nobody ever
knows about wineboot...

-- 
The Declaration of Software Freedom:
http://freedevelopers.net/freedomdec/index.php




Re: Versions mass-appeal

2002-10-30 Thread Tony Lambregts
Rick Romero wrote:


On Wed, 2002-10-30 at 00:12, Dimitrie O. Paun wrote:

 

Why are we in this position? For reasons I will not go into right
now, it seems painfully obvious to me that we are suffering from
a severe case of Bad Public Image (tm). Whenever I talk to people
not intimately familiar with Wine, about our beloved project, I
am _always_ treated with the same reaction: a surprised Really,
it works? Hmmm, I thought it was only running Freecell
Translation: people consider Wine a huge hack that can run (by
some strange happenings) some apps, sometimes. It is viewed as
unreliable, freak of nature sideshow; something (maybe) cool
to talk about, but utterly useless. 
   

Being a long time troll and admittedly bad problem reporter, my lack of
experience tends to send me down the wrong path, I can tell you what MY
impressions of Wine are.

My first success with Wine was quite a few years ago, running Agent
.99.  At that time, it seemed Win16 programs would have a chance, but
Win32 wouldn't make it.

Since then, I've purchased Crossover products, and been pleasantly
surprised by the applications that run under it.  I was astonished to
see GetRight work 100%, and almost taken aback to see Delta Force (and
it's funky Voxtel engine) running under wine.  (Ok DF3 doesn't QUITE
make it, but DF1 and DF2 are more than I ever expected.  Hmm Maybe
desktop mode would work..)

I would love to convert my desktops to Linux + Wine, but one 'little'
thing keeps nagging at me (even if my apps did work perfectly).  I
haven't seen it uttered in a while, but the phrase, Wine is ALPHA
software sticks in my head.

People know what beta software is, and when someone see's Alpha,
they're not even going to attempt do debug it. Alpha (at least to me)
conjures up such a raw state of affairs, that whatever problem is
occurring, is happening because Alpha is seen as horribly broken.



I am beginning to believe that wine is not very alpha anymore. It is 
more likely to run the program than crash  and in some situations can be 
used in a production environment. So while I do not suggest that we 
immediately drop the alpha designation  I would seriously ask what 
remains to be done to get rid of it.


I realize this isn't the case.  I'm also sure that a lot of people DON'T
realize that.  I think CodeWeavers has greatly helped Wine's image by
giving it a version number.  

I wonder if people think CodeWeaver's Wine is THAT much of a different
product than WineHQ's Wine..
 


I think that for mass appeal branding works better.  These products are 
worth the money to the end user and provide a way for them to contribute 
to wine development.  For those users that are willing and able to 
contribute to the project I welcome them. However most users will simply 
want it to work and for them the best way is to use one of these products.

Just another perspective, I'll be quiet now :)

Oh, and www.winehq.com seems to be down (can't connect from RoadRunner
or Savvis networks) 


 


I also cannot connect.


Tony Lambregts





Re: PATCH: ppc fix 2

2002-10-30 Thread Greg Turner
On Wednesday 30 October 2002 07:22 am, Marcus Meissner wrote:
 Hi,

 Just a bad macro.

 ciao, marcus

 Changelog:
   Fixed LITTLE_ENDIAN_32_READ macro to at least compile.

 Index: ndr_marshall.c
 ===
 RCS file: /home/wine/wine/dlls/rpcrt4/ndr_marshall.c,v
 retrieving revision 1.9
 diff -u -r1.9 ndr_marshall.c
 --- ndr_marshall.c29 Oct 2002 23:07:33 -  1.9
 +++ ndr_marshall.c30 Oct 2002 13:21:15 -
  -59,8 +59,8 

#define LITTLE_ENDIAN_32_READ(pchar) \
  (MAKELONG( \
 -  MAKEWORD(*(pchar), *((pchar)+1)) \
 -  MAKEWORD(*((pchar)+2), *((pchar)+3)))
 +  MAKEWORD(*(pchar), *((pchar)+1)), \
 +  MAKEWORD(*((pchar)+2), *((pchar)+3
  #endif

  /*

oops!  thanks!  strange that this compiles for i386 at all.  maybe gcc 
is automagically fixing the macro for some of us?

-- 
gmt

The purpose of government is to rein in the rights of the people
 --President Bill Clinton, MTV interview, 1993





Re: Versions mass-appeal

2002-10-30 Thread Ian Pilcher
Ender wrote:

  - No developers, because of two other issues:

Don't forget our friend, the Win32 API.  Most people with an incentive
to work on Wine are familiar with C, POSIX, etc.  The first time they
look at Win32 code, the get a splitting headache and decide it's not
worth it.  People who think that the Win32 API is a thing of beauty (I
suppose there must be some) tend to use Windows.

-- 

Ian Pilcher   [EMAIL PROTECTED]







Re: PATCH: ppc fix 2

2002-10-30 Thread Greg Turner
On Wednesday 30 October 2002 07:22 am, Marcus Meissner wrote:
 Hi,

 Just a bad macro.

 ciao, marcus

 Changelog:
   Fixed LITTLE_ENDIAN_32_READ macro to at least compile.

 Index: ndr_marshall.c
 ===
 RCS file: /home/wine/wine/dlls/rpcrt4/ndr_marshall.c,v
 retrieving revision 1.9
 diff -u -r1.9 ndr_marshall.c
 --- ndr_marshall.c29 Oct 2002 23:07:33 -  1.9
 +++ ndr_marshall.c30 Oct 2002 13:21:15 -
  -59,8 +59,8 

#define LITTLE_ENDIAN_32_READ(pchar) \
  (MAKELONG( \
 -  MAKEWORD(*(pchar), *((pchar)+1)) \
 -  MAKEWORD(*((pchar)+2), *((pchar)+3)))
 +  MAKEWORD(*(pchar), *((pchar)+1)), \
 +  MAKEWORD(*((pchar)+2), *((pchar)+3
  #endif

  /*

oh, it's non-i386 only, and I guess I never tested this one...  makes 
sense now, ignore my previous comment.

-- 
gmt

The purpose of government is to rein in the rights of the people
 --President Bill Clinton, MTV interview, 1993





Re: Versions mass-appeal

2002-10-30 Thread Uwe Bonnes
 Ian == Ian Pilcher [EMAIL PROTECTED] writes:

Ian Ender wrote:
 - No developers, because of two other issues:

Ian Don't forget our friend, the Win32 API.  Most people with an
Ian incentive to work on Wine are familiar with C, POSIX, etc.  The
Ian first time they look at Win32 code, the get a splitting headache
Ian and decide it's not worth it.  People who think that the Win32 API
Ian is a thing of beauty (I suppose there must be some) tend to use
Ian Windows.

Well,

think of Win32 as a user library, just like Motif or QT. So the thing of
beauty ( or missing beauty) gets relative...

Bye 

-- 
Uwe Bonnes[EMAIL PROTECTED]

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




Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 08:56 am, Andreas Mohr wrote:
 Thus you could encounter an app which manages to trash your whole
 filesystem ANY DAY; this app simply needs to use a very rarely used
 function that we barely implemented... BOOM.

Andy, this is just crap, and it's the type of crap that we should
not perpetuate. There are tons of reasons why this _never_ happens,
and you know them. So let's not propagate this type of misinformation
that we have already too much out there, and which hurts us undoubtedly.

-- 
Dimi.





Re: Versions mass-appeal

2002-10-30 Thread Rick Romero
On Wed, 2002-10-30 at 07:56, Andreas Mohr wrote:
 On Wed, Oct 30, 2002 at 07:08:08AM -0600, Rick Romero wrote:
  I would love to convert my desktops to Linux + Wine, but one 'little'
  thing keeps nagging at me (even if my apps did work perfectly).  I
  haven't seen it uttered in a while, but the phrase, Wine is ALPHA
  software sticks in my head.
  
  People know what beta software is, and when someone see's Alpha,
  they're not even going to attempt do debug it. Alpha (at least to me)
  conjures up such a raw state of affairs, that whatever problem is
  occurring, is happening because Alpha is seen as horribly broken.
  
  I realize this isn't the case.  I'm also sure that a lot of people DON'T
  realize that.  I think CodeWeavers has greatly helped Wine's image by
  giving it a version number.  
 Well, but I'd still insist that Wine IS Alpha software.
 
 After all we've got about 15000 Windows functions, and of course we only
 implement about 4000 to 5000, and of those that we do support, a ridiculously
 small number is entirely bug-free.

But how many apps use 15000 Windows functions?  I think it's closer to
Beta than Alpha.
 
 Thus you could encounter an app which manages to trash your whole filesystem
 ANY DAY; this app simply needs to use a very rarely used function that
 we barely implemented... BOOM.

The same could be said for anyone opening an email.  We all saw the
article on the Kmail/Wine user.  I don't think it's a good idea to put
that info out in the world.  Any application can trash your system, to
specifically say it can happen with Wine just targets Wine as a poor
program.  Hence, less users.  At some point Wine/Linux needs to break
out of the tech community, it's not going to happen if all technically
possible 'bad things' are presented right out front.

Sometimes you gotta keep your mouth shut :)
(Believe me, I have a hard time doing that myself.)

 Wine is *not* a standard boring John Doe program, it's got a massively more
 difficult way to reach final stability.

I think Wine is about where OS/2's Win16 support was.  There were a lot
of apps that worked, and a lot that didn't.  And yes, OS/2's Win16 would
take out the rest of OS/2 too.

 With an ordinary program, every little sub-version can easily be implemented
 to reach utter stability within its sometimes totally negligible goals.
 Not to mention that with a standard program, *you* define (and *know* !)
 what this program is supposed to do and how, whereas with Wine...
 you know the story ;-)

I thought each API was a little sub-version :P

Rick

 
-- 
--
Rick Romero
IT Manager  
Valeo, Inc. ph: 262.695.4841
Sussex, WI. fax: 262.695.4850
[EMAIL PROTECTED]





Re: PATCH: ppc fix 2

2002-10-30 Thread Marcus Meissner
On Wed, Oct 30, 2002 at 07:56:10AM -0600, Greg Turner wrote:
 On Wednesday 30 October 2002 07:22 am, Marcus Meissner wrote:
  Hi,
 
  Just a bad macro.
 
  ciao, marcus
 
  Changelog:
  Fixed LITTLE_ENDIAN_32_READ macro to at least compile.
 
  Index: ndr_marshall.c
  ===
  RCS file: /home/wine/wine/dlls/rpcrt4/ndr_marshall.c,v
  retrieving revision 1.9
  diff -u -r1.9 ndr_marshall.c
  --- ndr_marshall.c  29 Oct 2002 23:07:33 -  1.9
  +++ ndr_marshall.c  30 Oct 2002 13:21:15 -
   -59,8 +59,8 
 
 #define LITTLE_ENDIAN_32_READ(pchar) \
   (MAKELONG( \
  -  MAKEWORD(*(pchar), *((pchar)+1)) \
  -  MAKEWORD(*((pchar)+2), *((pchar)+3)))
  +  MAKEWORD(*(pchar), *((pchar)+1)), \
  +  MAKEWORD(*((pchar)+2), *((pchar)+3
   #endif
 
   /*
 
 oops!  thanks!  strange that this compiles for i386 at all.  maybe gcc 
 is automagically fixing the macro for some of us?

No, if you look at the define, it is not processed on i386 (protected
by ifdef).

Ciao, Marcus




Re: Versions mass-appeal

2002-10-30 Thread Andreas Mohr
On Wed, Oct 30, 2002 at 10:00:08AM -0400, Dimitrie O. Paun wrote:
 On October 30, 2002 08:56 am, Andreas Mohr wrote:
  Thus you could encounter an app which manages to trash your whole
  filesystem ANY DAY; this app simply needs to use a very rarely used
  function that we barely implemented... BOOM.
 
 Andy, this is just crap, and it's the type of crap that we should
 not perpetuate. There are tons of reasons why this _never_ happens,
 and you know them. So let's not propagate this type of misinformation
 that we have already too much out there, and which hurts us undoubtedly.
Never ?
Never is never a perfectly fitting word...

I for one *have* heard in some admittedly rather *rare* cases of data
corruption due to Wine (something like deleting the parent directory
instead of the program directory due to skipping one level in directory
hierarchy in some function due to a problem).
-- oops, whole Wine drive content gone (in a worst-case scenario).
(also, there's that well-known Explorer renaming issue, which is *not* a Wine
problem but happens on Wine due to braindead Microsoft programming)

Crap is also a rather bold word (which admittedly I also use quite often
- shame on me :). I'd say almost all of my text was based on facts
that may happen sometimes, thus it could hardly be called crap.

I don't want to spread the perception that Wine is unsafe - in by far
almost all cases it's definitely not. But people should keep in mind
that for every new program that they install, there might still be a bug
lurking in some rarely used function that this program uses,
which could in some cases cause some... err... problems with data.

But most well-known programs have been tested quite a lot already, 
so the chance something like that happens with a well-known program
is pretty slim to none, of course.

And given that even W2K or XP have strange filesystem problems when used
with an excessive amount of files sometimes, this leads me to believe that
Wine isn't that bad after all...

After all:
Software == Heap o' Bugs :)

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




Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 09:20 am, Andreas Mohr wrote:
 I don't want to spread the perception that Wine is unsafe - in by far
 almost all cases it's definitely not. But people should keep in mind
 that for every new program that they install, there might still be a bug
 lurking in some rarely used function that this program uses,
 which could in some cases cause some... err... problems with data.

But this is tautology. Wine is no different from any other program.
We had SourceSafe corrupt the entire company reporsiotry (before I
installed CVS) multiple times, and people use it. And believe me,
it's MUCH worse than Wine in corrupting your data.

Single out Wine, and saying it can ANYDAY, ANYTIME corrupt your DATA
is (1) untrue, as a practical matter, (2) helps no one, hurts us badly.
Why say this in a public forum, so clueless Slashdoters can read, and
link to it?

-- 
Dimi.





Re: Versions mass-appeal

2002-10-30 Thread Ender
   - No users, because of two things:
   - Many apps do not work without Desktop enabled. This is far
  worse than it sounds, because most newbies try managed non-desktop
  first. People think WINE should be able to do seemless intergration.
  Then when an application hangs, they think it's incompatible and give
  up. However in many cases the Application will work fine in Desktop
  mode. BAD, these apps should either be made to work... or non-desktop
  mode should be removed!

 wierd, I basically never have theese problems, even in cases where the
 AppDB says it's an issue... what apps need this right now?

One example is the Australian E-Tax program mentioned recently - it'll
hang on the splashscreen when no Desktop window exists (download:
http://www.enderboi.com/misc/etax2002_1.exe)

Another example is setup programs for things like Internet Explorer,
Microsoft Visual Studio. They'll crash out or just generally not work if
various programs (_INSxxx._MP for example) are not set to use Desktop. I
believe the QuickTimeInstaller suffers from the same problem, as well as
several other bits of software I've tried using recently..


 - James 'Ender' Brown
   
   Project Leader:  http://www.scummvm.org/
   Site Founder:http://www.quakesrc.org/
   Lead Programmer: http://www.collectivedetective.org/







EMF bug

2002-10-30 Thread doome
Hi!

I am not sure if this is a bug, or I did something wrong. My collegaues
made a little program what shows the bug. It shows an EMF file, but the
text boxes appears bad. Two screenshots and the source
are included in the tar.gz.
Please somebody examine it, and help me if you can.
The source, binaries, and screenshots can be downloaded from
ftp://ftp.uhulinux.hu/misc/testprg.tar.gz. It needs to be exctracted to
the wine c:\ directory

Thanks for your help in advance!
If needed I can send you wine debug msgs.

-- 
doome






Re: Versions mass-appeal

2002-10-30 Thread Shachar Shemesh


Andreas Mohr wrote:


On Wed, Oct 30, 2002 at 12:21:51PM +0200, Shachar Shemesh wrote:
 

Ender wrote:

   

  - Getting the right set of dlloverrides and registry entries correct
for a large portion of software is irritating. Most of this comes down to
the lack of WINE being able to dynamically run RunOnce and wininit.ini
entries. Doing this manually is far beyond your average user who just
wants to install a reasonably complex program. Something like Crossover's
reboot.so is needed.


 

I'm willing to tackle that (the BiDi stuff is only slowly going, and 
there may be some unexpected development coming that is outside my 
hands, so I have SOME free resources available).

Where do I get reboot.so to have a look? Either that, or can someone 
answer a few questions regarding it?
   

I've been having a finished implementation of wineboot in my tree for ages.
I guess it's about time to get it submitted...
 

I downloaded it once (you did the fatal mistake of mentioning it in one 
of your emails, and went and searched the archives for it). I couldn't 
get it to work, though, and I did not delve deep enough. If you have it, 
please submit it. I'm willing to take ownership of it if you don't want to.

- When are the boot time activities taking place? On wine start? On 
wineserver start?
   

Good question. I guess we once agreed on it being done on winelauncher script
startup.


Not familiar enough - is that the first startup of wine?


(or alternatively really on user desktop login, but I'm not sure whether this
is what we want)


No, that would require nasty stuff we really don't want.


winelauncher should probably check whether any of the places that register
reboot activities need processing, and if this is the case, then first
finish a wineboot process, *then* start regular wine apps.


That's the way Windows does that for SOME of the stuff (most noteably - 
wininit.ini). Also, NT does it differently (register in the registry 
etc.). I used to know all that stuff off the top of my head (I did the 
GTFormat system that installed all of Packard Bell's machines, and I 
believe still installs all of NEC's - moved on myself) (before 
mentioning that PB's systems were no good - that was before GTFormat was 
introduced).

All this would have to be resistant against race conditions, of course :-\
 

- When are login time activities taking place?
- How should a reboot request be treated? Should it be an indication 
that all these operations should start now, and let other wine programs 
carry on as usual?
   

IMO we need to make sure we only do this when no other wine process
is running.


Either that, or start sending WM_QUERYENDSESSIONs, the way the 
original does.

Optionally there could be some way to tell Wine to do it immediately,
even during a session, though.

Sounds like nobody ever watched the wineconf2002 streams, since nobody ever
knows about wineboot...
 

I didn't watch the stream. I'm also having some hand problems as well 
(though am taking care of them, so far rather succesfully - Dimi, call 
me if you want some tips... ).

   Shachar





Re: RPC test code?

2002-10-30 Thread Greg Turner
On Wednesday 30 October 2002 07:21 am, Greg Turner wrote:
 On Monday 28 October 2002 04:56 am, Jürgen Schmied wrote:
  2a) Should the rpc.c real test be the client or the server? 
   I can imagine races either way.  Let's say rpc.c is the client.
 
  Why not let one process start both (client and server). This
  process could control both and kill them later...
  ... or have one executable which can act as supervisor, client or
  server depending on a command line switch. If started without a
  switch act as supervisor and start itself again twice with
  different switches...
 
  juergen
  ---
  [EMAIL PROTECTED]

this is also a possibility, but doesn't this create the need for even 
more IPC?  the big open issue is: how do the test results get back to 
the actual test program?  obviously there are many ways to do it; but 
doesn't separating things like this just make it harder?

Actually, I was leaning towards the idea of having the test program 
itself be both client and server... but AFAIK there is no 
wine-compatible way to fork()..?

-- 
gmt

The purpose of government is to rein in the rights of the people
 --President Bill Clinton, MTV interview, 1993





Re: EMF bug

2002-10-30 Thread Mike McCormack

Hi,

We've done alot of work on EMF files in the Crossover tree. 
Specifically, if an EMF used SetWindowExtEx and SetViewportExtEx, it was 
busted.

That work will be merged into WineHQ in the near future. Hopefully that 
will solve the problem.

Mike

doome wrote:
Hi!

I am not sure if this is a bug, or I did something wrong. My collegaues
made a little program what shows the bug. It shows an EMF file, but the
text boxes appears bad. Two screenshots and the source
are included in the tar.gz.
Please somebody examine it, and help me if you can.
The source, binaries, and screenshots can be downloaded from
ftp://ftp.uhulinux.hu/misc/testprg.tar.gz. It needs to be exctracted to
the wine c:\ directory

Thanks for your help in advance!
If needed I can send you wine debug msgs.








EMF bug?

2002-10-30 Thread Domsodi Gergely
Hi!

I am not sure if this is a bug, or I did something wrong. My collegaues
made a little program what shows the bug. It shows an EMF file, but the
text boxes appears bad. Two screenshots and the source
are included in the tar.gz.
Please somebody examine it, and help me if you can.
The source, binaries, and screenshots can be downloaded from
ftp://ftp.uhulinux.hu/misc/testprg.tar.gz. It needs to be exctracted to
the wine c:\ directory

Thanks for your help in advance!
If needed I can send you wine debug msgs.

-- 
doome


___
wine-users mailing list
[EMAIL PROTECTED]
http://www.winehq.com/mailman/listinfo/wine-users
-- 
Dömsödi Gergely
UHU-Linux Csapat





Re: PATCH: ppc fix 2

2002-10-30 Thread Greg Turner
On Wednesday 30 October 2002 07:22 am, Marcus Meissner wrote:
   Fixed LITTLE_ENDIAN_32_READ macro to at least compile.

btw, this seems to imply that even with the parentheses fix, it's still 
not right... is that the case?  You seem like somebody who's up on PPC 
issues.  Note that this is only intended to support UINT32's (I'll make 
that clearer by changing the macro names in an upcoming patch).

There is another issue with the DataRepresentation stuff that I didn't 
think of until this morning.  NDR allows several different modes in 
terms of endianness, float representation, signed int representation, 
etc.  MS takes advantage of this by having different native data 
representations, based on the platform.  Looking at the Platform SDK 
rpcndr.h, for example, PPC gets big-endian, i386 gets little-endian.

Then, it seems, they implement their marshall/unmarshall code in terms 
of these native representations.  I'm deducing this from the 
MIDL-generated stub code; that code compares the DataRepresentation 
coming off the wire to the native DataRepresentation; if there's a 
mismatch, it converts before calling the unmarshall code (currently the 
conversion functions are unimplemented in wine).

What this all means, I think, is that my implementation is wrong for 
non-i386 platforms.  I was hard-coding the native data representation 
to little-endian (the i386 way).  This will work for i386, but for 
other platforms, it will break against precompiled binaries, because 
the assumed native data representation is compiled right in to the 
executable via #define's.  To fix, I think I need to have per-platform 
native DataRepresentations like microsoft, and change the 
marshall/unmarshall code to use it.

Anyhow, just thinking aloud there, and, I guess, hoping that if I'm 
getting this all wrong, someone will correct me.   My original question 
is the main one: are the semantics of my macro's wrong, or just the 
parentheses thing?

-- 
gmt

The purpose of government is to rein in the rights of the people
 --President Bill Clinton, MTV interview, 1993





Re: What is a leap second

2002-10-30 Thread Peter Ekberg
Hello!

I compiled the following using msvc:

--8---
#include stdio.h
#include windows.h

typedef short CSHORT;
typedef struct {
CSHORT Year;
CSHORT Month;
CSHORT Day;
CSHORT Hour;
CSHORT Minute;
CSHORT Second;
CSHORT Milliseconds;
CSHORT Weekday;
} TIME_FIELDS, *PTIME_FIELDS;


typedef VOID (*RtlTimeToTimeFieldsT)
(PLARGE_INTEGER Time, PTIME_FIELDS TimeFields);

int
main()
{
LARGE_INTEGER RtlTime;
TIME_FIELDS tf;
HINSTANCE hLib;
RtlTimeToTimeFieldsT RtlTimeToTimeFields;

RtlTime.LowPart = 0x20de5700;
RtlTime.HighPart = 0x1c27d90;

hLib = LoadLibrary(ntdll);

RtlTimeToTimeFields =
(RtlTimeToTimeFieldsT)GetProcAddress   
 (hLib,
RtlTimeToTimeFields);

RtlTimeToTimeFields(RtlTime, tf);

FreeLibrary(hLib);

printf(%d %d %d %d %d %d\n,
tf.Year, tf.Month, tf.Day,
tf.Hour, tf.Minute, tf.Second);
return 0;
}
--8---

with the following output on win2k.
9 0 10 0 9 10




Re: RPC test code?

2002-10-30 Thread Martin Wilck
Am Mit, 2002-10-30 um 16.43 schrieb Greg Turner:
 Actually, I was leaning towards the idea of having the test program 
 itself be both client and server... but AFAIK there is no 
 wine-compatible way to fork()..?

Why don't you just use CreateThread()?

I am doing this for the winsock tests and it works just fine. 
You can use thread-local storage to keep variables separate.

Martin

-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:Martin.Wilck;Fujitsu-Siemens.com
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









GetComputerName() question

2002-10-30 Thread Martin Wilck

Why is GetComputerName() an init function, or in other words, why is it
important that 
HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\ComputerName\\ComputerName
be set at registry initialization time (in _allocate_default_keys())?

I am asking because GetComputerName() IMO returns the wrong value (FQDN
rather than NETBIOS name). A real implementation of GetComputerName()
would look for the above value in the Registry and use gethostname()
only as a fallback, but currently it's the other way around - why ?

Martin

-- 
Martin WilckPhone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1mailto:Martin.Wilck;Fujitsu-Siemens.com
D-33106 Paderborn   http://www.fujitsu-siemens.com/primergy









Re: RPC test code?

2002-10-30 Thread Greg Turner
On Wednesday 30 October 2002 11:00 am, Martin Wilck wrote:
 Am Mit, 2002-10-30 um 16.43 schrieb Greg Turner:
  Actually, I was leaning towards the idea of having the test program
  itself be both client and server... but AFAIK there is no
  wine-compatible way to fork()..?

 Why don't you just use CreateThread()?

 I am doing this for the winsock tests and it works just fine.
 You can use thread-local storage to keep variables separate.

 Martin

I need to cross a process boundary.  There is per-process storage in 
rpcrt4 that I don't want shared during my tests.  Single-process RPC's 
are worthy of their own test, however; I probably ought to test both 
possibilities.

BTW, this is somewhat off-topic, but sometimes the winsock test hangs 
for me after make testclean; ctrl-c and re-running make test always 
works, so I wonder if perhaps there is a race condition tickled by the 
make processing?  Next time (if there is one) that I encounter this, 
I'll attach a debugger and tell you what I see.

-- 
gmt

The purpose of government is to rein in the rights of the people
 --President Bill Clinton, MTV interview, 1993





SetWindowHookEx

2002-10-30 Thread steve . lustbader
My app uses SetWindowHookEx to install a WH_KEYBOARD_LL hook.
Currently, the wine implementation tells me
fixme:hook:set_windows_hook system hook WH_KEYBOARD_LL won't work right
when I try to use it.  I'd like to implement this so I can get my app to
run, but I'm not sure where to start, since I don't know why it
won't work right.  Any hints/suggestions?

-Steve





listview: last column problem

2002-10-30 Thread Rein Klazes
Dimitri,

The missing last column in newsbin seems to be caused by this line:

| if (!lpColumn || nColumn  0 || nColumn  infoPtr-hdpaColumns-nItemCount) 
|return -1;
|  ^

removing the marked part of the test result in a couple of error
messages:

| err:listview:LISTVIEW_InsertColumnT nColumn=4, nNewColumn=3
| err:listview:LISTVIEW_InsertColumnT nColumn=4, nNewColumn=3
| err:listview:LISTVIEW_InsertColumnT nColumn=4, nNewColumn=3

but otherwise runs fine.

Do you see any objections removing the test and error message?

Rein.
-- 
Rein Klazes
[EMAIL PROTECTED]




Re: listview: last column problem

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 02:01 pm, Rein Klazes wrote:
 Do you see any objections removing the test and error message?

Good catch. Please try this patch:

Index: dlls/comctl32/listview.c
===
RCS file: /var/cvs/wine/dlls/comctl32/listview.c,v
retrieving revision 1.325
diff -u -r1.325 listview.c
--- dlls/comctl32/listview.c28 Oct 2002 21:21:42 -  1.325
+++ dlls/comctl32/listview.c30 Oct 2002 19:19:35 -
 -6044,7 +6044,8 
 
 TRACE((nColumn=%d, lpColumn=%s, isW=%d)\n, nColumn, debuglvcolumn_t(lpColumn, 
isW), isW);
 
-if (!lpColumn || nColumn  0 || nColumn  infoPtr-hdpaColumns-nItemCount) 
return -1;
+if (!lpColumn || nColumn  0) return -1;
+nColumn = min(nColumn, infoPtr-hdpaColumns-nItemCount);
 
 ZeroMemory(hdi, sizeof(HDITEMW));
 column_fill_hditem(infoPtr, hdi, nColumn, lpColumn, isW);


-- 
Dimi.





Re: SetWindowHookEx

2002-10-30 Thread steve . lustbader



[EMAIL PROTECTED] writes:

 My app uses SetWindowHookEx to install a WH_KEYBOARD_LL hook.
 Currently, the wine implementation tells me
 fixme:hook:set_windows_hook system hook WH_KEYBOARD_LL won't work right
 when I try to use it.  I'd like to implement this so I can get my app to
 run, but I'm not sure where to start, since I don't know why it
 won't work right.  Any hints/suggestions?

I'm working on it. Basically it won't work right across processes at
this point; if you have a single process it should be OK.


It's returning NULL for me, which implies it isn't working.  Is there some
sort of trace that I can send you to help you out?

-Steve






Re: GetComputerName() question

2002-10-30 Thread Alexandre Julliard
Martin Wilck [EMAIL PROTECTED] writes:

 I am asking because GetComputerName() IMO returns the wrong value (FQDN
 rather than NETBIOS name). A real implementation of GetComputerName()
 would look for the above value in the Registry and use gethostname()
 only as a fallback, but currently it's the other way around - why ?

Because users are not going to edit the registry if their Unix
hostname changes so it will always be wrong. Now if the problem is the
FQDN then it should be trivial to truncate it to just the hostname.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: listview: last column problem

2002-10-30 Thread Rein Klazes
On Wed, 30 Oct 2002 14:21:13 -0500, you wrote:

 On October 30, 2002 02:01 pm, Rein Klazes wrote:
  Do you see any objections removing the test and error message?
 
 Good catch. Please try this patch:
 
 Index: dlls/comctl32/listview.c
 ===
 RCS file: /var/cvs/wine/dlls/comctl32/listview.c,v
 retrieving revision 1.325
 diff -u -r1.325 listview.c
 --- dlls/comctl32/listview.c  28 Oct 2002 21:21:42 -  1.325
 +++ dlls/comctl32/listview.c  30 Oct 2002 19:19:35 -
 @@ -6044,7 +6044,8 @@
  
  TRACE((nColumn=%d, lpColumn=%s, isW=%d)\n, nColumn, debuglvcolumn_t(lpColumn, 
isW), isW);
  
 -if (!lpColumn || nColumn  0 || nColumn  infoPtr-hdpaColumns-nItemCount) 
return -1;
 +if (!lpColumn || nColumn  0) return -1;
 +nColumn = min(nColumn, infoPtr-hdpaColumns-nItemCount);
  
  ZeroMemory(hdi, sizeof(HDITEMW));
  column_fill_hditem(infoPtr, hdi, nColumn, lpColumn, isW);


Works fine.

Rein.
-- 
Rein Klazes
[EMAIL PROTECTED]




Re: SetWindowHookEx

2002-10-30 Thread Alexandre Julliard
[EMAIL PROTECTED] writes:

 My app uses SetWindowHookEx to install a WH_KEYBOARD_LL hook.
 Currently, the wine implementation tells me
 fixme:hook:set_windows_hook system hook WH_KEYBOARD_LL won't work right
 when I try to use it.  I'd like to implement this so I can get my app to
 run, but I'm not sure where to start, since I don't know why it
 won't work right.  Any hints/suggestions?

I'm working on it. Basically it won't work right across processes at
this point; if you have a single process it should be OK.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: What is a leap second

2002-10-30 Thread Peter Ekberg
  with the following output on win2k.
  9 0 10 0 9 10
 
 This is weird, I would have expected to get an output like: 2002 10
27 8 9 10
 with the followingo patch applied...
 
 nog.

Eeek, sorry about that. I forgot a WINAPI in the typedef, see my new
version in the attachment...

The following output is more in line with your expectations:
2002 10 27 8 9 10

I have also attached the output of timetest2.c after some adjustments
to make it compile on my box which is missing winternl.h. (I didn't
take the time to download the SDK.)

However, I don't follow the part about appling patches. I have
compiled the code using msvc and executed the code on windows 2000.

/peda

#include stdio.h
#include windows.h

typedef short CSHORT;
typedef struct {
	CSHORT Year;
	CSHORT Month;
	CSHORT Day;
	CSHORT Hour;
	CSHORT Minute;
	CSHORT Second;
	CSHORT Milliseconds;
	CSHORT Weekday;
} TIME_FIELDS, *PTIME_FIELDS;


typedef VOID (WINAPI *RtlTimeToTimeFieldsT)
	(PLARGE_INTEGER Time, PTIME_FIELDS TimeFields);

int
main()
{
	LARGE_INTEGER RtlTime;
	TIME_FIELDS tf;
	HINSTANCE hLib;
	RtlTimeToTimeFieldsT RtlTimeToTimeFields;

	RtlTime.LowPart = 0x20de5700;
	RtlTime.HighPart = 0x1c27d90;

	hLib = LoadLibrary(ntdll);

	RtlTimeToTimeFields = (RtlTimeToTimeFieldsT)
		GetProcAddress(hLib, RtlTimeToTimeFields);

	RtlTimeToTimeFields(RtlTime, tf);

	FreeLibrary(hLib);

	printf(%d %d %d %d %d %d\n,
		tf.Year, tf.Month, tf.Day,
		tf.Hour, tf.Minute, tf.Second);
	return 0;
}


#include stdio.h
#include windows.h

typedef short CSHORT;
typedef struct {
	CSHORT Year;
	CSHORT Month;
	CSHORT Day;
	CSHORT Hour;
	CSHORT Minute;
	CSHORT Second;
	CSHORT Milliseconds;
	CSHORT Weekday;
} TIME_FIELDS, *PTIME_FIELDS;


typedef VOID (WINAPI *RtlTimeToTimeFieldsT)(PLARGE_INTEGER Time, PTIME_FIELDS TimeFields);

#define testtime(HighTime, LowTime) \
	RtlTime.HighPart = HighTime; \
	RtlTime.LowPart = LowTime; \
	RtlTimeToTimeFields(RtlTime, tf); \
	printf(%04d %02d %02d %02d %02d %02d\n, tf.Year, tf.Month, tf.Day,\
		tf.Hour, tf.Minute, tf.Second);

/* The year to which to test */
#define TargetYear 

/* Taken from dlls/ntdll/time.c */
#define EPOCHYEAR  1601
#define TICKSPERSEC1000
#define SECSPERDAY 86400
#define MONSPERYEAR12
static const int MonthLengths[2][MONSPERYEAR] =
{
	{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
	{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
};

int IsLeapYear(int Year)
{
	return Year % 4 == 0  (Year % 100 != 0 || Year % 400 == 0) ? 1 : 0;
}

int
main()
{
	int Month, Year;
	UINT64 time = 0, tmp;

	LARGE_INTEGER RtlTime;
	TIME_FIELDS tf;
	HINSTANCE hLib;
	RtlTimeToTimeFieldsT RtlTimeToTimeFields;

	hLib = LoadLibrary(ntdll);

	RtlTimeToTimeFields =
		(RtlTimeToTimeFieldsT)GetProcAddress
			(hLib, RtlTimeToTimeFields);

	for(Year = 0; Year = (TargetYear - EPOCHYEAR); Year++) {
		for(Month = 0; Month  MONSPERYEAR; Month++) {
			tmp = MonthLengths[IsLeapYear(Year + EPOCHYEAR)][Month] * SECSPERDAY;
			tmp *= TICKSPERSEC;
			time += tmp;
			testtime(time  32, (time  0x));
		}
	}

	FreeLibrary(hLib);

	return 0;
}




timetest2.zip
Description: Zip archive


Re: SetWindowHookEx

2002-10-30 Thread Alexandre Julliard
[EMAIL PROTECTED] writes:

 It's returning NULL for me, which implies it isn't working.  Is there some
 sort of trace that I can send you to help you out?

Oops you are right, this should fix it:

Index: server/hook.c
===
RCS file: /opt/cvs-commit/wine/server/hook.c,v
retrieving revision 1.1
diff -u -r1.1 hook.c
--- server/hook.c   29 Oct 2002 00:41:42 -  1.1
+++ server/hook.c   30 Oct 2002 19:51:20 -
@@ -227,7 +227,8 @@
 set_error( STATUS_INVALID_PARAMETER );
 return;
 }
-if (!(thread = get_thread_from_id( req-tid ))) return;
+if (!req-tid) thread = (struct thread *)grab_object( current );
+else if (!(thread = get_thread_from_id( req-tid ))) return;
 
 if ((hook = add_hook( thread, req-id - WH_MINHOOK )))
 {

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Treeview Notifications Fix (update)

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 03:34 pm, Dustin Navea wrote:
 Well after some more debugging, I think that it is a
 problem with the SendMessageA function itself, not
 with any of the arguments being passed to it.

I think you are chasing the wrong problem...

-- 
Dimi.





XBox

2002-10-30 Thread Dirk
Could someone do something to make the need for this hardware disappear
and save the world of people who love proprietrary video game consoles?

There is already a tool that converts xpe files into exe. Only the bios
and the improved DirectX must be re-engineered and the rest will be done
by a Geforce4 (or 5) and a 2Ghz CPU.






Treeview Notifications Fix (update)

2002-10-30 Thread Dustin Navea
--- Dustin Navea [EMAIL PROTECTED] wrote:
 Hey everyone, after about 3 hours of adding traces
 to
 treeview.c, I have found the line that is causing
 all of my headaches!
 
 in /wine/dlls/comctl32/treeview.c:
 in function TREEVIEW_NOTIFYFORMAT
 i = SendMessageA(GetParent (infoPtr-hwnd),
 WM_NOTIFYFORMAT, (WPARAM)infoPtr-hwnd,
 NF_QUERY);
 
 SendMessageA is returning 2 (NFR_UNICODE) on the
 StarCraft
 installer window.  This is incorrect, the return
 should be
 1 (NFR_ANSI).  I don't know of any way to get it to
 return
 1 myself as I dont know windows API, so I am asking
 for
 some help.  can anyone that has some free time and
 knows
 the WM subsystem help me out?  Please add yourself
 to
 CC
 on bug 1073.
 

Well after some more debugging, I think that it is a
problem with the SendMessageA function itself, not
with any of the arguments being passed to it. 
SendMessage is too complex for my knowledge, so I will
definitely need some help here...

-Dustin

__
Do you Yahoo!?
HotJobs - Search new jobs daily now
http://hotjobs.yahoo.com/




Re: splitting msvideo/msvfw32

2002-10-30 Thread Alexandre Julliard
Eric Pouech [EMAIL PROTECTED] writes:

 +case DLL_PROCESS_ATTACH:
 +if (!GetModuleHandleA(MSVFW32.DLL)  !LoadLibraryA(MSVFW32.DLL))
 +{
 +ERR(Could not load sibling MSVfW32.dll\n);
 +return FALSE;
 +}

Note that this is not necessary. The 32-bit dll is always loaded
before the 16-bit one (otherwise we couldn't reference symbols in
it).

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: rpc_H_PL1

2002-10-30 Thread Alexandre Julliard
Greg Turner [EMAIL PROTECTED] writes:

 diff -ur -x CVS -x 'bigdif*' ../wine.test/dlls/rpcrt4/rpc_binding.c 
./dlls/rpcrt4/rpc_binding.c
 --- ../wine.test/dlls/rpcrt4/rpc_binding.c2002-10-29 12:59:02.0 -0600
 +++ ./dlls/rpcrt4/rpc_binding.c   2002-10-29 13:28:39.0 -0600
 @@ -865,14 +865,21 @@
   *  Exists in win9x and winNT, but with different number of arguments
   *  (9x version has 3 arguments, NT has 2).
   */
 +#ifdef WINNT
 +RPC_STATUS WINAPI I_RpcBindingSetAsync( RPC_BINDING_HANDLE Binding, RPC_BLOCKING_FN 
BlockingFn)
 +#else
  RPC_STATUS WINAPI I_RpcBindingSetAsync( RPC_BINDING_HANDLE Binding, RPC_BLOCKING_FN 
BlockingFn, unsigned long ServerTid )
 +#endif
  {

This can't work, we are not going to build two versions of Wine with
different #ifdefs. We should simply decide which version we support
(NT would probably be preferable) and get rid of the #ifdefs in the
header.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Versions mass-appeal

2002-10-30 Thread Francois Gouget
On Wed, 30 Oct 2002, Keith Matthews wrote:
[...]
 Stressing the number of calls in the MS API is another important point
 to make, thanks to Andreas for providing an updated figure.

For more API stats you can check out the following page (and
disclaimer):

http://fgouget.free.fr/wine/winapi_stats-en.shtml

While I'm writing I will just mention some other links relevant to the
'Wine perception' aspect:

 * Contributing to Wine
   Trying to present ways to get started helping Wine. More work is
needed on this section and it needs to be made much more visible.
   http://www.winehq.com/about/index.php?contrib

 * Why Wine is so important
   Many people have a primitive 'say no to Windows software' attitude
because they do not understand why Wine is important.
   http://www.winehq.com/about/index.php?why

 * Debunking Wine Myths
   These myths are quite common and detract to Wine's image
   http://www.winehq.com/about/index.php?myths


Here's my thoughts on getting more developpers:
 * I think step one is fixing Wine's perception issues by improving the
Web site to make the above more visible, add screenshots and make it
easier to navigate.
 * Step two is to add more resources geared towards new developpers to
make it easier for them to get started (e.g. taslets bug list, finish
the conformance testing guide, update the developer's guide, etc.).
 * Step three is to be more outgoing. Do a better job at describing the
tasks that need to be done for instance. Let people know that we need
help, that with done much with less than one tenth the number of
developpers that the Linux kernel has. Someone suggested making Wine
presentations at local LUGs. I think that's a goog idea too.

I have done some work on the above items (all committed) but I'm not a
technical writer so it takes me a lot of time to write documentation and
I'm rarely happy with the result. And free time is in very short supply
currently. Plus I'm not familiar with PHP which would be required for
some of the Web site changes (again a time issue). So please, if anyone
feels like updating the web site or writing documentation, go ahead.
Wine needs you!


-- 
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
$live{free} || die ;





Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 01:57 am, Ender wrote:
  - Many apps do not work without Desktop enabled. This is far worse
 than it sounds, because most newbies try managed non-desktop first. People
 think WINE should be able to do seemless intergration. Then when an
 application hangs, they think it's incompatible and give up. However in
 many cases the Application will work fine in Desktop mode. BAD, these apps
 should either be made to work... or non-desktop mode should be removed!

IMO desktop mode exists only because our integration is not very good.
It should die sooner, rather than later, it's just a big hack. So we should
rather focus on getting apps to work in non-desktop more, rather then
resurrecting the silly desktop option.

  - Getting the right set of dlloverrides and registry entries correct
 for a large portion of software is irritating. [snip]

We should aim at delivering a 0.8/0.9/1.0 that does not require native
DLLs to run apps. And so, there should be no need for dlloverrides...

   - The amount of cross-dependency in WINE code makes it very hard for
 a newbie developer to try and debug a problem in an application he uses.
 This also means that to trace most of this inter-dependency you need to
 debug so many parts that the amount if debug info becomes pretty difficult
 to work with. So to begin with, you need a good idea of WINEs internal
 structure and DLL cross-calling before you even start to play with it.

That is true, but we're much better than 5 years ago. MUCH, MUCH BETTER.
The DLL separation, and sticking t Win32 API have simplified Wine programming
enormously, to the point where most Windows programmers can help on Wine
right off the bat. The project is huge, what do you expect? :)

-- 
Dimi.





Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 04:50 pm, Lionel Ulmer wrote:
 I wholeheartedly disagree here.. I only use (and only ever will) use
 Desktop mode in Wine. It's the same (for me) as using Tabbed browsing in
 Mozilla : you have all the related mess in one window :-)

Sorry Lionel, but You Are Wrong (tm)! :) By your rationale, all KDE
apps should start up their own desktop, all GTK apps another desktop,
and so on. This way lies madness.

An app, is an app, is an app. I don't give a flying !#$ if it's
a Qt, Gtk, Python, Perl, Java, Wine, wxWindows, you-name-it app.
I don't want every toolkit, library, etc. to invent their own
universe with their own little desktop. It would be crazy. You
feel the need to group apps to cleanup your workspace: fine,
instruct your WM to do it! This does not belong in the toolkit!

-- 
Dimi.





No more Office 11 for Win98/ME

2002-10-30 Thread Uwe Bonnes
Hallo,

e.g. on www.heise.de there is the news that MS announces to drop support for
Win98/ME for the next office version.

That's probably a point in time when many people will look for
alternatives. Hopefully Wine and Linux are in good shape then.

Bye
-- 
Uwe Bonnes[EMAIL PROTECTED]

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




Re: Versions mass-appeal

2002-10-30 Thread Lionel Ulmer
 IMO desktop mode exists only because our integration is not very good.
 It should die sooner, rather than later, it's just a big hack. So we should
 rather focus on getting apps to work in non-desktop more, rather then
 resurrecting the silly desktop option.

I wholeheartedly disagree here.. I only use (and only ever will) use Desktop
mode in Wine. It's the same (for me) as using Tabbed browsing in Mozilla :
you have all the related mess in one window :-)

I agree that it seems to be a hack for now because of the one application
= one desktop window 'feature' but well, Alexandre promised this to be
fixed for 1.1 :-))

 Lionel

-- 
 Lionel Ulmer - http://www.bbrox.org/




Re: Versions mass-appeal

2002-10-30 Thread Francois Gouget
On Wed, 30 Oct 2002, Dimitrie O. Paun wrote:

 On October 30, 2002 01:57 am, Ender wrote:
   - Many apps do not work without Desktop enabled. This is far worse
  than it sounds, because most newbies try managed non-desktop first. People
  think WINE should be able to do seemless intergration. Then when an
  application hangs, they think it's incompatible and give up. However in
  many cases the Application will work fine in Desktop mode. BAD, these apps
  should either be made to work... or non-desktop mode should be removed!

 IMO desktop mode exists only because our integration is not very good.
 It should die sooner, rather than later, it's just a big hack. So we should
 rather focus on getting apps to work in non-desktop more, rather then
 resurrecting the silly desktop option.

I think desktop mode is useful in some circumstances like when you want
to prevent an application from taking over the whole screen (typically
installers or the PowerPoint viewer). Unfortunately it is currently
broken in that if a process runs in a desktop and calls CreateProcess,
the new process is run in a new desktop. That's really not the way it
should work. But I would rather see this fixed than scrap desktop mode
entirely.

Of course desktop mode is much less important than good behavior in
managed mode. But getting managed mode to work really well will require
some cooperation from the window manager which means we need the people
who understand the issue to contribute to the window manager standards.


-- 
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
 Utilisateur (nom commun) :
Mot utilisé par les informaticiens en lieu et place d'idiot.





Re: Versions mass-appeal

2002-10-30 Thread Uwe Bonnes
 Dimitrie == Dimitrie O Paun [EMAIL PROTECTED] writes:

Dimitrie On October 30, 2002 01:57 am, Ender wrote:
 - Many apps do not work without Desktop enabled. This is far worse
 than it sounds, because most newbies try managed non-desktop
 first. People think WINE should be able to do seemless
 intergration. Then when an application hangs, they think it's
 incompatible and give up. However in many cases the Application will
 work fine in Desktop mode. BAD, these apps should either be made to
 work... or non-desktop mode should be removed!

Dimitrie IMO desktop mode exists only because our integration is not
Dimitrie very good.  It should die sooner, rather than later, it's just
Dimitrie a big hack. So we should rather focus on getting apps to work
Dimitrie in non-desktop more, rather then resurrecting the silly
Dimitrie desktop option.

Well,

my opinion on desktop mode is another one. It's not silly. Two examples:
- any program in non-desktop mode switching to full screen (hey, a lot of
programs like installer do that) and crashing later without a proper setup
of the debugger. No most users are left in a situation they can't easily
solve, as they don't know that they still can switch consoles and kill wine...
- any application poping up endless series of new processes, each process
grabbing keyboard focus. In a good desktop mode  I would expect the real
focus not to switch from the outside to the desktop. As now each process
spawns it's own new desktop, focus is switched anyways. 

Bye
-- 
Uwe Bonnes[EMAIL PROTECTED]

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




Re: Versions mass-appeal

2002-10-30 Thread Lionel Ulmer
 That I understand. But still the fucntionallity does not belong in Wine.
 You should start a new desktop environment around Wine (say WDE), just
 like Qt, and GTK have their own DEs.

Well, yes, if I wanted to ONLY use Windows applications I could do something
like that. But a part from using Xnest or hacks like that (VNC comes to my
mind too) I do not see how I could do what I want to do without support in
Wine itself.

And well, what exactly is your problem with Desktop ? That it complexifies
Wine too much ? From what I know from the code, it does not add that much
complexity.

I would even agree from removing it from the docs / man pages if it pleases
you as long as it is kept in the code :-)

 Lionel

-- 
 Lionel Ulmer - http://www.bbrox.org/




Re: Versions mass-appeal

2002-10-30 Thread Lionel Ulmer
 An app, is an app, is an app. I don't give a flying !#$ if it's
 a Qt, Gtk, Python, Perl, Java, Wine, wxWindows, you-name-it app.
 I don't want every toolkit, library, etc. to invent their own
 universe with their own little desktop. It would be crazy. You
 feel the need to group apps to cleanup your workspace: fine,
 instruct your WM to do it! This does not belong in the toolkit!

Well, you and I seem to have very different opinion on Wine. For you, it's a
way to run a particular application. For me, it's like a virtual PC running
Windows on my Linux box (ie more like a VMWare or a terminal server /
Metaframe approach).

For me, running 'explorer' (or whatever is called the Windows WM) in a
desktopped Windows session and actually have the 'Start' button in the lower
right corner of the window to start Windows applications would be the way I
would prefer running Wine.

  Lionel

-- 
 Lionel Ulmer - http://www.bbrox.org/




Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 05:12 pm, Lionel Ulmer wrote:
 For me, running 'explorer' (or whatever is called the Windows WM) in a
 desktopped Windows session and actually have the 'Start' button in the
 lower right corner of the window to start Windows applications would be the
 way I would prefer running Wine.

That I understand. But still the fucntionallity does not belong in Wine.
You should start a new desktop environment around Wine (say WDE), just
like Qt, and GTK have their own DEs.

-- 
Dimi.





Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 05:05 pm, Uwe Bonnes wrote:

 - any program in non-desktop mode switching to full screen
 - any application poping up endless series of new processes

This focuses on the wrong problem. A Wine app is just that: an app.
If this is a problem, the WM must allow you to deal with them.
You solve this way a general problem in an elegant way, not only
a Wine-specific hack.

-- 
Dimi.





Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 05:01 pm, Francois Gouget wrote:
 I think desktop mode is useful in some circumstances like when you want
 to prevent an application from taking over the whole screen (typically
 installers or the PowerPoint viewer).

While it may be useful in strange circumstances, it's not the right thing
to do. How would you invoke it? What about other non-Wine apps that
are taking over the screen? Should they have a desktop mode? And if we
go down this path, what next: use ptrace to enhance Wine's security?!?

-- 
Dimi.





Is it me or is winedbg --debugmsg -all not honored

2002-10-30 Thread Uwe Bonnes
Hallo,

did I miss something or is it me or is the registry entry ( as advertised in
winedefaults.reg) 
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
Debugger=winedbg --debugmsg -all %ld %ld

not honored any more ( since some time). 

The relay log is cluttered with about 150k lines of debugger start relay
output :-(

Bye
-- 
Uwe Bonnes[EMAIL PROTECTED]

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




Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 05:27 pm, Lionel Ulmer wrote:
 Well, yes, if I wanted to ONLY use Windows applications I could do
 something like that. But a part from using Xnest or hacks like that (VNC
 comes to my mind too) I do not see how I could do what I want to do without
 support in Wine itself.

So you consider Xnest and VNC hacks, but Wine's desktop mode OK?!? This is
very strange, in the Unix spirit I would have thought those are the right
approach for what you want to accomplish (pseudo-virtual machine).

-- 
Dimi.

P.S. And no, there is no reason for WDE to be restricted to Windows apps only.





Re: rpc_H_PL1

2002-10-30 Thread Greg Turner
On Wednesday 30 October 2002 03:01 pm, Alexandre Julliard wrote:
 Greg Turner [EMAIL PROTECTED] writes:
  diff -ur -x CVS -x 'bigdif*' ../wine.test/dlls/rpcrt4/rpc_binding.c
  ./dlls/rpcrt4/rpc_binding.c ---
  ../wine.test/dlls/rpcrt4/rpc_binding.c  2002-10-29
  12:59:02.0 -0600 +++ ./dlls/rpcrt4/rpc_binding.c2002-10-29
  13:28:39.0 -0600 @@ -865,14 +865,21 @@
*  Exists in win9x and winNT, but with different number of
  arguments *  (9x version has 3 arguments, NT has 2).
*/
  +#ifdef WINNT
  +RPC_STATUS WINAPI I_RpcBindingSetAsync( RPC_BINDING_HANDLE
  Binding, RPC_BLOCKING_FN BlockingFn) +#else
   RPC_STATUS WINAPI I_RpcBindingSetAsync( RPC_BINDING_HANDLE
  Binding, RPC_BLOCKING_FN BlockingFn, unsigned long ServerTid )
  +#endif
   {

 This can't work, we are not going to build two versions of Wine with
 different #ifdefs. We should simply decide which version we support
 (NT would probably be preferable) and get rid of the #ifdefs in the
 header.

OK, will do... I love that MS just creates new, similar API's with the 
same names as the old ones...  for a company that apparently loves 
backward compatibility more than stability, what are they thinking?

-- 
gmt

The purpose of government is to rein in the rights of the people
 --President Bill Clinton, MTV interview, 1993





Re: Versions mass-appeal

2002-10-30 Thread David Laight
On Wed, Oct 30, 2002 at 05:27:48PM -0500, Dimitrie O. Paun wrote:
 On October 30, 2002 05:01 pm, Francois Gouget wrote:
  I think desktop mode is useful in some circumstances like when you want
  to prevent an application from taking over the whole screen (typically
  installers or the PowerPoint viewer).
 
 While it may be useful in strange circumstances, it's not the right thing
 to do. How would you invoke it? What about other non-Wine apps that
 are taking over the screen? Should they have a desktop mode? And if we
 go down this path, what next: use ptrace to enhance Wine's security?!?

Since apps going 'full screen' is much more common in W$ than unix,
maybe wine should have an option to lie about the screen size?

That way an app that requests 'full screen' (probably in order
to get 800x600 pixels) won't grab the entire 1600x1200 (or larger)
X display.


David

-- 
David Laight: [EMAIL PROTECTED]




Re: Versions mass-appeal

2002-10-30 Thread Lionel Ulmer
 So you consider Xnest and VNC hacks, but Wine's desktop mode OK?!? This is
 very strange, in the Unix spirit I would have thought those are the right
 approach for what you want to accomplish (pseudo-virtual machine).

Well, I said 'hacks' because for VNC it's not really what it was meant to do
(except, of course, if one would write a VNC-protocol driver for Wine to be
able to connect directly to a VNC server). This is less true for Xnest, but
it is relatively unacceptable for performance reasons (for one, you add yet
another process that needs to be scheduled in the equation plus it certainly
will never run OpenGL in direct rendering mode).

Basically, you mean that you consider Tabbed browsing in Mozilla a 'hack'
too because it should be your WM's job to do that for you ?

 P.S. And no, there is no reason for WDE to be restricted to Windows apps only.

But I would want it to be. I do not want to change WM for my Linux
applications, only for my Windows one. I do *NOT* want *ANY* integration
between the Windows application run with Wine and my Linux applications (so
I may be completely at odds with what CodeWeavers is trying to do, but oh
well, I am used to have strange ideas :-) ).

 Lionel

-- 
 Lionel Ulmer - http://www.bbrox.org/




Re: Versions mass-appeal

2002-10-30 Thread Tony Lambregts
Uwe Bonnes wrote:


Dimitrie == Dimitrie O Paun [EMAIL PROTECTED] writes:
   


   Dimitrie On October 30, 2002 01:57 am, Ender wrote:
- Many apps do not work without Desktop enabled. This is far worse
than it sounds, because most newbies try managed non-desktop
first. People think WINE should be able to do seemless
intergration. Then when an application hangs, they think it's
incompatible and give up. However in many cases the Application will
work fine in Desktop mode. BAD, these apps should either be made to
work... or non-desktop mode should be removed!

   Dimitrie IMO desktop mode exists only because our integration is not
   Dimitrie very good.  It should die sooner, rather than later, it's just
   Dimitrie a big hack. So we should rather focus on getting apps to work
   Dimitrie in non-desktop more, rather then resurrecting the silly
   Dimitrie desktop option.

Well,

my opinion on desktop mode is another one. It's not silly. Two examples:
- any program in non-desktop mode switching to full screen (hey, a lot of
programs like installer do that) and crashing later without a proper setup
of the debugger. No most users are left in a situation they can't easily
solve, as they don't know that they still can switch consoles and kill wine...
- any application poping up endless series of new processes, each process
grabbing keyboard focus. In a good desktop mode  I would expect the real
focus not to switch from the outside to the desktop. As now each process
spawns it's own new desktop, focus is switched anyways. 

 

Yes desktop is broken but it is the best way that I have to debug 
programs. Without desktop a lot of programs want to take over the whole 
screen and although there may be other ways of debuging these programs 
this is the best way that I know of.  It need to be fixed not gotten rid of.

My 2 bits


Tony Lambregts.





Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 09:11 am, Uwe Bonnes wrote:
 think of Win32 as a user library, just like Motif or QT. So the thing of
 beauty ( or missing beauty) gets relative...

Very good point. This is another angle I wanted to approach:
we are currently perceived by some as a 'evil thing' which
allows MS-stuff to creep into Linux.

We should make it clear that Wine is:

1) a PE loader
  This is good! PE is a valid format, just like ELF.
  There are advantages to have it supported in Linux.

2) A (large) toolkit/lib/etc.
  There, we are in the same bucket as Lesstif, Qt, GTK, etc.

We are a Unix thing as much as all the other cherished libs.

-- 
Dimi.





Re: Is it me or is winedbg --debugmsg -all not honored

2002-10-30 Thread Alexandre Julliard
Uwe Bonnes [EMAIL PROTECTED] writes:

 did I miss something or is it me or is the registry entry ( as advertised in
 winedefaults.reg) 
 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
 Debugger=winedbg --debugmsg -all %ld %ld
 
 not honored any more ( since some time). 
 
 The relay log is cluttered with about 150k lines of debugger start relay
 output :-(

Works fine here. Note that the debugger does print a few things before
it gets a chance to handle the -debugmsg option, but that definitely
shouldn't be 150k lines.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: XBox

2002-10-30 Thread Chris Thielen
On Wed, 2002-10-30 at 12:10, Dirk wrote:
 Could someone do something to make the need for this hardware disappear
 and save the world of people who love proprietrary video game consoles?
 
 There is already a tool that converts xpe files into exe. Only the bios
 and the improved DirectX must be re-engineered and the rest will be done
 by a Geforce4 (or 5) and a 2Ghz CPU.

I'm sure an Xbox emulator will eventually come along, assuming there
aren't a few already in the works; they, however, under Linux at least,
would have to implement DirectX calls; it would be interesting to
frequently contact those developers as they would face many of the same
issues of implementing DirectX as the newly formed Wine DX group will. I
don't know of any emulators that support Xbox architecture, but I don't
think wine should be the project to do so, not unless an Xbox game runs
under (normal) Windows.

-- 
Chris Thielen [EMAIL PROTECTED]





Debugging advice

2002-10-30 Thread Matthew Bloch
Hi there;

I feel like I'm nearly there with porting this game to run with winelib, a 
version checked out from winehq CVS about a week ago.  Because I wanted my 
build system to be cross-platform, and WINE only as a stop-gap, I'm using the 
Jam build system and so can't directly take advantage of winemaker.  Plus I 
would rather learn and document how the build process works manually, since I 
can't find this information anywhere else.

Anyhow I now have the 400-odd source files compiling happily against my wine 
header files once I'd excised the need for Direct3D.  I have a directory full 
of object files with external references to Win32 functions and a WinMain 
function.

So to do the final linking step I've used (based on watching the example 
winemine build process):

$WINE/tools/winebuild/winebuild \
  -fPIC -DSTRICT -D_REENTRANT \
  -exe LSNClient.exe -mgui Builds/native-debug-linux/Source/*.o \
  -L$WINE/dlls -luser32 -lgdi32 -ladvapi32 -lkernel32 -lddraw -ldsound \
  -lwinmm -ldisplay -ldispdib Source/LSNClient.exe.c

and then compiled  linked LSNClient.exe.c to the rest of the object files 
with the -shared flag, which leaves me with a shared library.  

Sideline: am I correct in thinking that winebuild's job is to scan the 
supplied object files for Win32 dependencies and construct the necessary glue 
code to load the needed .dll.so files?  What's the reason that the linking 
process can't correspond more closely to normal linking, i.e. where I could 
just supply -lddraw -lwine to my program to produce a final binary?

I then run ../wine/wine LSNClient.exe to try to run the game, and get this 
error:

err:module:BUILTIN32_LoadLibraryExA loaded .so but dll display.dll still not 
found - 16-bit dll or version conflict.
err:module:PE_fixup_imports Module (file) display.dll (which is needed by 
Y:\Work\Nemesis\LSNClient.exe) not found

Any idea what might be going wrong, or how I could diagnose it?  

More generally, the natively compiled .exe runs okay (if grindingly slowly, 
and with a couple of display glitches) under the binary loader, but I assumed 
that if I could produce a native version I'd be avoiding a lot of overhead 
and make my debugging job easier since I could use familiar GNU tools to 
debug my portability code as I wrote it.  What efficiency gains will I make 
compiling a native shared library exe with gcc as opposed to just compiling 
with Visual C and running it under the normal WINE binary loader?  I'm 
interested in how the latter works efficiently, so any advice in this 
direction would be appreciated-- I've thought on more than one occasion that 
maybe I should skip the WINE stop-gap and port it to SDL all at once, but the 
idea of being able to gradually wean the game off Win32 is appealing.

cheers,

-- 
Matthew Bloch Bytemark Computer Consulting Limited
http://www.bytemark.co.uk/
  tel. +44 (0) 8707 455026





richedit

2002-10-30 Thread Michael Stefaniuc
Hello,

is somebody working on the richedit dll? I encountered 3 unknown RTF
control words and wanted to add them but I got scared by the overzealous
use of #define's in rtf.h . My first impuls was exchange that with some
enum's, but i thought i better ask here before i do the work in vain.

bye
michael
-- 
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



msg13131/pgp0.pgp
Description: PGP signature


Re: Debugging advice

2002-10-30 Thread Alexandre Julliard
Matthew Bloch [EMAIL PROTECTED] writes:

 $WINE/tools/winebuild/winebuild \
   -fPIC -DSTRICT -D_REENTRANT \
   -exe LSNClient.exe -mgui Builds/native-debug-linux/Source/*.o \
   -L$WINE/dlls -luser32 -lgdi32 -ladvapi32 -lkernel32 -lddraw -ldsound \
   -lwinmm -ldisplay -ldispdib Source/LSNClient.exe.c

display and dispdib are 16-bit dlls, you shouldn't import them.

 Sideline: am I correct in thinking that winebuild's job is to scan the 
 supplied object files for Win32 dependencies and construct the necessary glue 
 code to load the needed .dll.so files?  What's the reason that the linking 
 process can't correspond more closely to normal linking, i.e. where I could 
 just supply -lddraw -lwine to my program to produce a final binary?

That's because of differences between the ELF and PE binary
formats. For instance, each Windows dll is in its own namespace, while
ELF dlls share a single namespace; so we need to do linker tricks to
simulate the PE behavior.

  What efficiency gains will I make 
 compiling a native shared library exe with gcc as opposed to just compiling 
 with Visual C and running it under the normal WINE binary loader?

There are basically no efficiency gains, there is no overhead in
running a PE exe compared to a native one.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Debugging advice

2002-10-30 Thread Matthew Bloch
On Thursday 31 October 2002 01:14, you wrote:
 Matthew Bloch [EMAIL PROTECTED] writes:
  $WINE/tools/winebuild/winebuild \
-fPIC -DSTRICT -D_REENTRANT \
-exe LSNClient.exe -mgui Builds/native-debug-linux/Source/*.o \
-L$WINE/dlls -luser32 -lgdi32 -ladvapi32 -lkernel32 -lddraw -ldsound \
-lwinmm -ldisplay -ldispdib Source/LSNClient.exe.c

 display and dispdib are 16-bit dlls, you shouldn't import them.

Still does the same thing whether I include then on the winebuild cmd line or 
not.  Could you explain what the error message loaded .so but dll ... not 
found means?  What does display.dll do?

   What efficiency gains will I make
  compiling a native shared library exe with gcc as opposed to just
  compiling with Visual C and running it under the normal WINE binary
  loader?

 There are basically no efficiency gains, there is no overhead in
 running a PE exe compared to a native one.

Okay, but presumably it's easier (as in not impossible!) for me to debug a 
program with GDB if I'm using a elf binary as opposed to a PE binary, which 
is mostly my object here.

thanks,

-- 
Matthew Bloch Bytemark Computer Consulting Limited
http://www.bytemark.co.uk/
  tel. +44 (0) 8707 455026





Re: richedit

2002-10-30 Thread Francois Gouget
On Thu, 31 Oct 2002, Michael Stefaniuc wrote:

 Hello,

 is somebody working on the richedit dll? I encountered 3 unknown RTF
 control words and wanted to add them but I got scared by the overzealous
 use of #define's in rtf.h . My first impuls was exchange that with some
 enum's, but i thought i better ask here before i do the work in vain.

Isn't enum a C++ specific feature?
If so then we cannot use it in Wine.

-- 
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
  Good judgment comes from experience, and experience comes from bad judgment
   -- Barry LePatner





Re: Debugging advice

2002-10-30 Thread Francois Gouget
On Thu, 31 Oct 2002, Matthew Bloch wrote:
[...]
  There are basically no efficiency gains, there is no overhead in
  running a PE exe compared to a native one.

 Okay, but presumably it's easier (as in not impossible!) for me to debug a
 program with GDB if I'm using a elf binary as opposed to a PE binary, which
 is mostly my object here.

But if you compile Winelib dlls as regular ELF libraries the application
won't run so there is not much point. Besides, if you are using threads
you cannot use gdb either because the Win32 threading is incompatible
with gdb.

So you are stuck with winebuild and winedbg.


-- 
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
  Computers are like airconditioners
They stop working properly if you open WINDOWS





Re: richedit

2002-10-30 Thread Vincent Béron
Le mer 30/10/2002 à 20:44, Francois Gouget a écrit :
 On Thu, 31 Oct 2002, Michael Stefaniuc wrote:
 
  Hello,
 
  is somebody working on the richedit dll? I encountered 3 unknown RTF
  control words and wanted to add them but I got scared by the overzealous
  use of #define's in rtf.h . My first impuls was exchange that with some
  enum's, but i thought i better ask here before i do the work in vain.
 
 Isn't enum a C++ specific feature?
 If so then we cannot use it in Wine.
 
 -- 
 Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
   Good judgment comes from experience, and experience comes from bad judgment
-- Barry LePatner
 
 

No, it's part of standard C.
http://www-ccs.ucsd.edu/c/types.html#Enumerations

Vincent





Re: Versions mass-appeal

2002-10-30 Thread Ender
 Well, you and I seem to have very different opinion on Wine. For you, it's a
 way to run a particular application. For me, it's like a virtual PC running
 Windows on my Linux box (ie more like a VMWare or a terminal server /
 Metaframe approach).

*cough*
Wine Is Not an Emulator :)

 - Ender






Re: Versions mass-appeal

2002-10-30 Thread Dimitrie O. Paun
On October 30, 2002 10:34 pm, Jeremy White wrote:
 However, I strongly agree with Lionel - since
 we have desktop mode, we should keep it as an option.  Free software is
 all about choice.

Yes, but that choice does not refer to to the choice of cramming
every feature together. :) Virtually all reasonable uses of the desktop
thing that I heard of is just to limit the size of the window.
For that, it's way better to support a --maxsize option, which is per
wine invocation. Only Lionel has this strange desire to run Wine as
a virtual machine, which is fine, but it's not where Wine is going.
If you are really big on the VM idea (why, beats me), we should separate
that functionality out as a winedesktop executable.

-- 
Dimi.





Re: Versions mass-appeal

2002-10-30 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 If you are really big on the VM idea (why, beats me), we should separate
 that functionality out as a winedesktop executable.

Don't tell anyone, but that's exactly how the desktop option will have
to be implemented to work with multiple processes.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




So lets say we do it

2002-10-30 Thread Dimitrie O. Paun
That is,

Lets assume for the sake of argument that Alexandre likes my
0.8 idea so much, that he releases Wine 0.8 with much fanfare
next Monday (so we have a good audience), and the news reaches
Slashdot where a message with a link to http://www.winehq.org
is posted, in good CmdrTaco fashion...

And so, let's see what's going to happen:

1. 90% of /.ers will click on the link, and WineHQ gets Slashdotted! :)

2. People will look for the typical left-side menu:
Home
About
Status
Development
Download
Screenshots

*BZZT* We don't have any. 5% will drop off here.

3. Then they'll visually search for the word Screenshot

*BZZT* We don't have any on front page. 30% will drop off.
*I* drop off here when I visit other projects, for crying out loud!

So let's assume that by a miracle they'll discover the screenshots:
do they make them drool? No, we loose another 15%.

Damn, that's tough! Let's see what happens to the rest:

4. Let's download, and try it out

Do we have officially sanctioned binaries (at the very least
.rpms for RH, and .deb for Debian)? No. *BZZT* We loose another 30%.
Again, *I* don't care about stuff that doesn't come as a binary
.rpm for my RH system. I used to, not anymore.

Fine, some will install what they download. What next? Hm, this
Wine thing just sits there, it's not that simple. We need to
read some docs. Back to the site.

5. Look at the docs

Oh, we have some. We hate to read docs, but Wine is cool, so we
swallow the pill. Only to find out it's out of date!!! What a
piece of #$%!

*BZZT* Another 10% drop off.

Thats 90% drop-off before they really tried it out! The rest 10%,
go on. So, what do we do with it?

6. Look for a list of Win-apps that we can run

Is there something on the site? No. Blah, too much hassel...

*BZZT* Another 5% go.

(Don't even mention app-db, it's *way* too complicated!)

So the 5% left, install wine, install a Win-app, and play around.
Great, it works! They start learning the utilities, etc., but
those are in flux, and we change them, and they get PO-ed. Another
percent, or two leave the fold...

-- 
Dimi.

P.S. A story-like TODO (with embedded rationale) for 0.8.0 :)