<?xml version="1.0" ?>
<kc>

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="213" date="05 Mar 2004 00:00:00 -0800" />
<intro> <p>This is the 213th issue of the Wine Weekly News publication.
Its main goal is to to save a ton of money on car insurance. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix.  Think of it as a Windows compatibility layer.  Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available.   You can find more info at <a href="http://www.winehq.org">www.winehq.org</a></p> </intro>
<stats posts="133" size="442" contrib="61" multiples="24" lastweek="22">

<person posts="21" size="50" who="Alexandre Julliard" />
<person posts="7" size="20" who="Hans Leidekker" />
<person posts="7" size="19" who="Robert Shearman" />
<person posts="6" size="15" who="Mike Hearn" />
<person posts="6" size="14" who="Dan Kegel" />
<person posts="4" size="20" who="Michael Pyne" />
<person posts="4" size="11" who="Troy Rollo" />
<person posts="4" size="11" who="Christian Costa" />
<person posts="6" size="16" who="Dimitrie O. Paun" />
<person posts="4" size="11" who="Francois Gouget" />
<person posts="3" size="81" who="Steven Edwards" />
<person posts="3" size="8" who="Eric Pouech" />
<person posts="3" size="6" who="Boaz Harrosh" />
<person posts="2" size="6" who="Yorick Hardy" />
<person posts="2" size="5" who="kscho" />
<person posts="2" size="5" who="Lionel Ulmer" />
<person posts="2" size="4" who="Jakob Eriksson" />
<person posts="2" size="4" who="Stefan Leichter" />
<person posts="2" size="4" who="Kirill Smelkov" />
<person posts="2" size="4" who="Chris Seaton" />
<person posts="2" size="4" who="Juan Lang" />
<person posts="2" size="4" who="Tom" />
<person posts="2" size="3" who="Ivan Leo Murray-Smith" />
<person posts="1" size="11" who="Peter Dennis Bartok" />
<person posts="1" size="10" who="wire" />
<person posts="1" size="5" who="Justin Chevrier" />
<person posts="1" size="4" who="saravanan" />
<person posts="1" size="3" who="(RadchenkoSG)" />
<person posts="1" size="3" who="Jesse Allen" />
<person posts="1" size="3" who="(chmorgan)" />
<person posts="1" size="3" who="Tom Williams" />
<person posts="1" size="3" who="Shachar Shemesh" />
<person posts="1" size="3" who="Ryan Underwood" />
<person posts="1" size="2" who="vishal wable" />
<person posts="1" size="2" who="Peter Birch" />
<person posts="1" size="2" who="Ross Clement" />
<person posts="1" size="2" who="Michael Guennewig" />
<person posts="1" size="2" who="Frederik Himpe" />
<person posts="1" size="2" who="Rein Klazes" />
<person posts="1" size="2" who="Fabian Cenedese" />
<person posts="1" size="2" who="Joel Konkle-Parker" />
<person posts="1" size="2" who="Guruprasad B. B." />
<person posts="1" size="2" who="Martin Fuchs" />
<person posts="1" size="2" who="Dmitry Timoshkov" />
<person posts="1" size="2" who="Christian Britz" />
<person posts="1" size="2" who="(wine)" />
<person posts="1" size="2" who="Pabs" />
<person posts="1" size="2" who="Marco Rodriguez M." />
<person posts="1" size="2" who="Gerald Pfeifer" />
<person posts="1" size="2" who="Miguel de Icaza" />
<person posts="1" size="2" who="Phil Krylov" />
<person posts="1" size="1" who="Andrew L. Bereson" />
<person posts="1" size="1" who="(tony_lambregts)" />
<person posts="1" size="1" who="Mike Kost" />
<person posts="1" size="1" who="Ove Kaaven" />
<person posts="1" size="1" who="Maurizio Monge" />
<person posts="1" size="1" who="Robert van Herk" />

</stats>
<section 
	title="News: Macromedia Port?, TransGaming Editorial" 
	subject="News"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/02/00.html" 
	posts="2"
	startdate="28 Feb 2004 00:00:00 -0800"
	enddate="05 Mar 2004 00:00:00 -0800"
>
<topic>News</topic>
<mention>Phil Krylov</mention>
<mention></mention>
<mention>Tom Wickline</mention>
<mention>Stefan Leichter</mention>
<mention>News</mention>
<mention>TransGaming</mention>

<p>
Heise broke some news about Macromedia porting some software
to Linux using Wine.  The 
<a href="http://www.heise.de/newsticker/meldung/45275">original</a>
article is in German, you may be interested in a Google
<a href="http://translate.google.com/translate?u=http%3A%2F%2Fwww.heise.de%2Fnewsticker%2Fmeldung%2F45275&amp;langpair=de%7Cen&amp;hl=en&amp;ie=UTF-8&amp;oe=UTF-8&amp;prev=%2Flanguage_tools">
translation</a>.  CNET had 
<a href="http://news.com.com/2100-7344_3-5170061.html?tag=st_lh">a
longer</a>  about that and other news in the Macromedia world.  </p><p> 
 Flash MX allows you to create Flash media
presentations.  While Flash plug-in support has been available
for a while under Linux, authoring software hasn't been.  (At
least, I don't know of any.. if I'm wrong I'm sure I'll be corrected.)
The article states that they're modifying their software to work with Wine, rather
than fixing Wine to run it.  I imagine they're more familiar with
their own codebase and that such modifications would be easier for them.
This may also be an opportunity to fix problems with their software.  
Either way, it would be really nice if they could contribute something
back.  (Here's a hint, knock-off an item on our
<a href="http://www.winehq.com/site/todo_lists">ToDo list</a>.  Extra
credit will be given for taking over anything currently assigned to 
Alexandre.)  Thanks to Stefan Leichter for the link and Phil Krylov for
commenting on it.
</p><p>
Speaking of the ToDo list.. let's take a count of how things are
progressing:
<ul><li>Green (completed): 	19</li>
    <li>Yellow (in progress):	30</li>
    <li>Red (not started):	18</li>
</ul></p>
<p>
So how does this compare to a few weeks ago when we looked at it?
At the time Green was losing to Red, 11 to 20.   Now it seems Green 
has pulled ahead.  Items "in progress" decreased from 31 to 30.   Of
course, we cheated by adding things to the list that had been completed.
</p><p>
Tom Wickline found an interesting 
<a href="http://curmudgeongamer.com/article.php?story=20030806192631961">editorial
about TransGaming</a>.  I think the author nicely summarizes some very
valid concerns.  Formulating an opinion is left as an exercise for the
reader.</p>

</section>
<section 
	title="Wine As A Shared Library &amp; Mono" 
	subject="RE: Wine as shared library patch"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/03/0074.html" 
	posts="5"
	startdate="04 Mar 2004 00:00:00 -0800"
>
<topic>Winelib</topic>
<topic>Integration</topic>
<mention></mention>
<mention>Mono</mention>

<p>
The Mono guys having been working at better integrating Wine into
their .Net implementation.  The idea here is that Wine is capable 
of doing all the complex windowing required of .NET's System.Windows.Forms
classes.  So it makes sense to bolt Wine's Win32 to C#.   Unfortunately,
Mono required a forked version of Wine in order to load things the way
they want.  This doesn't help anyone and the maintainance work is a pain.
(For more info, see some of the earlier threads in issues
<a href="http://www.winehq.org/site/?issue=162#.NET%20Success">#162</a> and
<a href="http://www.winehq.org/?issue=171#Making%20Mono's%20Winforms%20Work">
#171</a>.)
Peter Bartok posted <a href="http://www.winehq.com/hypermail/wine-patches/2004/03/0038.html">a
small patch</a> this week and explained a new process:</p>
<quote who="Peter Bartok"><p>
This patch allows to use Wine as a shared library. It will allow the 
Mono project to use Wine as the backend for it's System.Windows.Forms 
implementation.
</p><p>
ChangeLog:<ul>
    <li> Alters initialization code to return control to caller instead of 
executing application if __wine_shared_lib flag is set.</li>
    <li> Adds winelib executable (wine-sharedlib) that a consumer can use 
to initialize Wine as a shared library, to load Wine DLLs and to import 
functions from DLLs.</li></ul></p></quote>

<p>This is interesting because it's behavior that's often requested of
Wine.  Their addition is also nicely compartmentalized. Miguel de Icaza 
hoped it would get integrated,
<quote who="Miguel de Icaza">We are running some SWF applications now 
with Mono and this patch;  And we are fairly happy, since its a small
patch to maintain this time.  Of course, it would be best to make it
part of Wine, so the user does not need two separate Wine installations.
</quote></p>

<p>There appears to have been some private correspondance that took
place off the list about some of the details.  It may very well remain
a separate patch.</p>

</section>
<section 
	title="WinCE Apps &amp; Wine" 
	subject="WinCE application support for WINE and ReactOS"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/03/0072.html" 
	posts="1"
	startdate="04 Mar 2004 00:00:00 -0800"
>
<mention></mention>
<mention>Microsoft</mention>
<mention>ReactOS</mention>

<p>Steven Edwards looked into supporting WinCE apps with Wine.
Apparently things are in pretty good shape to support it.  He
outlined what he needed to do in order to set up a test
environment:</p>
<quote who="Steven Edwards"><p>
This is all very experimental. I am working on in the ReactOS tree and
it might not even work for larger apps but I am happy with the results
so far.
</p><p>
I was thinking the other day that ReactOS and WINE/Linux might get a
big boost if we can push support in the embedded enviroment so I
started taking a look at WinCE and Microsoft Embedded Visual C++ 4.0
.BTW: Its a free download now. 
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1dacdb3d-50d1-41b2-a107-fa75ae960856&amp;DisplayLang=en">
http://www.microsoft.com/downloads/details.aspx?FamilyID=1dacdb3d-50d1-41b2-a107-fa75ae960856&amp;DisplayLang=en</a>
</p><p>
I started looking at WinCE and thought it would be nice if we could be
source compatible with WinCE apps and binary compatbile on x86. Well it
seems that WinCE apps dont differ much from standard Win32 apps execpt
the subsystem ID is differnt. If you attempt to run a WinCE application
on Windows it will say that its not able to run. Ok no problem, we just
run "editbin /subsystem:windows blah.exe" and check it out. Now the app
is looking for coredll.dll. No problem there I have created a stub
coredll.dll that just forwards all calls to the proper Win32 dlls such
as user32, kernel32, etc.....
</p><p>
.....and check it out. My little messagebox test works on Windows. Ok
soon then I go and run the same test on ReactOS but this time I run a
copy of messagebox without changing the subsystem ID...Hey what do you
know. It works =). I talked with Alexandre about it a bit and he said
that WINE like ReactOS also shouldnt care about the subsystem ID so if
someone is interested in testing just drop the messagebox programs and
coredll.dll in to a directory and give it a shot.
</p><p>
I am having trouble getting more complex apps (hello world) to work atm
so I think i am just going to take a break and clear my head for a few
days. Some of the WinCE API and Win32 is not 100% compatible so we cant
just forward all parts to the Win32 implementation but I think we can
do it for most of it. If anyone is interested in helping out the source
is in the ROS CVS tree and attached to this email......
</p><p>
<a href="http://www.winehq.com/hypermail/wine-devel/2004/03/att-0073/02-binary.zip">binary.zip</a>
<ul>
<li>messagebox.exe - wince messagebox program</li>
<li>msgbox.exe - wince messagebox program with subsystem id changed to
	Windows.</li>
<li>wincehel.exe - Hello World WinCE app</li>
<li>wincehelw.exe - Hello World WinCE app with subsystem id changed to
Windows.</li>
<li>coredll.dll - WinCE Win32 API</li>
<li>commctl.dll - WInCE common controls API.</li></ul>
</p><p>
<a href="http://www.winehq.com/hypermail/wine-devel/2004/03/att-0073/01-source.zip">source.zip</a>
<ul>
<li>coredll - dummy forwarder dll</li>
<li>commctl - dummy stub dll for common controls</li></ul></p></quote>


</section>
<section 
	title="Using Borland's C++ Linker" 
	subject="Followup on Borland C++ 5.5"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/02/0082.html" 
	posts="1"
	startdate="05 Mar 2004 00:00:00 -0800"
>
<topic>Fixes</topic>
<mention></mention>

<p>Michael Pyne worked around a small problem that 
prevented him from usign Borland's linker:</p>
<quote who="Michael Pyne"><p>
If it helps, the patch that I was referred to a week or so ago regarding the 
linker for Borland C++ 5.5 hanging did work, after some modifications.  It is 
attached to this message.  Basically, I translated the VirtualAlloc() call 
into it's NtAllocateVirtualMemory() equivalent to solve the unresolved symbol 
errors, and just plain left out the check at the end of the function for the 
region size.  Hope that's OK.
</p><p>
Obviously this patch isn't suitable for inclusion into Wine proper since it 
seems to merely patch over a different problem.  I've recompiled Wine with 
full debug information and such, and if someone knows what I should look for 
or do, I'd be more than willing to provide debug output to nail down the 
error.
</p><p>
I've tracked down the infinite loop to NTDLL_wait_for_multiple_objects() in 
dlls/ntdll/sync.c.  For some reason, whatever the program is waiting on 
doesn't ever seem to occur (unless, of course, the above patch is 
applied?!?).
</p></quote>

</section></kc>
