<kc version="0.1.0">

<title>Wine Traffic</title>

<author contact="mailto:vinn@theshell.com">Brian Vincent</author>

<issue num="147" date="06 Dec 2002 00:00:00 -0800" />

<intro>
<p>This is the 147th release of the Wine's kernel cousin publication. It's
main goal is to distribute widely what's going on around Wine (the Un*x 
windows emulator).</p>
</intro>


<stats posts="190" size="739" contrib="57" multiples="25" lastweek="31">

<person posts="28" size="219" who="Dimitrie O. Paun" />
<person posts="20" size="46" who="Alexandre Julliard" />
<person posts="14" size="46" who="Francois Gouget" />
<person posts="10" size="26" who="Sylvain Petreolle" />
<person posts="10" size="25" who="David Laight" />
<person posts="8" size="23" who="Greg Turner" />
<person posts="8" size="17" who="Dan Kegel" />
<person posts="7" size="21" who="Uwe Bonnes" />
<person posts="7" size="23" who="Martin Wilck" />
<person posts="6" size="15" who="Jeff Smith" />
<person posts="5" size="19" who="Mike Hearn" />
<person posts="5" size="18" who="Shachar Shemesh" />
<person posts="5" size="39" who="Patrik Stridvall" />
<person posts="3" size="10" who="Rolf Kalbermatter" />
<person posts="3" size="9" who="Roderick Colenbrander" />
<person posts="3" size="9" who="(jaymz)" />
<person posts="3" size="9" who="Joerg Mayer" />
<person posts="3" size="6" who="Medland, Bill" />
<person posts="2" size="9" who="Justin" />
<person posts="2" size="7" who="Steve Lustbader" />
<person posts="2" size="7" who="J. Hoffmann" />
<person posts="2" size="6" who="Aric Stewart" />
<person posts="2" size="6" who="David D. Hagood" />
<person posts="2" size="4" who="Paul Millar" />
<person posts="2" size="4" who="Lionel Ulmer" />
<person posts="1" size="25" who="Michal Janusz Miroslaw" />
<person posts="1" size="5" who="(vkxzjq6lg)" />
<person posts="1" size="4" who="Shachar Shemesh" />
<person posts="1" size="3" who="Christian Costa" />
<person posts="1" size="3" who="Alberto Massari" />
<person posts="1" size="3" who="Ferenc Wagner" />
<person posts="1" size="3" who="Robotech_Master" />
<person posts="1" size="3" who="David Fraser" />
<person posts="1" size="3" who="Tony Lambregts" />
<person posts="1" size="3" who="Ender" />
<person posts="1" size="2" who="David" />
<person posts="1" size="2" who="John K. Hohm" />
<person posts="1" size="2" who="Z_God" />
<person posts="1" size="2" who="Robert North" />
<person posts="1" size="2" who="Dmitry Timoshkov" />
<person posts="1" size="2" who="Brian Vincent" />
<person posts="1" size="2" who="J C" />
<person posts="1" size="2" who="davep" />
<person posts="1" size="2" who="Hetz Ben-Hamo" />
<person posts="1" size="2" who="Marcus Meissner" />
<person posts="1" size="2" who="Hetz Ben Hamo" />
<person posts="1" size="2" who="Kjetil S. Matheussen" />
<person posts="1" size="2" who="Steven Edwards" />
<person posts="1" size="1" who="Robert Shearman" />
<person posts="1" size="1" who="Matthew Davison" />
<person posts="1" size="1" who="Dustin Navea" />
<person posts="1" size="1" who="Johan Gill" />

</stats>

<section 
	title="News: German Wine Site, iPod + Linux + Wine" 
	subject="News"
	archive="http://www.cs.duke.edu/~geha/ipod/" 
	posts="2" 
	startdate="30 Nov 2002 00:00:00 -0800"
	enddate="06 Dec 2002 00:00:00 -0800"
>
<topic>News</topic>
<mention>CodeWeavers</mention>
<mention></mention>
<mention>News</mention>

<p>Since it was a slow news week I decided to dig 
up whatever I could find.  So, I was kind of
surprised to find some interesting stuff.  First,
there's a German site called
<a href="http://www.linux-wine.de/">Lx-Wine2</a> by
Bernhard Suttner.  Sprechen sie deutsche?  Ich nicht.
Coincidentally, this page was also added to the 
<a href="http://www.winehq.com/community/">community</a>
part of WineHQ.</p>

<p>In the Geek News Dept, Ashish Gehani 
<a href="http://www.cs.duke.edu/~geha/ipod/">figured out</a>
another way to use his iPod
with Linux.  First, he started with a Windows iPod (if you
have a Mac one you can always 
<a href="http://www.blinkenlights.ch/cgi-bin/fm.pl?get=ipode">reformat</a>
it).  Then he got the Windows program 
<a href="http://www.ephpod.com/">EphPod</a> to work with Wine.
As a side note, he happened to be using CodeWeavers' Wine.
Check out the 
<a href="http://www.cs.duke.edu/~geha/ipod/ephpod_on_linux.jpg">
screenshot</a> of it running.</p>

</section><section 
	title="Screenshots Preview" 
	subject="Screenshots v0.1"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/12/0033.html" 
	posts="3" 
	startdate="01 Dec 2002 00:00:00 -0800"
	enddate="02 Dec 2002 00:00:00 -0800"
>
<topic>Documentation</topic>
<mention>Tony Lambregts</mention>
<mention>Mike Hearn</mention>
<mention></mention>
<mention>Ender</mention>
<mention>Rick Romero</mention>
<mention>Thomas Wickline</mention>
<mention>Carlos Lozano</mention>

<p>I announced the following:</p>
<quote who="Brian Vincent"><p>
I've gotten a lot of great screenshots over the past few weeks.  I've
put together a preview you can find here:
<ul><a href="http://www.theshell.com/~vinn/ss/preview.html">
    http://www.theshell.com/~vinn/ss/preview.html</a></ul></p>
<p>
Be warned, the format isn't the best, the thumbnails aren't even close
to optimized, I only looked at it in one browser, and it might even steal 
your lunch money.  
</p><p>
Random notes:
<ul>
<li> there's lots of great shots not on the thumbnails page - most likely 
there's a reason, not 800x600, didn't scale well, or I simply overlooked it</li>

<li> you can find all of the screenshots at:
	<ul>
	<a href="http://www.theshell.com/~vinn/ss">
    http://www.theshell.com/~vinn/ss</a>
	</ul></li>
<li> the images predominantly are PNG, though there are quite a few JPEGs. 
  No GIF.</li>

<li> Special thanks to:
	<ul>
	Thomas Wickline<br /> 
	Carlos Lozano<br />
	David Buchmann<br />
	Guido Grazioli<br />
	Ender<br />
	Juliusz Gonera<br />
	Michael Krasucki<br />
	Mike Hearn<br />
	Rick Romero<br />
	Robert Shade<br />
	Rory King<br />
	Tony Lambregts<br />
	tavis</ul>
</li></ul></p><p>
Okay, if you've read this far maybe you're expecting something to
prompt discussion.  One of the things you'll notice is there's a
lot of screenshots on there there almost certainly don't run out
of the box.  In some instances the folks above listed exactly what
they had to do to make it run.  Personally, I don't think it matters.
We already have the apps DB and the proposed "Gold/Silver/.." apps
list, I really don't think we need more than a link to one of those.
</p></quote>

<p>Dimi (in another thread) pretty much agreed and clarified:</p>
<quote who="Dimitrie Paun"><p>
we're going to have the Gold page, listing apps that you
can get going without any tricks. It's going to contain screenshots as
well, it's going to be self contained.
</p><p>
This page is a little different, there no point in putting the same
constraints on it as the Gold page. That being said, I fully agree
with you. So I think that we should:
<ul>
  <li> NOT include apps that crash or don't work reasonable well
    Just starting up enough to take a shot is not good enough</li>
  <li> NOT include apps that can not be tweaked into working with
    a reasonable enough of effort. Apps that _require_ cxoffice
    or WineX have no place on this page</li>
  <li> DO include a warning saying that the apps featured on this
    page may require teaks to get working. Each shot should have
    a link to the appropriate entry on the appdb that has up to
    date instructions on how to get the app working</li>
  <li> TRIM the list rather than have lots and lots of apps that
    may not work right, or have installation problems, etc.</li>
</ul>
</p></quote>
</section><section 
	title="Updated To Do List" 
	subject="Wine 0.9 TODO v0.6"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/12/0057.html" 
	posts="4" 
	startdate="02 Dec 2002 00:00:00 -0800"
>
<topic>Project Management</topic>
<mention></mention>

<p>Dimi Paun updated the to do list and announced:</p>
<quote who="Dimitrie Paun"><p>
 Version 0.6 of the TODO for Wine 0.9 is available at:
<ul><a href="http://www.dssd.ca/wine/Wine-0.9-TODO-0.6.html">
  http://www.dssd.ca/wine/Wine-0.9-TODO-0.6.html</a></ul></p>
<p>
 As always, you can find the work-in-progress one here:
<ul><a href="http://www.dssd.ca/wine/Wine-0.9-TODO.html">
  http://www.dssd.ca/wine/Wine-0.9-TODO.html</a></ul></p>
<p>
As a departure from previous release, this time I'm only going
to include a small summary of changes since the last release:
<ul>
  <li> A4: New screenshots page is available for comment</li>
  <li> A5: New FAQ is done, waiting to be promoted to WineHQ</li>
  <li> D2: Alexandre got rid of the rsrc directive in .spec files</li>
  <li> E4: Lionel made OpenGL detection dynamic</li>
  <li> E9: New TODO item for fixing header location as discussed on wine-devel</li>
</ul></p></quote>



</section><section 
	title="Janitorial Projects" 
	subject="Janitorial Projects"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/11/1577.html" 
	posts="17" 
	startdate="29 Nov 2002 00:00:00 -0800"	
	enddate="04 Dec 2002 00:00:00 -0800"
>
<topic>Project Management</topic>
<mention></mention>

<p>Dimi also wrote in with a list of cleanup projects that
could be done:</p>
<quote who="Dimitrie Paun"><p>
I have updated the Janitorial section:
<ul><a href="http://www.dssd.ca/wine/Wine-Janitorial.html">
  http://www.dssd.ca/wine/Wine-Janitorial.html</a></ul>
</p><p>
with the list of cross calls from 32->16, and W->A.
</p><p>
There are currently 13 cross calls from 32->16 bit code,
and 194 cross calls from Unicode to ASCII.
</p><p>
Any takers? :)
</p></quote>
<p>Rolf Kalbermatter looked into it and had a question:</p>
<quote who="Rolf Kalbermatter"><p>
I was just looking at shell32.dll and wondered if it should
implement A->U as it almost completely consistently implements
U->A. So I guess this should all be changed then. Problem is that
some of those functions call other functions where only the ANSI
version is implemented yet, so it is a lot more work than just
moving the implementation from the ANSI to the Unicode version.
</p><p>
But what the heck do the errors about AW functions calling Unicode
mean? Isn't that the actual idea about the AW functions?
</p></quote>

<p>Dimi replied, <quote who="Dimitrie Paun">
 Good catch. I've updated the list, there were 52 AW functions,
 which leaves us 142 cross calls to deal with... :)</quote>
</p>

<p>A few days later he updated the URL (which I changed above)
and noted the following:</p>
<quote who="Dimitrie Paun"><p>
 Please feel free to suggest new projects for the list.
 There are many things to cleanup in the tree, and having
 them available on an easy to read page increase the changes
 of (1) someone picking them up, and (2) us not forgeting them.
</p><p>
 So let me know if you come across anything that you feel should
 be on the list. Also, if you're working on something big, I can
 mark your name there so we can avoid duplicated work.
</p><p>
 Last but not least, there are a lot of small, self contained, 
 and easy to get into tasks listed there. If you feel like getting
 your feet a bit wet in Wine development, this is an ideal
 opportunity to start, and get to know the project a little better.
 Just ask for help if you are new, and would like some help to
 get you started.</p></quote>



</section><section 
	title="IWebBrowser Status" 
	subject="HTML Help and IWebBrowser status"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/12/0084.html" 
	posts="6" 
	startdate="03 Dec 2002 00:00:00 -0800"
>
<topic>Status Updates</topic>

<mention></mention>
<mention>Roderick Colenbrander</mention>

<p>You can find more info on this thread if you go back into past issues,
<kcref subject="Re: WebBrowser" startdate="18 Oct 2002 23:00:00 -0800" />.
And there was also a 
<a href="http://www.winehq.com/hypermail/wine-devel/2002/11/0765.html">recent 
thread</a> on wine-devel about a month ago.  </p>



<quote who="James Brown"><p>
	I'm just posting a quick update on my various WINE work for those
intrested.
</p><p>
I currently have a working HTML Help viewer, which seems to work pretty
well on everything I've tested so far. It does however need some more work
to conform to the way the real HTML Help system works in Windows (eg, I
havn't written an ActiveX control for it yet).
</p><p>
Currently the HTML Help viewer requires an IWebBrowser interface, and only
really works with an Internet Explorer installation - so I don't believe
it should be commited into WINE proper yet. We don't want applications in
our own CVS that require native dlls :)
</p><p>
That brings me to my other WIP, de-QT'ing KHTML and turning it into a
working browser implementation for WINE. So far this is actually coming
along quite well, and besides a few points it definatly makes an effective
browser and IE compatability seems to generally be good enough to keep the
majority of IWebBrowser using applications happy. I've since abandoned my
earlier hopes to keep the changes minor (in order to make it easier to
backport fixes from the main KDE cvs), simply because it was making the
code quite messy.
</p><p>
Hopefully I'll have some beta code ready in a week or two, depending on
how my free time goes.
</p><p>
I have a few questions however, mostly I'd like to hear from Alexandre
on whether he'll consider accepting this into CVS. A working IWebBrowser
implementation is, in my opinion, a must - and my HTML Help work does
require it - but there are a few points to consider:
</p><p><ul>
<li> It is C++. So far, all of WINEs dlls are plain C. Is this really a
rule, or just a result of the current areas of focus? I can't really
de-C++ khtml and co, but I'm unsure as to whether it's okay to add a
requirement for a working C++ compile environment on core dll's.</li>

<li> It is somewhat big, several megabytes of new code. Hopefully I can chop
it down after removing a lot of the unneeded KDE and QT code I currently
have #ifdef'ed and commented out.</li>
</ul></p></quote>

<p>Roderick Colenbrander asked why Mozilla wasn't being used.  Mike
Hearn gave a good list of reasons for KHTML:</p>
<quote who="Mike Hearn"><p><ul>

<li> Simple</li>
<li> No XPCOM dependancies</li>
<li> Could be more easily hacked to add IE compatability (and was more IE
compatible to start with)</li>
<li> Small, good for embedding, relatively fast (gecko embedding is huge)</li>
<li> Would be possible to include in the Wine CVS tree as opposed to Gecko
which is probably almost as big as Wine itself.</li>
</ul></p><p>
There are obviously some pros for Mozilla as well, but the things that
make Moz a good choice for a web browser don't apply so much to a good
replacement for the WebBrowser control.</p></quote>

<p>Joerg Mayer talked to the KDE folks and reported:</p>
<quote who="Joerg Mayer"><p>
I just told Dirk (one of the people putting quite a lot of time into kde)
about your work and he told be the following (translated from German):
<ul>"
 [Tell him about kdenox - which is basically a kdelibs replacement with limited
  functionality for khtml only]<br />
 [Then there is the Atheos port, which simply replaces the (few) used Qt classes
  by its own implemetation and is thus able to use an almost unmodified khtml tree]"
</ul></p></quote>


</section><section 
	title="Conformance Tests Need Help" 
	subject="The conformance tests need you!"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/11/1597.html" 
	posts="5" 
	startdate="29 Nov 2002 00:00:00 -0800"
	enddate="04 Dec 2002 00:00:00 -0800"
>
<topic>Testing</topic>
<mention>Martin Wilck</mention>
<mention></mention>

<p>Francois Gouget found something disturbing:</p>
<quote who="Francois Gouget"><p>
 I have been running the Wine conformance tests on Windows 95 and NT4.
 The results are pretty bad. 24 tests out of 32 have failures in one or
 more of these two platforms.
</p><p>
 That's 75% of 'Windows conformance tests' that don't work on Windows!
 Out of the 32 tests, only 4, that's 12.5%, execute successfully on all
 tested platforms (and one of them has 4 todos in Wine).
</p><p>
 You can see things more graphically at the following URL:
 <a href="http://fgouget.free.fr/wine/tests-en.shtml">
 http://fgouget.free.fr/wine/tests-en.shtml</a>
</p><p>
 Come on people, we can do better.
 Send fixes to wine-patches, and send me emails to so that I update this
 table.
</p></quote>

<p>He followed it up with a few patches for some of the offending
tests.  Martin Wilck jumped in with some updates for the Winsock
tests but mentioned he had a hard time figuring out how to even
compile the tests under Windows.   Francois then 
<a href="http://www.winehq.com/hypermail/wine-patches/2002/12/0034.html">updated</a> 
some of the testing documentation and described how to use the 
perl script "msvcmaker" in the tools directory to create Microsoft 
Visual C++ project files for the tests.  </p>
</section><section 
	title="Preserving DLL Separation" 
	subject="Dll separation question"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/12/0141.html" 
	posts="4" 
	startdate="04 Dec 2002 00:00:00 -0800"
	enddate="05 Dec 2002 00:00:00 -0800"
>
<topic>Documentation</topic>
<mention></mention>

<p>Martin Wilck asked:</p>
<quote who="Martin Wilck"><p>
can anybody point me to a resource saying what exactly I may or may not
do when writing code for a wine DLL? In particular, when writing code
for DLL X, which functions from other DLLs may I call? 
</p><p>
Example: When writing netapi32 code, can I call advai32 Registry
functions to obtain config options, or do I need to use the (IMO rather
awkward) ntdll interface ?
</p></quote>

<p>Alexandre sent a short reply,
<quote who="Alexandre Julliard">
 The rules are that you can only call exported functions, and that you
 can't add dll imports that would create a circular dependency. You can
 find the list of existing dependencies near the end of dlls/Makefile.in.
</quote>  And with regard to Martin's question about using advai32
functions, 
<quote who="Alexandre Julliard">
 netapi32 already imports advapi32, so you can freely use the registry
 functions from there.</quote></p>

<p>Martin put together a patch for the
<a href="http://cvs.winehq.com/cvsweb/wine/DEVELOPERS-HINTS?rev=1.14&amp;content-type=text/x-cvsweb-markup">
DEVELOPERS-HINTS</a> file with the following addition:</p>
<quote who="Martin Wilck"><p>
The rules to preserve Dll separation are
<ul>
<li> Do not call a non-exported function from a different Module/Dll.</li>
<li> When calling exported functions of another Dll, make sure the Dll
  you are working on imports that other Dll (look at the IMPORTS variable
  in the Dll's Makefile.in). DO NOT USE functions of non-imported Dlls.</li>
<li> In principle, it is legal to add more IMPORTS to a Dll, but you should
  have really good reasons to do so. You must make sure that the new imports do
  not cause a circular Dll dependency (we say if Dll A imports Dll B, 
  A depends on B). Dll Dependencies are specified in the individual
  Dll's Makefile.in through the IMPORTS variable, and in the file
  dlls/Makefile.in in the "Inter-Dll dependencies" section.</li>
</ul></p><p>
Dll separation is a goal of current Wine development, it is not achieved
yet. However, it is important that you adhere to these rules NOW, so that
clean Dll separation can be reached more easily later. 
</p></quote>
</section><section 
	title="Moving Wine Headers" 
	subject="[RFC] Wine headers"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/11/1556.html" 
	posts="5" 
	startdate="28 Nov 2002 00:00:00 -0800"
	enddate="29 Nov 2002 00:00:00 -0800"
>
<topic>Build Process</topic>
<mention></mention>

<p>Dimi Paun wanted everyone's thoughts about moving
the header files around:</p>
<quote who="Dimitrie Paun"><p>
Patrik brought up the header location sometime ago, in this thread:
<ul>
<a href="http://www.winehq.com/hypermail/wine-devel/2002/10/index.html#540">
  http://www.winehq.com/hypermail/wine-devel/2002/10/index.html#540</a>
</ul></p><p>
At the time, I thought it is a bit premature, that we have other
things to do. Now I realize that this is one of those highly visible
external things, that would be a _lot_ better to fix before people
start using Winelib. Otherwise will piss people off when we change,
or we will not change because people are already using the headers.
</p><p>
Both versions are not good, and I think we can fix them now without
too much pain.
</p><p>
Here is my proposal:
<ul>
  <tt>${prefix}/include/win32</tt>  -- standard Win32 headers<br />
  <tt>${prefix}/include/msvcrt</tt> -- MS Visual C Runtime library<br />
  <tt>${prefix}/include/wine</tt>   -- Wine specific headers
</ul></p><p>
It is simple (to understand &amp; implement), clean, and pretty.
And I think it solved Patrik's problem (even if I can't quite
understand what the problem is from the first message :)),
plus a bunch of other things (like making it easy to use other
headers for the Win32 API, etc). And best of all, it seems to 
be easily implementable, no?
</p></quote>
<p>As always with headers, it's important the include order won't
cause any conflicts.  Some discussion centered on making sure 
everything was ok.  Alexandre suggested a slight change:</p>
<quote who="Alexandre Julliard"><p>
I think everything should be under wine/ otherwise we risk conflicts
with other packages. So I'd suggest something like this:
<ul>
   <tt>${prefix}/include/wine/windows</tt>  -- standard Windows headers<br />
   <tt>${prefix}/include/wine/msvcrt</tt>   -- MS Visual C Runtime library<br />
   <tt>${prefix}/include/wine</tt>          -- Wine specific headers
</ul></p><p>
It means the Windows headers are a bit buried instead of being
directly under wine/, but it's not too bad. As long as you don't
change anything in the source tree I could be convinced to go along
with that...
</p></quote>

<p>A few days later Dimi submitted a patch.</p>

</section><section 
	title="Wine + Cygwin Update" 
	subject="Cygwin/wine : partial success"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/12/0133.html" 
	posts="1" 
	startdate="04 Dec 2002 00:00:00 -0800"
>
<topic>Status Updates</topic>
<mention></mention>

<p>
Sylvain Petreolle emailed wine-devel with a status
update on running cygwin under Wine.  For more info
on exactly what that means, check out Dimi's 
<a href="http://www.dssd.ca/wine/Wine-Fun.html">Fun Projects</a> page.</p>
<quote who="Sylvain Petreolle"><p>
 Making only one tweak to <tt>/etc/profile</tt>,
 cygwin manages to launch partially.
</p><p>

If you comment the line <tt>USER="`id -un`"</tt>, 
bash -l -i displays : (I placed "I'm here!" at the end of .bahrc)
<ul><code>
C&gt;bash -l -i<br />
I'm here!<br />

syl@snoop ~ <br />
$ logout<br />
C&gt;</code></ul>
</p><p>
 The next step will be identify the reason why it just logs out.
</p><p>

 I tried zsh but it says
 <tt>zsh: error on TTY read: permission denied</tt>
 and then I have no keyboard in wcmd.
</p><p>

 mc begin to display itself,then makes disappear the wcmd window, the
 program doesn't terminate. (??)
</p></quote>



</section><section 
	title="Self-Registering DLL's" 
	subject="Registering DLL's"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/12/0150.html" 
	posts="5" 
	startdate="04 Dec 2002 00:00:00 -0800"
>
<topic>Patches</topic>
<mention></mention>

<p>Jeff Smith had a question about making DLL's enter their
own registry entries:</p>
<quote who="Jeff Smith"><p>
I was looking at entry C.5 of the 0.9 Todo list:
"Make Wine's DLLs register themselves to avoid manual merging of the 
winedefault.reg [TODO]"
</p><p>
Upon first glance I figured the approach is to (not necissarily in
this order): add regsvr32.exe calls in the installation scripts,
fill in the DllRegisterServer (and DllUnregisterServer) sections of
the appropriate libraries, and remove those entries from
winedefault.reg.
</p><p>
About a dozen dll files have their names in winedefault.reg.  So I
checked the native versions of these files, and only half of them have
a DllRegisterServer function.  I did some further research and found
that perhaps DllInstall was what I needed.  Well, that only adds one
library, and two have *both* functions.
</p><p>
Does anyone have any better ideas on what the "Right Way" to tackle
this item is?  I am sure that adding external functions that do not
exist in native versions is *not* the way.
</p></quote>

<p>Alexandre replied,
<quote who="Alexandre Julliard">
 Part of it should be done with DllRegisterServer, the rest can be
 handled by the .inf script. And I think it's OK to add the necessary
 DllRegisterServer entry points even if the native dll doesn't have
 them.</quote></p>

<p>John Hohm had already started working on this and said
he would start submitting patches:</p>
<quote who="John Hohm"><p>
I'm glad you feel that way.  I created bug 1117, "Make all Wine OLE DLLs
self-registerable", and have been working on an implementation.  
</p><p>
What to do about DLLs like ole32.dll that have a native DllRegisterServer but no
corresponding DllUnregisterServer?  I'm inclined to include it for completeness,
though it's unlikely that anyone would ever want to unregister such a basic
system DLL.
</p><p>
I posted my idea for representing the registration data, accidentally from
"jhohm@happyhappy.dyndns.org" rather than my usual "jhohm@acm.org" (see
<a href="http://www.winehq.com/hypermail/wine-devel/2002/11/1409.html">
http://www.winehq.com/hypermail/wine-devel/2002/11/1409.html</a>), but I haven't
gotten any responses, not even "looks fine" or "you are a moron".  I guess I'll
just start submitting patches, then.
</p></quote>

<p>Alexandre thought a little cleanup was in order and suggested,
<quote who="Alexandre Julliard">
 I don't really like the ASCII
 description of the registry keys; I think it would be better to do it
 at a more symbolic level. For instance you shouldn't hardcode the
 ASCII form of the CLSID, you should have some kind of "register CLSID"
 function that takes a CLSID and uses StringFromCLSID or whatever to
 create the corresponding registry key.</quote></p>



</section><section 
	title="Configuring Wine" 
	subject="Registering DLL's"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/12/0150.html" 
	posts="2" 
	startdate="04 Dec 2002 00:00:00 -0800"
>
<topic>Project Management</topic>
<mention></mention>

<p>One item on
the to-do list is to merge configuration into the registry and
Dimi was curious what problems could be expected.  Alexandre 
explained, 
<quote who="Alexandre Julliard">
 it basically means making the Wine/Config branch into a
 normal registry branch. It's more a user interface issue, we need
 tools to edit it because you don't want to make users dig through
 system.reg manually.</quote></p>
<p>Dimi also had a question about handling new Wine installations.
The idea right now is to write a "wine.inf" script that handles the 
installation. He wanted to know if there was a facility for actually 
executing the script if one was written.  Alexandre thought most of 
it was in place,
<quote who="Alexandre Julliard">
 setupapi should support everything we need for that. The
 main missing feature is the user interface feedback on the install
 progress, but we can probably live without that at first.</quote></p>

<p>Jeff Smith provided some links to information describing the
process:</p>
<quote who="Jeff Smith"><p>
 For those interested, here are a couple of links relating to
 the 
<a href="http://msdn.microsoft.com/library/en-us/install/hh/install/create-inf_4l47.asp">
 INF file format</a> (1), and the 
<a href="http://msdn.microsoft.com/library/en-us/install/hh/install/create-inf_4l47.asp">SetupAPI</a>
(2).  I don't know
 how complete our implementation is, but it can be found under
 wine/dlls/setupapi.
</p></quote>



</section><section 
	title="Direct3D Test Programs" 
	subject=""
	archive="http://www.winehq.com/hypermail/wine-devel/2002/11/0.html" 
	posts="" 
	startdate="04 Nov 2002 00:00:00 -0800"
>
<topic>Testing</topic>
<mention></mention>
<mention>Christian Costa</mention>
<mention>Lionel Ulmer</mention>
<mention>TransGaming</mention>

<p>Lionel Ulmer and Christian Costa have been banging away at the 
LGPL'ed Wine's implementation of Direct3D (not to be confused with
the work done by TransGaming). Justin Chevrier had a tip for 
testing:</p>
<quote who="Justin Chevrier"><p>

I've been following the recent work on D3D and decided I would give a couple 
of benchmarks/demos I had around a go. Pleasantly I found that they actually 
start up now and display some stuff on screen! Before the recent patches they would 
fail completely when starting the actual D3D stuff. I'm not sure if you're aware 
of these programs or not but I figured I would pass on the URLs to you as 
they might be of help.
</p><p>
This first is a demo called Bleam:
<ul><a href="http://www.bluespoon.com/banjoh/">
 http://www.bluespoon.com/banjoh/</a></ul>
</p><p>
This page has a binary of the demo and source code as well.
</p><p>
The second is an older benchmark/demo called Tirtanium:
<ul><a href="http://www.tirtanium.de/prog3d.html">
 http://www.tirtanium.de/prog3d.html</a></ul>
The homepage doesnt seem to have the binary anymore so here's a direct link 
to a mirror:
<ul><a href="http://public.planetmirror.com/pub/3dfiles/tweakfiles/benchmark/tirta190.zip">
 http://public.planetmirror.com/pub/3dfiles/tweakfiles/benchmark/tirta190.zip</a></ul>
</p><p>
Both display stuff on screen and will run through to the end with no 
crashes.
</p><p>
PS. Great work guys!
</p></quote>




</section><section 
	title="Case of Guiness Offered for Working App" 
	subject="Partial success report: Toshiba 220CDS electronic manual"
	archive="http://www.winehq.com/hypermail/wine-devel/2002/11/1403.html" 
	posts="5" 
	startdate="26 Nov 2002 00:00:00 -0800"
	enddate="29 Nov 2002 00:00:00 -0800"
>
<mention></mention>

<p>Dan Kegel couldn't get an older program running right and
wrote in asking for some help:</p>
<quote who="Dan Kegel"><p>
<a href="http://cdgenp01.csd.toshiba.com/content/support/downloads/220guide.exe">
 http://cdgenp01.csd.toshiba.com/content/support/downloads/220guide.exe</a>
is an "online manual" for the Toshiba 220CDS laptop.
I unzipped it with Linux unzip, then ran its setup and
the app itself with Wine20020605-2 from Red Hat 8.
Both ran acceptably well, although I did get a few warnings
</p></quote>
<p>It was suggested he try a newer version of Wine.  (Which, by
the way, if you ever want help on wine-devel you might as well
start by using the latest and greatest
version.)  Anyway, he updated to a newer vintage and reported:</p>
<quote who="Dan Kegel"><p>
 OK, I tried the same app with a freshly compiled Wine20021125.
 The results are no better.
 The commandline to run the program is
<ul><tt>
    cd c/docs
    wine toshdoc.EXE</tt></ul>
</p><p>
 With either version of Wine, clicking around for a while
 locks the app up.  (e.g. clicking on the big red Right Arrow
 10-15 times locks it up).
</p><p>
 Plus the display artifacts (text being overwritten without being cleared)
 are still there.
</p><p>
 Wow, I'm really striking out running either the 16 bit or 32 bit version
 of this old app (see my other post today).
 Both are freely downloadable... I'd gladly buy
 a case of Guiness for anyone who contributed patches to the Wine
 tree that got either of these apps running cleanly.
 I sadly don't have time to do much more than test.
</p></quote>

<p>Dan did a little more digging and
<a href="http://www.winehq.com/hypermail/wine-devel/2002/11/1594.html">
wrote back</a> with what appeared to be a problem with mmioOpen.</p>




</section>
</kc>
