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

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="313" date="15 May 2006 00:00:00 -0800" />
<intro> <p>This is the 313th issue of the Wine Weekly News publication.
Its main goal is to sit on a lake in Montana. 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="381" size="793" contrib="104" multiples="64" lastweek="62">

<person posts="27" size="45" who="mike at plan99.net (Mike Hearn)" />
<person posts="25" size="26" who="dank at kegel.com (Dan Kegel)" />
<person posts="24" size="81" who="mike at codeweavers.com (Mike McCormack)" />
<person posts="13" size="15" who="julliard at winehq.org (Alexandre Julliard)" />
<person posts="11" size="24" who="segin2005 at gmail.com (Segin)" />
<person posts="10" size="22" who="rob at codeweavers.com (Robert Shearman)" />
<person posts="10" size="13" who="eric.pouech at wanadoo.fr (Eric Pouech)" />
<person posts="9" size="10" who="hverbeet at gmail.com (H. Verbeet)" />
<person posts="8" size="40" who="stefan at codeweavers.com (Stefan D&#246;singer)" />
<person posts="8" size="36" who="speeddymon at gmail.com (Tom Spear)" />
<person posts="8" size="9" who="wine-devel at kievinfo.com (Vitaliy Margolen)" />
<person posts="8" size="8" who="marcus at jet.franken.de (Marcus Meissner)" />
<person posts="8" size="8" who="dimi at lattica.com (Dimi Paun)" />
<person posts="8" size="8" who="ivg2 at cornell.edu (Ivan Gyurdiev)" />
<person posts="7" size="10" who="bon at elektron.ikp.physik.tu-darmstadt.de (Uwe Bonnes)" />
<person posts="7" size="9" who="jave27 at gmail.com (Jason Green)" />
<person posts="7" size="9" who="molle.bestefich at gmail.com (Molle Bestefich)" />
<person posts="7" size="8" who="dmitry at codeweavers.com (Dmitry Timoshkov)" />
<person posts="7" size="6" who="truiken at gmail.com (James Hawkins)" />
<person posts="6" size="9" who="andi at rhlx01.fht-esslingen.de (Andreas Mohr)" />
<person posts="6" size="6" who="bobl at optushome.com.au (Robert Lunnon)" />
<person posts="5" size="26" who="billmedland at mercuryspeed.com (Bill Medland)" />
<person posts="5" size="12" who="tom at dbservice.com (Tomas Carnecky)" />
<person posts="5" size="10" who="fgouget at free.fr (Francois Gouget)" />
<person posts="4" size="9" who="leslie.polzer at gmx.net" />
<person posts="4" size="5" who="infyquest at gmail.com (Vijay Kiran Kamuju)" />
<person posts="4" size="5" who="jacek at codeweavers.com (Jacek Caban)" />
<person posts="4" size="5" who="kuba at mareimbrium.org (Kuba Ober)" />
<person posts="4" size="4" who="scott at open-vote.org (Scott Ritchie)" />
<person posts="4" size="4" who="ns03ja at brocku.ca (Neil Skrypuch)" />
<person posts="3" size="43" who="adger44 at hotmail.com (Nick Burns)" />
<person posts="3" size="12" who="fenix at club-internet.fr (Raphael)" />
<person posts="3" size="11" who="madewokherd at gmail.com (Vincent Povirk)" />
<person posts="3" size="6" who="mikolaj at zalewski.pl (=?UTF-8?B?TWlrb8WCYWogWmFsZXdza2k=?=)" />
<person posts="3" size="4" who="qingdao33122 at yahoo.com (qingdoa daoo)" />
<person posts="3" size="4" who="markus.amsler at oribi.org (Markus Amsler)" />
<person posts="3" size="2" who="tony.lambregts at gmail.com (Tony Lambregts)" />
<person posts="3" size="2" who="blin at gmx.net (Kai Blin)" />
<person posts="3" size="2" who="h.davies1 at physics.ox.ac.uk (Huw Davies)" />
<person posts="3" size="2" who="saulius2 at ar.fi.lt (Saulius Krasuckas)" />
<person posts="2" size="12" who="n0dalus+wine at gmail.com (n0dalus)" />
<person posts="2" size="10" who="wino at jentronics.com (Ron Jensen)" />
<person posts="2" size="8" who="dclark at akamail.com (Duane Clark)" />
<person posts="2" size="5" who="roli8200 at yahoo.de (Roland Kaeser)" />
<person posts="2" size="5" who="wine at troy.rollo.name (Troy Rollo)" />
<person posts="2" size="5" who="blackcrack at blackysgate.de (blackcrack)" />
<person posts="2" size="4" who="ccn at ccntech.com (Chris Niederauer)" />
<person posts="2" size="4" who="mstefani at redhat.com (Michael Stefaniuc)" />
<person posts="2" size="4" who="marco.eminente at fastwebnet.it (Marco Eminente)" />
<person posts="2" size="4" who="wine.dev at web.de (Detlef Riekenberg)" />
<person posts="2" size="4" who="jwhite at codeweavers.com (Jeremy White)" />
<person posts="2" size="3" who="lionel.ulmer at free.fr (Lionel Ulmer)" />
<person posts="2" size="3" who="marcin.kardas at gmail.com (Marcin Kardas)" />
<person posts="2" size="3" who="alex at thehandofagony.com (=?UTF-8?B?IkFsZXhhbmRlciBOLiBTw7hybmVzIg==?=)" />
<person posts="2" size="2" who="Adam at luchjenbroers.com (Adam Luchjenbroers)" />
<person posts="2" size="2" who="xerox_xerox2000 at yahoo.co.uk (Louis Lenders)" />
<person posts="2" size="2" who="ivanleo at gmail.com" />
<person posts="2" size="2" who="ulrich.czekalla at utoronto.ca (Ulrich Czekalla)" />
<person posts="2" size="2" who="jan.wine at zerebecki.de (Jan Zerebecki)" />
<person posts="2" size="2" who="juan_lang at yahoo.com (Juan Lang)" />
<person posts="2" size="1" who="the3dfxdude at gmail.com (Jesse Allen)" />
<person posts="2" size="1" who="hans at it.vu.nl (Hans Leidekker)" />
<person posts="2" size="1" who="jorishuizer at planet.nl (Joris Huizer)" />
<person posts="2" size="0" who="indigoskywalker at gmail.com (Kevin Walker)" />
<person posts="1" size="12" who="andras at csevego.net (=?iso-8859-1?q?Kov=E1cs_Andr=E1s?=)" />
<person posts="1" size="9" who="susancragin at earthlink.net (Susan Cragin)" />
<person posts="1" size="7" who="reif at earthlink.net (Robert Reif)" />
<person posts="1" size="6" who="most at museresearch.com (Michael Ost)" />
<person posts="1" size="6" who="thom at nowhereatall.com (Thomas Hehl)" />
<person posts="1" size="6" who="bobbyg at gmx.net (Cihan Altinay)" />
<person posts="1" size="4" who="dj015 at yahoo.com (Damjan Jovanovic)" />
<person posts="1" size="3" who="stefandoesinger at gmx.at (Stefan D&#246;singer)" />
<person posts="1" size="3" who="stefan at codeweaves.com (Stefan D&#246;singer)" />
<person posts="1" size="3" who="judd.tracy at gmail.com (Judd Tracy)" />
<person posts="1" size="2" who="philcostin at hotmail.com (Phil Costin)" />
<person posts="1" size="2" who="rolf.kalbermatter at citeng.com (Rolf Kalbermatter)" />
<person posts="1" size="2" who="marcelotduarte at gmail.com (Marcelo Duarte)" />
<person posts="1" size="2" who="paul at astro.gla.ac.uk (Paul Millar)" />
<person posts="1" size="1" who="hbos at osso.nl (Herman Bos)" />
<person posts="1" size="1" who="jonathan at ernstfamily.ch (Jonathan Ernst)" />
<person posts="1" size="1" who="k04jg02 at kzoo.edu (Joseph Garvin)" />
<person posts="1" size="1" who="ckane at intellitree.com (Coleman Kane)" />
<person posts="1" size="1" who="a_villacis at palosanto.com (=?UTF-8?B?QWxleCBWaWxsYWPDrcKtcyBMYXNzbw==?=)" />
<person posts="1" size="1" who="vasvir at iit.demokritos.gr (Vassilis Virvilis)" />
<person posts="1" size="1" who="willie at zeitgeistmedia.net (Willie Sippel)" />
<person posts="1" size="1" who="thunderbird2k at gmx.net (Roderick Colenbrander)" />
<person posts="1" size="1" who="brian.vincent at gmail.com (Brian Vincent)" />
<person posts="1" size="1" who="jeffl at yless4u.com.au (Jeff Latimer)" />
<person posts="1" size="1" who="tkho at ucla.edu (Thomas Kho)" />
<person posts="1" size="1" who="marcko9 at hotmail.com (Marco Ortega)" />
<person posts="1" size="1" who="xerox_xerox2000 at yahoo.co.uk (Louis. Lenders)" />
<person posts="1" size="0" who="christian.gmeiner at students.fhv.at (Christian Gmeiner)" />
<person posts="1" size="0" who="johno at hellface.com (Johno Crawford)" />
<person posts="1" size="0" who="jan at zerebecki.de (Jan Z.)" />
<person posts="1" size="0" who="speeddymon at gmail.com (Tom Spear (Dustin Booker, Dustin Navea))" />
<person posts="1" size="0" who="nrsc16850 at blueyonder.co.uk (Andrew Neil Ramage)" />
<person posts="1" size="0" who="alleykat at gmail.com (Travis Watkins)" />
<person posts="1" size="0" who="ead1234 at hotmail.com (EA Durbin)" />
<person posts="1" size="0" who="winehacker at gmail.com (Steven Edwards)" />
<person posts="1" size="0" who="ethereal at centrum.cz" />
<person posts="1" size="0" who="sailaja.mulakaluri at host-technology.com (sailaja)" />
<person posts="1" size="0" who="gamemaker at tlen.pl" />
<person posts="1" size="0" who="marius.andreiana at gmail.com (Marius Andreiana)" />

</stats>
<section
        title="News: Wine 0.9.13"
        subject="News"
        archive="http://www.winehq.com/?announce=latest"
        posts="1"
        startdate="28 Apr 2006 00:00:00 -0800"
	enddate="15 May 2006 00:00:00 -0800"
>
<topic>News</topic>

<mention>CodeWeavers</mention>
<mention>Mike McCormack</mention>
<mention>Rob Shearman</mention>
<mention>News</mention>

<p>The past few weeks have been a little slow in the world of Wine.
Alexandre went on a 2 week vacation and no new patches were committed to
the main git repository.
Interestingly, in his abscence Mike McCormack began committing some of
the patches from wine-patches to his git repository and updated 
everyone on what it contained.  In this respect it allowed something
we've never had in Alexandre's abscence - a maintained patchset others
could access.  It seems to have paid off.  Upon Alexandre's return he
began updating the main tree and quickly released Wine 0.9.13.  Noted
additions included:</p>

<ul>
<li> GPhoto backend for TWAIN.</li>
<li> drive configuration using HAL.</li>
<li> gazillion Direct3D fixes.</li>
<li> TCP transport for RPC.</li>
</ul> 

<p>Go <a href="http://prdownloads.sourceforge.net/wine/wine-0.9.13.tar.bz2">download</a> it.</p>

<p>We haven't really talked much about the whole RPC/COM/OLE world lately.
Mostly because most of the work is being done by Rob Shearman and hasn't
generated much discussion on wine-devel.  (And that's mostly because there's
about a dozen people in the world who understand the nuances.)  Anyway,
the effort seems focused on CodeWeavers work to get Outlook 2003 to work
out of the box with Wine's DCOM.  As usual, there will likely be collateral
damage that gets other apps working better.  There's a small thread 
below illustrating that.</p>

<p>As far as WWN goes, expect a few more erratic updates as I'm traveling.</p>


</section>
<section
        title="GPhoto / TWAIN Integration"
        subject="PATCH: [0/4] Splitting TWAIN_32 and adding gphoto driver"
        archive="http://www.winehq.com/pipermail/wine-devel/2006-May/047325.html"
        posts="1"
        startdate="01 May 2006 00:00:00 -0800"
>
<topic>Integration</topic>

<p>We mentioned a few weeks ago Marcus Meissner had started working on
getting digital cameras to be usable in Wine as a TWAIN data source.  
Using gphoto, it should be possible to access images directly off the
camera using a Windows application.  There was a bit of discussion 
concerning how to organize everything and Marcus described the final
implementation:</p>
<quote who="Marcus Meissner"><p>


This series of patches splits up the sane specific parts of
twain_32 into the controller part (twain_32) and sane specific
driver part (sane.ds). It also implements a working gphoto
driver (gphoto.ds).
</p><p>
TWAIN itself has a concept of:
<ul>
<li> DSM / Data Source Manager ... A controller that manages
  the datasources and their lifetimes.
 <br /><br />
  This was and is still found in twain_32.dll

</li>
<li> DS / Data Source(s) ... A multitude of datasources, usually
  per camera / scanner drivers found in %windir%/TWAIN_32/ and
  subdirs.
 <br /><br />
  Up to now this was also in twain_32.dll, but this series
  splits it out.
</li></ul>
</p><p>
Drivers:
<ul>
<li> sane.ds: The old twain_32.dll sane code split off from twain_32.dll.</li>

<li> gphoto.ds: New gphoto importer code, originating from the old sane.ds
  as example.</li>
</ul>
</p><p>
Autodetection:
<ul>
<li> Autodetection has been moved from twain_32.dll to the drivers.
  <ul>
  <li> twain_32.dll itself is no longer dependend on libsane and actually
  has only minimal knowledge of sane and gphoto2 (the driver names ;)</li>
  </ul></li>
<li> Detection of multiple devices is in the DG_CONTROL/DAT_IDENTITY/MSG_GET
  calls of sane.ds and gphoto2.ds. A little hidden channel detects multiple
  scanners / cameras by calling above function multiple times.
</li></ul></p><p>
The code is ready for WINE inclusion (tm).
</p></quote>

<p>Three days later Marcus posted another patch with some minor changes.</p>

</section>
<section
        title="Dynamic Drive Configuration"
        subject="[0.9.13]Dynamic drive configuration using HAL?"
        archive="http://www.winehq.com/pipermail/wine-devel/2006-May/047560.html"
        posts="3"
        startdate="11 May 2006 00:00:00 -0800"
	enddate="12 May 2006 00:00:00 -0800"
>
<topic>Filesystems</topic>

<mention>Uwe Bonnes</mention>

<p>The latest Wine release had a note about dynamic drive configuration.
That led Uwe Bonnes to ask what it was all about since it was one of 
those little things Alexandre added without any explanation on wine-devel.
Mike Hearn replied first,
<quote who="Mike Hearn">

My guess from reading the code is that whilst Wine is running, any HAL
hotplug events will be magically handled correctly. For instance, run
Notepad, look at the file open dialog box. Close it, plug in a USB key,
and do File->Open again. You should see a drive letter corresponding to
the key.</quote></p>

<p>Alexandre explained it's a little more than that,
<quote who="Alexandre Julliard">
Yes, it's all magic. If you run winefile you should even see the new
drives appear and disappear as the devices are mounted/unmounted. Note
that it requires pretty recent versions of the kernel and of the HAL
libraries. There are a lot of broken setups out there, so if it
doesn't work for you it's not my fault ;-)</quote></p>

</section>
<section
        title="Mail / News Gateway &amp; Support Revamp"
        subject="Support section revamp`"
        archive="http://www.winehq.com/pipermail/wine-devel/2006-April/047135.html"
        posts="70"
>
<topic>WineHQ</topic>

<mention>WineHQ</mention>
<mention>Google</mention>
<mention>Marcus Meissner</mention>

<p>This little bit of news occurred a few weeks ago but I forgot to
report on it.  A long, long, long time ago the 
<a href="http://www.winehq.org/mailman/listinfo/wine-users">wine-users</a>
mailing list was a gateway to the 
<a href="http://groups.google.com/group/comp.emulators.ms-windows.wine">comp.emulators.ms-windows.wine</a> 
newsgroup.  When we switched to using mailman for the mailing list things
broke.  A lot of people were dismayed by that and both the mailing list
and the newsgroup suffered as a result.</p>
<p>Well, last month there was a <i>huge</i> discussion regarding adding
a web forum to WineHQ.  Frankly, everyone seemed to agree that we just
don't have the resources to support such a thing.  There was also a
huge argument regarding web forums in general.  Some people thought web
forums were annoying while others thought they're simply The Best Thing
In The World.  I'm not going to really cover that discussion since it
tended to ramble.  Part of that discussion also brought up the fact we've
done a poor job presenting support options available.  
Marcus Meissner came up with an acceptable solution for the forum part of it
and Jeremy White expanded on that with what eventually became reality:</p>
<quote who="Jeremy White"><p>
Okay, so I've followed this thread, and I have
a range of thoughts and what I think is a simple solution.
</p><p>
First of all, if disk space is an issue, it's easily
corrected with a $100 IDE drive.  I think the real
issue is that Jer doesn't like to work on half baked
ideas unless they're more fully baked or someone else
he trusts is cooking in the kitchen  :-/.
</p><p>
Second of all, it seems to me that the biggest problem
is simply one of presentation.  This is the relevant page:
  <ul><a href="http://www.winehq.org/site/forums">
  http://www.winehq.org/site/forums</a></ul>
</p><p>
The current information is really quite poorly presented.
There is way too much information; the useful bits
(the Gmane and Google links) are buried way to deep imho.
</p><p>
Third, I think the biggest problem is that there are 2 places
to go for help.  The wine-users mailing list, and the
legacy usenet newsgroup.
</p><p>
For a while, the two were connected, until the old gateway
we were using broke down, and Jer ripped his hair out trying
to make it work.
</p><p>
But time has passed, and now Mailman has a builtin news &lt;--&gt; mail
gateway system, and maybe we can reconnect them.
(I'll go discuss this with Jer; if I'm not heard from
ever again, it's because he beat me to a pulp with his
printout of the Mailman manuals &lt;grin&gt;).
</p><p>
But if we can reconnect them, then I think a nice solution would
be to retool that page so the Google interface pops out:
  <ul>
  <a href="http://groups.google.com/group/comp.emulators.ms-windows.wine">
  http://groups.google.com/group/comp.emulators.ms-windows.wine</a></ul>
</p><p>
That looks forumishy enough to me to satisfy many people,
and yet is nicely backwards compatible with all current
systems.
</p></quote>
 
<p>If you go to <a href="http://www.winehq.org">WineHQ</a> you'll notice
all of those changes have now been made.  Users of the newsgroup probably
noticed a large spike in traffic as a result.</p>

</section>
<section
        title="Testing Wine's Audio"
        subject="A great way for non programmers to help with Wine - Audio"
        archive="http://www.winehq.com/pipermail/wine-devel/2006-May/047461.html"
        posts="4"
        startdate="07 May 2006 00:00:00 -0800"
	enddate="09 May 2006 00:00:00 -0800"
>
<topic>Multimedia</topic>

<mention>CodeWeavers</mention>
<mention>Robert Reif</mention>
<mention>Google</mention>

<p>Jeremy White sent an email to wine-devel asking for help in
testing Wine's audio implementation.  This is great task for
non-programmers.  Given that there weren't any public replies,
it seems like help is still needed:</p>
<quote who="Jeremy White"><p>
I've taken the liberty of changing the subject of Robert Reif's
recent email and am expanding it a bit, because I don't want it
to be ignored.
</p><p>
The task is to perform a basic test of Wine's audio
support to make sure it's a stable platform for us to build upon;
what a great way for all you lurkers to help us out &lt;wicked grin&gt;.
</p><p>
The basic procedure is - get a current version of Wine,
test the sound, and send the results in.  It won't take long
(took me ~30 minutes), and it'll be very helpful.
</p><p>
More details:
<ul>
<li>  Checkout Wine from CVS or git</li>
<li> Figure out if you're using OSS, Alsa, or Alsa
    in OSS emulation mode (lsmod is your friend,
    and winecfg is quite nice as well)</li>
<li>Run the test:
<ul>
    <li><tt>cd dlls/winmm/tests</tt></li>
    <li><tt>WINETEST_INTERACTIVE=1 wine winmm_test.exe.so wave 2>&amp;1 | tee /tmp/wave.out</tt></li>
    <li><b><i>important:</i></b>
      As it runs, you should hear a nice steady set of soothing beeps,
      all at the same pitch and duration.  If you hear any variation
      from that, make a note of it, so you can report it.
      It's important to listen the whole way through; a tad boring,
      I know, but important; it'll shift to a virtual device half way
      through and it's important to hear if it keeps on working or not.</li>
</ul></li>
<li>Report your results:
    Pack up your output files, and report your results along
    with your sound driver info.  Failures are obviously the most
    interesting, but success on not previously validated hardware/driver
    combos are likely to be useful too.</li></ul>
</p><p>
Sound report:
<ul>
<li>  Kernel 2.6.13</li>
<li>  Sound driver:  snd_intel8x0</li>
<li>  Sound driver description from lspci:
    <ul><code>
    Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)</code></ul></li>
<li>  32 bit Debian system</li>
<li>  Alsa version 1.0.10-2</li>
<li>  Tested against Wine CVS up to date as of 5/7/06, 10:27
    (without Robert's last two patches :-/; folks might want to wait
    a hair until those are applied)</li></ul>
</p><p>
Results:
<ul>
  <li>Tested under winealsa, as well as wineoss with OSS emulation</li>
  <li>All sounds played flawlessly.  Alsa runs reported 0 failures.
  OSS runs reported 48 failures; not clear if that was relevant</li>
  <li>Only anomaly is that the modem driver is treated as an OSS
    sound card, and so has a number of flawed attempts to play
    against it</li>
  <li>Full log files of the runs attached.</li></ul>
</p></quote>

<p>Results can either be sent to wine-devel@winehq.org or perhaps even
to Jeremy directly (Google should provide his email at CodeWeavers.)
</p>
</section>
<section
        title="Rendering HTML"
        subject="shdocvw 2: Added [get|put]_Visible implementation."
        archive="http://www.winehq.com/pipermail/wine-devel/2006-May/047332.html"
        posts="3"
        startdate="01 May 2006 00:00:00 -0800"
>
<topic>Web/HTML</topic>

<mention>Microsoft</mention>
<mention>Dimi Paun</mention>

<p>There's been a huge effort over the past year and half to write our
own version of Internet Explorer.  Now, IE itself is really just a wrapper
around a couple of big libraries.  You might remember the big thing
several years ago when Microsoft "integrated" the browser with its
operating systems.  The value, they argued, is that other applications
could just use those API's to become web enabled.  Well, it happened
and it has been a problem for programs running under Wine that need
to access those API's.  It was somewhat stemmed by using the Mozilla
ActiveX control.  However, it's really necessary to have our own since
the ActiveX control has proven to be problematic.
</p><p>
Fortunately, there exists a wonderful HTML rendering engine in Mozilla.
So Jacek Caban took to the task of building out those API's using that
as the backend.  The real switch will come when our MSHTML library
switches over to the code he's been submitting.  That led Dimi Paun
to ask if it will be better than the current method.  Jacek replied:</p>
<quote who="Jacek Caban"><p>

Well, IMO it is better now, but it depends on criterion. Mozilla ActiveX
control has more functionality implemented, but their compatibility with
native WebBrowser is quite bad. They seem to believe MSDN... Everything
I wrote was tested and compared to windows version so our compatibility
should be quite good. Also we have the correct architecture while
Mozilla doesn't. For someone not interested in insides of those
libraries probably the more important thing is what and how works. After
the switch to our implementation bugs 3466 and 3515 will be fixed. In
both cases there are still some problems, but apps can run and view HTML.
</p><p>
If someone wants to test it, I've created a Wiki page about it:
<a href="http://wiki.winehq.org/ShDocVw">
http://wiki.winehq.org/ShDocVw</a>.
</p><p>
Because AFAIK there is much interest in Steam, I plan to do the switch
as follows:
<ul>
<li> Make Steam work perfectly (I mean its HTML part)</li>
<li> Do some testing and improvements to prevent regressions</li>
<li> Finally get rid of Mozilla ActiveX control dependency</li></ul>
</p><p>
But it will have to wait until I pass my exams...
</p></quote>

<p>If you follow Jacek's link you'll see the steps to perform to
test out the new code.  If you've tried to use the ActiveX control
in the past and it hasn't worked, you might want to try out the new
stuff.</p>

<p>If you're looking to hack on Wine and want a project, one possibility
would be to flesh out our IE program that was recently committed.  Currently
the iexplore.exe program is a simple window lacking the typical web 
browser controls.  Fleshing out the program would involve implementing
all the wonderful navigation features of a browser using the new API's.
</p>


</section>
<section
        title="ITypeInfo_fnInvoke"
        subject="Anyone actively working on ITypeInfo_fnInvoke and VariantChangeType?"
        archive="http://www.winehq.com/pipermail/wine-devel/2006-May/047355.html"
        posts="5"
        startdate="02 May 2006 00:00:00 -0800"
>
<topic>RPC / COM / OLE</topic>

<mention>Tony Lambregts</mention>
<mention>Alex Villacis Lasso</mention>

<p>More and more work on Wine's OLE / COM infrastructure has led to
a lot more programs working out of the box.  Bill Medland wrote in this
week with a specific question concerning a custom app:</p>
<quote who="Bill Medland"><p>
Anyone actively working on ITypeInfo_fnInvoke and VariantChangeType?
(before I start trying to get up to speed on it.)</p><p>
Congratulations.  My company's program now gets somewhere with 
the builtin ole dlls (thanks to fixes in the out-of-process COM) 
so I am interested in trying to get it to work completely with 
them (especially since the native ones no longer work)
</p><p>
What I have just fallen over is some VB that calls a method that 
results in 
<tt>ITypeInfo_fnInvoke failed to convert param 0 to VT_VARIANT|
VT_BYREF from VT_I2</tt>.
</p><p>
So I changed the VB and ended up with 
<tt>ITypeInfo_fnInvoke failed to convert param 0 to VT_VARIANT|
VT_BYREF from VT_VARIANT|VT_BYREF</tt>.
</p><p>
Now it seems to me that it ought at least to handle the second 
case, but that probably demonstrates that I don't know what I am 
talking about.
</p><p>
Anyway, if someone is already working on that sort of thing then 
there is probably little point in me trying to learn it all.  
However if no-one is then I guess I will start trying to learn 
it.
</p></quote>

<p>Tony Lambregts and Alex Villacis Lasso both replied that the bug
sounded exactly like one in Bugzilla, 
<a href="http://bugs.winehq.org/show_bug.cgi?id=4370">#4370</a>.  Rob
Shearman, Wine's resident COM guru, posted a patch and asked for feedback:</p>
<quote who="Rob Shearman"><p>

I had hoped others would continue development on typelib stuff, picking 
up from where I left off after the rewrite to use more of 
VariantChangeType, but unfortunately this isn't the case and I don't 
have enough time to work on this area too much. Fortunately, I don't 
think there are too many issues left to fix and already the new code in 
ITypeInfo::Invoke gets some programs working that wouldn't work with the 
old code.
</p><p>
Does this patch fix both issues for you?</p></quote> 

<p>Bill reported success and asked that Rob submit the patch for inclusion.
</p>

</section>
<section
        title="WaitCommEvent Deadlock"
        subject="[Wine] Wine + serial port basically hangs system"
        archive="http://www.winehq.com/pipermail/wine-devel/2006-May/047495.html"
        posts="5"
        startdate="09 May 2006 00:00:00 -0800"
	enddate="12 May 2006 00:00:00 -0800"
>
<topic>IO</topic>

<p>Uwe Bonnes brought up a problem with some code he wrote a while ago:</p>
<quote who="Uwe Bonnes"><p>


this is a thread from wine-users. I think further discussion of this issue
is better done on wine-devel. 
</p><p>
 In short, Dan Armbrust notices some application (heavy weather.exe)
accessing the serial port causing a high system load. As the application
uses WaitCommEvent, I fear that my implementation of WaitCommEvent is
inappropriate. In my last posting, I ask Dan to count the calls to
WaitcommEvent by counting the number of lines containing WaitCommEvent in a
relay log. His results are:
<ul><i>
     I let the app run for about 2 minutes, at the standard priority -
     basically until the system was about ready to take a dive :)
     <br /><br />
     Data was coming in to the program and being displayed before I
     killed it.
     <br /><br />
     The count on WaitCommEvent was 15051 - so I guess we would have
     7526 calls to WaitCommEvent in &lt; 2 minutes.  It probably took the
     first 30 seconds just to get the app up and running, so that was
     maybe 90 seconds of actually accessing the serial port.
</i></ul>
As Dan's machine is not a "big iron one", I guess these about 7500 thread
creation/termination in about 90 seconds could explain the high system load.
</p><p>
In the moment, my implementation of WaitCommEvent creates a thread in the
context of the running program for every call. Any ideas how to do it
better?
</p></quote>

<p>Eric Pouech suggested:</p>
<quote who="Eric Pouech"><p>
the preferred way is of course to do the wait operation in the server 
(or at least the trigger in the server, and the handling of the trigger 
can be done on client side)</p></quote>

<p>Uwe felt that was outside of what he could tackle, so for now there
may be an issue with apps that make a lot of calls to WaitCommEvent.
Ron Jensen then mentioned that there appeared to be a related bug that
crept in recently when some code was moved between kernel32 and ntdll.
Eric recognized the issue and submitted a patch.</p>

</section>
<section
        title="Linuxtag Attendance"
        subject="Linuxtag06/Wiesbaden/Germany"
        archive="http://www.winehq.com/pipermail/wine-devel/2006-May/047359.html"
        posts="1"
        startdate="02 May 2006 00:00:00 -0800"
>

<p>Uwe Bonnes let everyone know Wine would be represented at Linuxtag:
</p>
<quote who="Uwe Bonnes"><p>

Stefan Maunz, Micheal Jung and me will present Wine at
Linuxtag06 in Wiesbaden, Germany.
</p><p>
As a project we can send out invitations. If anybody is interested to
receive an invitation, please let me know.
</p></quote>

</section></kc>
