Re: [QCAP] patch 4, Adding enumPins object

2005-05-10 Thread Paul Vriens
 Changelog
   - dlls/qcap/Makefile.in
   - dlls/qcap/enumpins.c
   Add IEnumPins object for use by other class objects. This is taken
   from quartz with only minor adaptions.

 Rolf Kalbermatter


 +WINE_DEFAULT_DEBUG_CHANNEL(quartz);

Shouldn't that be qcap ?

Cheers,

Paul.




Re: UT2003 regression, Windowing problem

2005-05-10 Thread Stefan Dösinger
 On Mon, 09 May 2005 22:43:49 +0100, Ann and Jason Edmeades wrote:
  So should there have been an action as a result of the WM_PAINT, and is
  it valid for it not to occur (ie is wine overdoing the assumption on
  redrawing)

 Notes has the same problem. Last time I talked to The Director about it he
 said doing nothing in WM_PAINT was invalid and indeed, doing that on
 Windows goes into an infinite loop. Most puzzling. There seems to be a
 magic combination of things you can do that make it not go into this loop
 ... not sure.
Looks like I have 2 more apps:
Empire Earth and MS Office 2003.
Empire Earth locks during startup(before reaching it's usual problems), and MS 
Office 2003 blocks when showing the file open/save dialog.

Adding a break in the child==prev path of update_now fixes them too.

Stefan



Re: [Fwd: Re: Commercial support]

2005-05-10 Thread Wesley Parish
On Tue, 10 May 2005 11:02, StartCom Ltd. wrote:
  Or maybe just because of it, there is a need for commercial support, or
 somebody might need that support. If it would be running, by just
 clicking on the executable, no support is really needed, at least not
 for standard applications.

 IBM does very well know the existents of Wine (they even acknowledged
 that by themselves lately), but may very well not support it, because of
 inter-relation with MS. As of now (just a guess), they don't want to get
 into more hot water right now

I can verify that from a private conversation I had with an IBM employee
last year at the local LUG's installfest.  He informed me that because
IBM has this sort of relationship with Microsoft, they are not free to
get involved in anything that would make use of the MS Windows knowledge
they have gained from that relationship.

Stands to reason.  But it's a pity.

Wesley Parish

 gslink wrote:
  Go to the Wine HQ site and click on applications database.  If you
  need more applications check the listed links.
  This is a problem with every development effort and nobody is blaming
  anybody.  The larger the effort the worse it gets.  This is probably
  the worst problem both Microsoft and IBM have with code.  If you
  change anything in Wine something somewhere will probably quit
  running.  This is simply the price of progress.  My comment, and it is
  not a criticism, is that Wine still has rough edges.  Eventually these
  will go away but for now, you can't simply load Wine into Linux and
  blindly start loading in applications.  The more complex the
  application the more likely it needs setup.  As versions progress
  setup procedures change and as a result things quit running.
  Microsoft Office doesn't run without setup and neither do many of the
  older games such as Alice or Rune.  Even things like Warcraft come and
  go.  This is not a criticism it is just the way things are and that is
  why I think it is too early to start thinking about commercial support.
  What somebody needs to do now is to get a relationship with IBM
  similar to the one that Eclipse has.  IBM has a problem currently
  because there is no native Lotus Notes client for Linux.  Wine could
  easily solve this problem.  I talked to some of the marketing managers
  in IBM and most had never heard of Wine.  The IBM development labs are
  currently starting to develop this native client.  If IBM could use
  Wine it could save them money and sueing Wine is one thing sueing IBM
  is another.

-- 
Clinersterton beademung, with all of love - RIP James Blish
-
Mau e ki, he aha te mea nui?
You ask, what is the most important thing?
Maku e ki, he tangata, he tangata, he tangata.
I reply, it is people, it is people, it is people.



games

2005-05-10 Thread Ivan Leo Puoti
If you've got a safedisk1 copy protected game please contact me by
private email.
All safedisk1 games have a .ICD file in the root of the CD.

Ivan.




Re: Menu with multi columns fix take 2

2005-05-10 Thread Felix Nawothnig
Rein Klazes wrote:
+case WM_MEASUREITEM:
How about an ok( ((MEASUREITEMSTRUCT*)lparam)-itemHeight  0, ... ) 
here? :)

-flx


Re: Commercial support

2005-05-10 Thread gslink
IBM does very well know the existents of Wine (they even acknowledged 
that by themselves lately), but may very well not support it, because of 
inter-relation with MS. As of now (just a guess), they don't want to get 
into more hot water right now

Would it be to the advantage of Microsoft to have Wine succeed?  They 
have given Apple much support and at every class for the past several 
years the instructors have had a copy of Linux on every machine.  A very 
good case can be made for Microsoft supporting Wine especially since the 
RH secure kernel came via NSA and may very well become a DOD standard. 
Perhaps Wine should formally contact Microsoft.



wine wiki syntax question

2005-05-10 Thread James Hawkins
Hey,

I have the following in my wiki page:

== DONE Items ==
(./) Use listview instead of listbox in the drive list
(./) Fix random bugs with the drives tab listview

The first checkmark works, but the second checkmark and text is on the
same line and behind the first one.  I don't really want the
checkmarks to be tabbed like they're in a list, but is there a way to
have them on separate lines?

-- 
James Hawkins




Re: Commercial support

2005-05-10 Thread Tom Wickline
On 5/10/05, Shachar Shemesh [EMAIL PROTECTED] wrote:
 And on the out come of this discussion, read the entirety of this
 thread and apply bays theorem and a result will soon follow.
 
 http://psych.rice.edu/online_stat/chapter5/probability.html
 
 
 While it's very nice of you to send me to a 10 page explanation on a
 topic I already know something about, I really don't have the time to
 read it just so I'm enlightened by some inner knowledge you think I will
 gain. Care to explain what it is that you are trying to say here? Please
 do work out the math for me.
 
   Shachar
 

That I give up, I have voiced my humble opinion on this subject and
it's time to move on.

Cheers,

Tom




Re: [QCAP] patch 3, Adding enumMediaType object

2005-05-10 Thread Robert Shearman
Rolf Kalbermatter wrote:
Changelog
 - dlls/qcap/Makefile.in
 - dlls/qcap/qcap_main.h
   dlls/qcap/enummedia.c
 Add IEnumMediaType object for use by other class objects. This is
taken
 from quartz with only minor adaptions.
 

We should be putting these files into a static library that we can link 
to from quartz, qcap  other DirectShow dependent DLLs.

Rob


Re: Menu with multi columns fix take 2

2005-05-10 Thread Rein Klazes
On Tue, 10 May 2005 14:55:22 +0200, you wrote:

 Rein Klazes wrote:
  +case WM_MEASUREITEM:
 
 How about an ok( ((MEASUREITEMSTRUCT*)lparam)-itemHeight  0, ... ) 
 here? :)

Of course. I just did not want to add a complaining test case.
 
Please commit a patch (perhaps a bit stricter then  0)

Rein.



Re: Commercial support

2005-05-10 Thread gslink
StartCom Ltd. wrote:
If they would have wanted some contact, that would have done it long 
time agoMore than that, if they'd like to have Windows API support 
on Linux, they could have done it (and still could do) much easier, than 
it's done now at Wine. (Like they did with Frontpage for Apache).

But it could be also a revenue for MS to produce such a API-for-Linux 
and as current messages get out from Redmond, with some reconciliation 
with the Open Source community, chances may be for some interest. Mmmhh, 
there is Bill Hilf and Martin Taylor which are the Linux guys at MS

But contacting MS should be made only after a decision (voting) of this 
list.

gslink wrote:
IBM does very well know the existents of Wine (they even acknowledged 
that by themselves lately), but may very well not support it, because 
of inter-relation with MS. As of now (just a guess), they don't want 
to get into more hot water right now

Would it be to the advantage of Microsoft to have Wine succeed?  They 
have given Apple much support and at every class for the past several 
years the instructors have had a copy of Linux on every machine.  A 
very good case can be made for Microsoft supporting Wine especially 
since the RH secure kernel came via NSA and may very well become a DOD 
standard. Perhaps Wine should formally contact Microsoft.


Now we are getting all the ideas on the table.  I agree.


Re: README translations

2005-05-10 Thread Marcelo Duarte
Dimi, there are little typos in README.pt_br, see below:
Dimitrie O. Paun escreveu:
ChangeLog
   Dimitrie O. Paun [EMAIL PROTECTED]
   Update README translations to match the latest
   changes to the English README.
 

...
Index: documentation/README.pt_br
===
RCS file: /var/cvs/wine/documentation/README.pt_br,v
retrieving revision 1.8
diff -u -p -r1.8 README.pt_br
--- documentation/README.pt_br	14 Feb 2005 11:51:05 -	1.8
+++ documentation/README.pt_br	10 May 2005 15:12:04 -
@@ -21,9 +21,8 @@ nível do fonte do Wine (que contém este 

Execute programas conforme wine [opções] programa. Para maiores 
informações e resolução de problemas, leia o restante deste arquivo, 
-a página man do Wine (man wine), os arquivos incluídos no diretório 
-de documentação do fonte do Wine (veja DOCUMENTATION), e especialmente 
-a abundância de informação encontrada em http://www.winehq.org.
+a página man do Wine (man wine), o especialmente  a abundância de i
+nformação encontrada em http://www.winehq.org.
 

here the correct is: ..e especialmente a abundância de informação...
3.REQUERIMENTOS
@@ -91,9 +90,6 @@ Bibliotecas de suporte opcionais:
Se desejar o suporte de impressão do CUPS, por favor instale os pacotes
cups e cups-devel.
-Para os requesitos no caso de ter a intenção de contruir a documentação, veja 
-a seção DOCUMENTAÇÃO.
-
4.COMPILAÇÃO

No caso de escolher não usar o wineinstall, execute os comandos a seguir
@@ -131,17 +127,7 @@ Não esqueça de desinstalar primeiramente
Wine que possa confitante. Tente qualquer um dos comandos dpkg -r wine ou rpm -e wine ou make uninstall antes de 
instalar.

-Se você quiser ler a documentação fornecida com a fonte do Wine, 
-veja a seção DOCUMENTAÇÃO.
-
-O Wine requer um arquivo de configuração chamado config no diretório 
-~/.wine. O formato deste arquivo é explicado em man wine.conf
-(documentation/wine.conf.man).
-O arquivo documentation/samples/config contém um exemplo de arquivo de 
-configuração para ser adaptado e copiado para a localização anteriormente
-mencionada.
-
-Veja a área de suporte em http://www.winehq.org/ para mais sugestões 
+Veja a área de suporte em http://www.winehq.org/ para msugestões 
sobre a configuraçao.
 

here msugestões should be sugestões
Thanks.


New debugging tutorials

2005-05-10 Thread Mike Hearn
Hi,

I've added the first of what will hopefully become many debugging
tutorials to the wiki:

  http://wiki.winehq.com/DebuggingTutorials

Sometimes fixing Wine can be a bit hard to get into. Hopefully these short
show me guides will give people a taste for what it involves and help
newbies start.

Please feel free to add more! They shouldn't be too advanced (so no copy
protection, WM or DCOM debugging ;) but multiple levels of difficulty is
fine. Ideally they should all be based on real apps.

thanks -mike




widl and #pragma pack(x)

2005-05-10 Thread Dietrich Teickner
Can it be,
 that widl does not work with any #pragma pack(x) statements in any 
header-files called from *.idl ?
I have problems with mshtml.dl in the odin environment.
  lineno = (int)strtol(yytext, cptr, 10);
  if(!lineno)
yyerror(Malformed '#...' line-directive; invalid linenumber);
  after #pragma pack(x) line.
All widl-generated headers does never containn any #pragma pack(x) 
statement.

Dietrich



Re: UT2003 Windowing Regression - Another nights effort...

2005-05-10 Thread Ann and Jason Edmeades
I think I have reproduced the same problem with a simple testpgm...

Instructions...

1. Start Visual Studio, create a default windows application
2. Comment out the code in the WM_PAINT and replace it with return 1
(important)
3. Run it...

On windows you can play with the menu etc and it works. The CPU is at 100%
but clicking on menu items works, and menu-exit does actually exit the app.
(Menu-About causes a hang)

On wine you get the infinite loop and the screen/menu never gets as far as
being drawn

Note:Its important to to return the 1 (or TRUE) - returning 0 works fine on
both!

Question... Is wine being too proactive - Perhaps in the case where the
redraw is unsuccessful then wine should schedule a WM_PAINT rather than
performing it?

Note: UT2003 seems to just do:
CreateWindowEx(AppWindow, Visible+..., )
ShowWindow(show no activate)
UpdateWindow(rdw all children, updatenow)
**hang**

Jason





ExtTextOut() for paths

2005-05-10 Thread Felix Nawothnig
Hi.
The attached patch implements ExtTextOut() for open paths. It seems to 
be working correctly for my tests but... well, the code I copied from 
xrender.c is a total mess IMHO.

Calculating cell deltas and calculating the base line origin has to be 
done for all kind of TrueType rendering (and most of the stuff for all 
other text rendering too) so most of it should maybe be put into 
ExtTextOutW() in gdi/font.c instead of duplicating it all over the 
place. But I'm not sure if this would require the drv API to be changed 
(which looks like it's modelled after the Win32 API on purpose) or maybe 
tie gdi to x11drv.

Also from looking at the code it seems to me that the ExtTextOut() 
implementation in x11drv/text.c behaves - well - different than 
x11drv/xrender.c in several cases. (TA_*, rotation and break-char 
handling...)

I really don't like the attached code but I don't feel like messing 
around with it more so I'll just post it here - maybe someone else can 
use it as a starting-point.

-flx
? gdi32.spec.def
Index: font.c
===
RCS file: /home/wine/wine/dlls/gdi/font.c,v
retrieving revision 1.10
diff -u -r1.10 font.c
--- font.c  18 Apr 2005 10:30:56 -  1.10
+++ font.c  10 May 2005 23:28:05 -
@@ -1719,35 +1719,40 @@
 {
 BOOL ret = FALSE;
 DC * dc = DC_GetDCUpdate( hdc );
-if (dc)
+LPWSTR lpReorderedString = NULL;
+
+if (!dc) return FALSE;
+
+if (flags(ETO_NUMERICSLOCAL|ETO_NUMERICSLATIN|ETO_PDY))
+FIXME(flags ETO_NUMERICSLOCAL|ETO_NUMERICSLATIN|ETO_PDY 
unimplemented\n);
+
+if( !(flags(ETO_GLYPH_INDEX|ETO_IGNORELANGUAGE))  BidiAvail  count0 )
 {
-if (flags(ETO_NUMERICSLOCAL|ETO_NUMERICSLATIN|ETO_PDY))
-FIXME(flags ETO_NUMERICSLOCAL|ETO_NUMERICSLATIN|ETO_PDY 
unimplemented\n);
+   /* The caller did not specify that language processing was already 
done. */
+   DWORD dir = WINE_GCPW_FORCE_LTR;
 
-if(PATH_IsPathOpen(dc-path))
-FIXME(called on an open path\n);
-else if(dc-funcs-pExtTextOut)
-{
-if( !(flags(ETO_GLYPH_INDEX|ETO_IGNORELANGUAGE))  BidiAvail  
count0 )
-{
-/* The caller did not specify that language processing was 
already done.
- */
-LPWSTR lpReorderedString=HeapAlloc(GetProcessHeap(), 0, 
count*sizeof(WCHAR));
-
-BIDI_Reorder( str, count, GCP_REORDER,
-  ((flagsETO_RTLREADING)!=0 || 
(GetTextAlign(hdc)TA_RTLREADING)!=0)?
-  WINE_GCPW_FORCE_RTL:WINE_GCPW_FORCE_LTR,
-  lpReorderedString, count, NULL );
-
-ret = 
dc-funcs-pExtTextOut(dc-physDev,x,y,flags|ETO_IGNORELANGUAGE,
- 
lprect,lpReorderedString,count,lpDx,dc-breakExtra);
-HeapFree(GetProcessHeap(), 0, lpReorderedString);
-} else
-ret = 
dc-funcs-pExtTextOut(dc-physDev,x,y,flags,lprect,str,count,
- lpDx,dc-breakExtra);
-}
-GDI_ReleaseObj( hdc );
+   if((flagsETO_RTLREADING)!=0 || (GetTextAlign(hdc)TA_RTLREADING)!=0)
+   dir = WINE_GCPW_FORCE_RTL;
+   
+   lpReorderedString=HeapAlloc(GetProcessHeap(), 0, count*sizeof(WCHAR));
+
+   BIDI_Reorder( str, count, GCP_REORDER, dir, lpReorderedString, count, 
NULL );
+
+   flags |= ETO_IGNORELANGUAGE;
+   str = lpReorderedString;
 }
+
+if(PATH_IsPathOpen(dc-path))
+ret = PATH_ExtTextOut(dc,x,y,flags,lprect,str,count,lpDx);
+else if(dc-funcs-pExtTextOut)
+ret = dc-funcs-pExtTextOut(dc-physDev,x,y,flags,lprect,str,count,
+ lpDx,dc-breakExtra);
+
+if(lpReorderedString)
+HeapFree(GetProcessHeap(), 0, lpReorderedString);
+
+GDI_ReleaseObj( hdc );
+
 return ret;
 }
 
Index: gdi_private.h
===
RCS file: /home/wine/wine/dlls/gdi/gdi_private.h,v
retrieving revision 1.25
diff -u -r1.25 gdi_private.h
--- gdi_private.h   13 Apr 2005 16:11:18 -  1.25
+++ gdi_private.h   10 May 2005 23:28:10 -
@@ -405,6 +405,8 @@
 extern BOOL PATH_LineTo(DC *dc, INT x, INT y);
 extern BOOL PATH_Rectangle(DC *dc, INT x1, INT y1, INT x2, INT y2);
 extern BOOL PATH_Ellipse(DC *dc, INT x1, INT y1, INT x2, INT y2);
+extern BOOL PATH_ExtTextOut(DC *dc, INT x, INT y, UINT flags, const RECT 
*lprec,
+LPCWSTR str, UINT count, const INT *lpDx);
 extern BOOL PATH_Arc(DC *dc, INT x1, INT y1, INT x2, INT y2,
  INT xStart, INT yStart, INT xEnd, INT yEnd, INT lines);
 extern BOOL PATH_PolyBezierTo(DC *dc, const POINT *pt, DWORD cbCount);
Index: path.c
===
RCS file: /home/wine/wine/dlls/gdi/path.c,v

Bug 2919

2005-05-10 Thread Dustin Navea
Bug 2919 is beyond my area, but there is a backtrace posted.  Could 
someone take a look and guide me on what logs to get?

Thanks
P.S. If you could also tell me how to determine this information for 
myself, it would save the list and myself a lot of time and typing. :-)

Dustin


Bug 2931 (again)

2005-05-10 Thread Dustin Navea
Ok, the author has posted a link to the commit.. 
http://www.winehq.org/hypermail/wine-cvs/2004/10/0376.html Seems to be 
what broke it, per regression testing.  I dunno if this maybe caused a 
bug somewhere else to show up or what, but I figure someone could look 
at it..

Dustin


Bug 2608 - shrinker compressed dll's cause error

2005-05-10 Thread Dustin Navea
This has been reported on Might and Magic 6.  The file mss32.dll is 
compressed with a program called shrinker, when the game is installed. 
If another program called DeShrinker is not run on that file, MM6 
refuses to run with an error.  Once that is run, the game runs fine. 
According to the notes, there is an extra piece of information in the 
header in the shrinker compressed dll's called .shrink .  I think this 
has something to do with it, but I am not totally sure.

Dustin


[AppDB] - Application votes cleared

2005-05-10 Thread Chris Morgan
I cleared out the votes on the appdb tonight after fixing a few bugs with the 
voting system.  The next step is to put into place a system that will expire 
votes that are older than some value, perhaps a year or two.  I'll try to get 
that into place in the next week or two.

Chris



Bug 2660

2005-05-10 Thread Dustin Navea
Bug 2660 is a regression, and the patch causing it is here: 
http://www.winehq.org/hypermail/wine-cvs/2004/12/0100.html

Could someone take a look at the patch to see what may be wrong? 
Multiple (over 3) users are having this same problem on multiple 
versions of lotus notes..



Re: Bug 2131 - 16-bit support?

2005-05-10 Thread Dustin Navea
Andreas Mohr wrote:
Sure, but that's a moot point, since everybody will work as much on stuff
as he wants to see it progress, and that won't be too much in the Win16
case since it's of not too much interest as compared to Win32 (or probably
even Win64 relatively soon).
So, if john wants to play doom or duke, he either should know how to 
develop and contribute the code to get it working in wine, or have a 
friend that could do it for him?  I ask because if everyone is trying to 
get their own stuff working (and in the process fixing other stuff that 
comes up along the way) who will have time to help the minority of 
people that want to play a classic game like duke or doom?

You're already sounding like the new marketing director of some random
major software company...
we need FEATURES, FEATURES! Who cares about all that old crap...
OOPS, didnt mean to come across that way.  I was basically saying that 
it seems that way, as more people migrate to 64 (and away from 32), we 
need ot keep up with the times, and from a maintenance standpoint i 
think it would be much easier to maintain 1 set of code as opposed to 3. 
 Which this has given me an idea that I will break down in the next 
email I send.

I don't really need to tell you that this attitude is rather wrong in the
Wine case, do I?
No, of course not!  But I see that you already have lol.
Hmm, well, let me do it anyway :-)
People are often migrating to Linux PRECISELY BECAUSE newer Windows versions
are no alternative to them any more (old machines with insufficient
performance/compatibility with newer Windows versions).
And we better make sure we support their *older* Windows applications
to some extent in that case.
See next email
Dustin


Re: shell32 - ShellDDEInit

2005-05-10 Thread Dmitry Timoshkov
Steven Edwards [EMAIL PROTECTED] wrote:

 The ReactOS guys are tired of seeing the fixme message.
 
 Changelog:
 Implement ShellDDEInit
 
 Index: lib/shell32/shell32_main.c
 ===
 --- lib/shell32/shell32_main.c  (revision 14808)
 +++ lib/shell32/shell32_main.c  (working copy)
 @@ -979,13 +979,66 @@
  FIXME(%lx: stub\n,dw);
  }
  
 -
 +ATOM ProgmanAtom;
 +DWORD hDde;
 +UINT hProgmanTopic, hProgmanService, hStar, hShell, hAppProps, hFolders;
 +
  /*
   * ShellDDEInit (SHELL32.@)
   */
 -void WINAPI ShellDDEInit(BOOL start)
 +void WINAPI ShellDDEInit(BOOL Start)
  {
 -FIXME(stub: %d\n, start);
 +WCHAR wszSHELL_PROGMAN[] = {'P','R','O','G','M','A','N',0};
 +WCHAR wszSHELL_TOPIC[] =  {'P','r','o','g','m','a','n',0};
 +WCHAR wszSHELL_SERVICE[] = {'P','r','o','g','m','a','n',0};
 +WCHAR wszSHELL_STAR[] = {'*',0};
 +WCHAR wszSHELL_SHELL[] = {'S','h','e','l','l',0};
 +WCHAR wszSHELL_APPPROPS[] = {'A','p','p','P','r','o','p', 'e', 'r', 't', 
 'i', 'e', 's',0};
 +WCHAR wszSHELL_FOLDERS[] = {'F','o','l','d','e','r','s',0};
 +
 +if (Start)
 +{
 +/* Create Atom */
 +ProgmanAtom = GlobalAddAtomW(wszSHELL_PROGMAN);
 +
 +/* Initialize DDE */
 +DdeInitializeW(hDde, NULL, CBF_FAIL_POKES | CBF_FAIL_ADVISES, 0L);
 +
 +/* Register the Strings */
 +hProgmanTopic = DdeCreateStringHandleW(hDde, wszSHELL_TOPIC, 
 CP_WINUNICODE);
 +hProgmanService = DdeCreateStringHandleW(hDde, wszSHELL_SERVICE, 
 CP_WINUNICODE);
 +hStar = DdeCreateStringHandleW(hDde, wszSHELL_STAR, CP_WINUNICODE);
 +hShell = DdeCreateStringHandleW(hDde, wszSHELL_SHELL, CP_WINUNICODE);
 +hAppProps = DdeCreateStringHandleW(hDde, wszSHELL_APPPROPS, 
 CP_WINUNICODE);
 +hFolders = DdeCreateStringHandleW(hDde, wszSHELL_FOLDERS, 
 CP_WINUNICODE);
 +
 +/* Register the Service Names */
 +DdeNameService(hDde, hFolders, 0, DNS_REGISTER);
 +DdeNameService(hDde, hProgmanService, 0, DNS_REGISTER);
 +DdeNameService(hDde, hShell, 0, DNS_REGISTER);
 +}
 +else
 +{
 +/* Unregister the Service Names */
 +DdeNameService(hDde, hFolders, 0, DNS_UNREGISTER);
 +DdeNameService(hDde, hProgmanService, 0, DNS_UNREGISTER);
 +DdeNameService(hDde, hShell, 0, DNS_UNREGISTER);
 +
 +/* Free the Handles */
 +DdeFreeStringHandle(hDde, hProgmanTopic);
 +DdeFreeStringHandle(hDde, hProgmanService);
 +DdeFreeStringHandle(hDde, hStar);
 +DdeFreeStringHandle(hDde, hShell);
 +DdeFreeStringHandle(hDde, hAppProps);
 +DdeFreeStringHandle(hDde, hFolders);
 +
 +/* Uninitialize DDE */
 +DdeUninitialize(hDde);
 +hDde = 0;
 +
 +/* Delete the Atom */
 +if (ProgmanAtom) ProgmanAtom = GlobalDeleteAtom(ProgmanAtom);
 +}
  }

If ReactOS guys could use 'static const' for unicode strings, make global
variables visible inside of the single source file static, check whether
DDE connection is being already [de]initialed and a little bit of error
checking that would be even better :-)

-- 
Dmitry.




Support for binaries that were abandoned by M$, and maintenance hell?

2005-05-10 Thread Dustin Navea
The discussion on 16-bit support for cards.dll led me to an interesting 
theory.

If the big name vendors are dropping support for 16-bit programs, they 
must be doing it for a reason, right?  The only reason I can come up 
with is because they dont have the resources (or maybe just the desire) 
to maintain 2 separate trees (1 16-bit and 1 32-bit), and soon to be 3 
trees including 64-bit..  We have the desire to allow any windows 
program to run, whether it runs in a current version of windows or not.

The problem with this is that over time, dos support has faded 
damatically, as well as win16 support.  Soon we will start writing more 
win64 conformance code, and less win32.  Where will that leave all of 
the people that dont jump on the 64-bit bandwagon any time soon?

flame war first shot
I think we are getting to that point, from a maintenance perspective, 
where we should seriously consider reorganizing the project into a more 
hierarchal (sp?) structure, where we have some people that can take some 
time off from contributing 32 or 64-bit code when need be, to contribute 
some 16-bit code for a user who wants to use an older program.

Possibly (just an idea) we should make a dedicated project page on 
sourceforge specifically for 16-bits.

As I said, soon we will be not necessarily abandoning 32-bits, but 
writing more 64-bits..  Sure we have separation to keep things apart, 
but wine is starting to get loaded down with things that only a small 
minority of users need anymore.. Perhaps it is time (just another idea) 
to copy out the 16-bit code into it's own project?  That way we can 
organize things more efficiently, and at the same time, reduce 1) 
download time of wine, and 2) compile time.

Of course, we would still leave 16-bit support in the main project, but 
we would no longer maintain it there..  We could maintain it in wine16

/flame war first shot
Comments?  Suggestions?  Flames???  Bring it ;-)
Dustin


Docs at SourceForge

2005-05-10 Thread Dimi Paun
Hi folks,

As most of you already noticed, the SGML docs have moved over
to the CVS SourceForge:
http://sourceforge.net/cvs/?group_id=6241

They clearly did not belong in the tree, and we decided at
WineConf05 to move them out of there. So we did.

I have renamed the files for a more uniform naming, and dropped
couple of unused files in the process. We still need to change
WineHQ's scripts to point them to the new location. Help with
this would be appreciated.

I'll be managing that tree for now (unless Alexandre wants to
do it :)). Please send your patches as you usually do to
[EMAIL PROTECTED], but make sure to prefix the subject
with '[WINEDOCS]' so I can more easily spot them. Discussions 
should take place on wine-devel@winehq.org as per normal.

The new repository is set up with translations in mind, so
hopefully will be able to handle them better in the future.
I'll be working with Francois to integrate the French
translation shortly.

-- 
Dimi Paun [EMAIL PROTECTED]
Lattica, Inc.




Getting rid of LOCAL_ exports

2005-05-10 Thread Dimi Paun
From a cursory look at the problem, it seems we can turn things
upside down. Right now LOCAL_*() functions (Wine specific) are
equivalent to the Local*16() functions (Windows exports), with
the exception that they take a  selector as first argument 
(which makes them more general). As a result, Local*16() functions
are implemented on top of the LOCAL_*() ones.

This is only half of the story. In fact, the Local*16() functions
do take the segment as input, but in a more awkward manner:
as the value of the DS register. So we can actually implement
the LOCAL_*() functions on top of the Local*16() ones by messing
with the DS register. Doing so would hopefully get rid of the
LOCAL_*() exports from kernel.

I've taken a stab (prototype level) at the LOCAL_Alloc() function
(patch included below). Would such an approach be acceptable?

Index: include/local.h
===
RCS file: /var/cvs/wine/include/local.h,v
retrieving revision 1.6
diff -u -p -r1.6 local.h
--- include/local.h 28 Aug 2003 21:43:35 -  1.6
+++ include/local.h 10 May 2005 18:20:03 -
@@ -23,12 +23,22 @@
 
 #include windef.h
 #include wine/windef16.h
+#include stackframe.h
 
   /* These function are equivalent to the Local* API functions, */
   /* excepted that they need DS as the first parameter. This*/
   /* allows managing several heaps from the emulation library.  */
+static inline HLOCAL16 LOCAL_Alloc( HANDLE16 ds, UINT16 flags, WORD
size )
+{
+HANDLE16 oldDS = CURRENT_DS;
+HLOCAL16 ret;
+
+CURRENT_DS = ds;
+ret = LocalAlloc16 (flags, size);
+CURRENT_DS = oldDS;
+return ret;
+}
 
-extern HLOCAL16 LOCAL_Alloc( HANDLE16 ds, UINT16 flags, WORD size );
 extern HLOCAL16 LOCAL_ReAlloc( HANDLE16 ds, HLOCAL16 handle,
WORD size, UINT16 flags );
 extern HLOCAL16 LOCAL_Free( HANDLE16 ds, HLOCAL16 handle );
Index: dlls/kernel/kernel32.spec
===
RCS file: /var/cvs/wine/dlls/kernel/kernel32.spec,v
retrieving revision 1.148
diff -u -p -r1.148 kernel32.spec
--- dlls/kernel/kernel32.spec   10 May 2005 15:22:10 -  1.148
+++ dlls/kernel/kernel32.spec   10 May 2005 18:22:10 -
@@ -1167,7 +1167,6 @@
 # Wine dll separation hacks, these will go away, don't use them
 #
 @ cdecl DOSMEM_AllocSelector(long)
-@ cdecl LOCAL_Alloc(long long long)
 @ cdecl LOCAL_Compact(long long long)
 @ cdecl LOCAL_CountFree(long)
 @ cdecl LOCAL_Free(long long)
Index: dlls/kernel/local16.c
===
RCS file: /var/cvs/wine/dlls/kernel/local16.c,v
retrieving revision 1.10
diff -u -p -r1.10 local16.c
--- dlls/kernel/local16.c   24 Mar 2005 21:01:38 -  1.10
+++ dlls/kernel/local16.c   10 May 2005 17:56:15 -
@@ -1150,15 +1150,13 @@ HLOCAL16 LOCAL_Free( HANDLE16 ds, HLOCAL
 
 
 /***
- *   LOCAL_Alloc
- *
- * Implementation of LocalAlloc().
- *
+ *   LocalAlloc   (KERNEL.5)
  */
-HLOCAL16 LOCAL_Alloc( HANDLE16 ds, WORD flags, WORD size )
+HLOCAL16 WINAPI LocalAlloc16( UINT16 flags, WORD size )
 {
+HANDLE16 ds = CURRENT_DS;
+HLOCAL16 handle = 0;
 char *ptr;
-HLOCAL16 handle;
 
 TRACE(%04x %d ds=%04x\n, flags, size, ds );
 
@@ -1171,7 +1169,7 @@ HLOCAL16 LOCAL_Alloc( HANDLE16 ds, WORD 
if(size)
{
if (!(hmem = LOCAL_GetBlock( ds, size + MOVEABLE_PREFIX, flags )))
-   return 0;
+   goto exit;
 }
else /* We just need to allocate a discarded handle */
hmem = 0;
@@ -1180,7 +1178,7 @@ HLOCAL16 LOCAL_Alloc( HANDLE16 ds, WORD 
WARN(Couldn't get handle.\n);
if(hmem)
LOCAL_FreeArena( ds, ARENA_HEADER(hmem) );
-   return 0;
+   goto exit;
}
ptr = MapSL( MAKESEGPTR( ds, 0 ) );
plhe = (LOCALHANDLEENTRY *)(ptr + handle);
@@ -1199,10 +1197,11 @@ HLOCAL16 LOCAL_Alloc( HANDLE16 ds, WORD 
 }
 else /* FIXED */
 {
-   if(!size)
-   return 0;
-   handle = LOCAL_GetBlock( ds, size, flags );
+   if(size) handle = LOCAL_GetBlock( ds, size, flags );
 }
+
+exit:
+CURRENT_STACK16-ecx = handle;  /* must be returned in cx too */
 return handle;
 }
 
@@ -1595,17 +1594,6 @@ HLOCAL16 LOCAL_Handle( HANDLE16 ds, WORD
 
 
 /***
- *   LocalAlloc   (KERNEL.5)
- */
-HLOCAL16 WINAPI LocalAlloc16( UINT16 flags, WORD size )
-{
-HLOCAL16 ret = LOCAL_Alloc( CURRENT_DS, flags, size );
-CURRENT_STACK16-ecx = ret;  /* must be returned in cx too */
-return ret;
-}
-
-
-/***
  *   LocalReAlloc   (KERNEL.6)
  */
 HLOCAL16 WINAPI LocalReAlloc16( HLOCAL16 handle, WORD size, UINT16
flags )


-- 
Dimi