Wine Traffic #275 For 5/20/2005

By Brian Vincent

Table Of Contents

Introduction

This is the 275th issue of the Wine Weekly News publication. Its main goal is to freeze. 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 www.winehq.org (http://www.winehq.org)

Mailing List Stats For This Week

We looked at 128 posts in 432K.

There were 47 different contributors. 24 posted more than once. 32 posted last week too.

The top posters of the week were:

1. French FAQ

5/18/2005 (1 post) Archive Link: "Translate the WineFAQ to French"

Topics: Documentation

People: Francois Gouget,�Dimitrie Paun,�codeweavers,�Eric Pouech

One of the reasons for moving the documentation to SourceForge was to enable a new framework to allow for easier translations. Dimi is currently maintaining the documentation CVS and integrating some patches from Francois Gouget for internationalization. Francois is using po4a (http://po4a.alioth.debian.org/) to help with this. One of the big advantages is being able to see just how much of a document has been translated or exactly how out of date it is. That framework seems to be in place now, so the actual translations can be done.

Of course, it leads to the question of just how much work needs to be done on Wine's docs. For example, we know the Winelib User Guide is horribly out of date, so translating it won't help much. The Wine User Guide is in decent shape, but will soon be out of date when we remove the config file. The actual Wine Developers Guide seems to be in great shape, especially with the recent contributions by Eric Pouech. Of all the docs, the FAQ is probably holding up the best. After the massive effort a few years ago to assemble it, there hasn't been very many changes. Francois sent in a patch this week with a French translation of it done by Romuald Vieux and Yvon Benoist:

I was away on vacation in the past few days which is why this got delayed a bit. But now that I'm back, here's a patch to translate the Wine FAQ to French using the new po4a/ directory. Note that the patch is pretty big : 136KB (not compressed). That's because that how big the FAQ translation is. Once this is in I will send patches to add a translation for the Wine User Guide and the WineLib User Guide.

Note that configure will need to be regenerated.

Changelog:

Dimi looked over the translation and the accompanying po4a framework that had been set up and remarked:

OK, I've applied the patch to make your life easier, but it needs a lot of work:

Let's fix these before we put in more translations. So, in reverse order:

2. Webcams & MSN Messenger

3/18/2005 (3 posts) Archive Link: "MSN Webcam"

Topics: Status Updates

People: Maarten Lankhorst

Maarten Lankhorst has continued spending a lot of time working on webcam support and getting a lot of related patches in. The goal of this is to get MSN Messenger to run. On Wednesday he gave a pointer to a document on the wiki he's been updating:

Status: Nearly complete, need testers.

You need the native quartz dll, which get installed with internet explorer, as the builtin quartz doesn't work properly when changing media format on initialisation. IFilterGraph Reconnect isn't implemented, and for some reason *looks strangely at Robert* instead of a FIXME() there's a TRACE telling it is a stub...

`

Maarten then took a closer look at the builtin quartz DLL and found some problems with it. It appears he was able to fix them and get it to work. That might mean you can skip the Internet Explorer installation, though perhaps there's another dependency on it.

3. Windows Problems

2/��/2005�Archive Link: http://www.winehq.com/hypermail/wine-devel/2005/02/0.html

Topics:

People: Jason Edmeades,�Alexandre Julliard,�Jason

This was a pretty slow week on the wine-devel mailing list. However, tons of patches arrived on wine-patches and Alexandre did a boatload of commits. I guess a lot of people had their heads down getting work done. One short thread about recent windowing problems did pop up. Jason Edmeades asked:

Ok, I need advice on this one...

I have been purely testing on windows, no wine involvement, to see what happens when I do various things.

My test program doesn't do anything in the WM_PAINT handler at all. This results in the machine sitting at 100% CPU processing WM_PAINT messages.

  1. Changing the WM_PAINT process to post another user message, results in alternating message posted and WM_PAINT messages, ie normal user message processing is occurring
  2. Posting a user message inside the user message handler, results in WM_PAINT being driven, followed by looping processing the user messages - ie WM_PAINT messages are not on the message queue
  3. RedrawWindow with update now jumps straight into the message routine with a WM_PAINT, but if we do nothing in that routine, it does indeed proceed to the line after the RedrawWindow call. Wine never leaves the updatenow processing because it loops until the whole region is validated.

I believe staying in the updatenow code in wine is incorrect. I think what happens is that when the message dispatch loop gets an empty queue and the window has an invalid region, then a WM_PAINT is returned.

So... Can we / I please remove the loop? :-))

What other tests can I do under windows to confirm the behaviour?

Alexandre had a pretty short answer, " Sure you can, you just need to figure out a way to do that without breaking something else ;-)"

Jason wondered how to go about testing this more:

Woohoo... Should be easy then!

>From forum updates it appears Notes, Unreal2, UT2003, UT2004, Empire Earth and MS Office 2003 for a start are all affected by this problem, and testing seems to confirm its wrong, so I would start by changing it with a patch and see what breaks, since we have no evidence anything will as far as I know.

But first I'll have a play under wine to compare my testing results with my suggested patch and see what breaks...

Unfortunately I cant really think of a 'test' I can add into the wine tests for this as most of the testing was under windows since wine just loops!

Alexandre suggested, " It only loops if the window procedure doesn't validate the window, so what you can do for instance is to have a window proc that does nothing the first 10 times around, and on the 11th call signals an error and validates the window to break the loop."

4. WineHQ Docs Update Needed

5/16/2005�-�5/17/2005 (5 posts) Archive Link: "[Fwd: Relationship between Wine and the proprietary versions.]"

Topics: Documentation

People: Brian Vincent,�Dimitrie Paun,�WineHQ,�Dimi Paun,�cvs

Dimi Paun forwarded an email asking for someone to make some changes to the FAQ. I decided to do it but quickly discovered the FAQ was one of the docs that got moved to SourceForge (see WWN #274 (http://www.winehq.com/?issue=274#Documentation%20Moved%20to%20SourceForge) for details.) I figured it was a good time to add a FAQ entry about how to update the FAQ as well. Now that those new entries were added, it led me to ask, " has WineHQ been updated to build the FAQ/docs from SF rather than WineHQ CVS? "

Dimi replied, " No, I haven't had time to rewrite those scripts. If someone is kind enough to help out on this one, I'd really appreciate it."

I asked him where the scripts lived since it's an area most people are probably unfamiliar with. He answered:

They are in the tools/ module in the WineHQ CVS:

Namely 'make_winehq' and 'wine_release'.

If you look at those scripts, you'll see make_winehq is the one responsible for updating the docs on the website. It looks like wine_release needs to run first though to create the directory referenced by make_winehq. If someone could spend some time updating those scripts we'd appreciate it.

5. More Wiki Additions

5/18/2005�-�5/19/2005 (8 posts) Archive Link: "Another debugging tutorial"

Topics: WineHQ

People: Mike Hearn,�Dimitrie Paun,�WineHQ

The Wine Wiki (http://wiki.winehq.org) has really taken off. Lots of people have added info over the past few weeks. A bunch of interesting docs appeared, many of which are working drafts of areas people are looking into. Check out the RecentChanges (http://wiki.winehq.org/RecentChanges) to see the activity going on. Mike Hearn posted another debugging doc and asked on wine-devel:

This time, it's how to debug PE Explorer hanging when you double click on a DLL in the file open dialog (fixed in CVS).

Newbie developers, I crave your feedback. Are these actually useful or am I wasting my time?

Mike Hearn also had some tips for anyone adding to the wiki:

Those Wine developers who haven't yet made a todo list, go do it! It's really informative to be able to see what people are working on (not to mention interesting) and this way we can help cut down on duplication of effort.

Dimi added to the list:

I'm glad people like the Wiki. It can become an amazing resource, but only if people contribute and take care of it. I think it's already on it's way of being a great development resource.

If you have any complaints, needs or wants, please don't hesitate to voice them -- I'd be more then happy to address them.

Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.