WineHQ

World Wine News

All the news that fits, we print.

10/04/2002
by Brian Vincent
Issue: 138

XML source
More Issues...

This is the 138th release of the Wine's kernel cousin publication. Its main goal is to distribute widely what's going on around Wine (the Un*x Windows emulator).


This week, 172 posts consumed 538 K. There were 49 different contributors. 24 (48%) posted more than once. 26 (53%) posted last week too.

The top 5 posters of the week were:

  1. 30 posts in 75K by Alexandre Julliard
  2. 20 posts in 71K by Dimitrie O. Paun
  3. 16 posts in 35K by Sylvain Petreolle
  4. 11 posts in 65K by Greg Turner
  5. 9 posts in 41K by Dmitry Timoshkov

Mews: LindowsOS 2.0 Review 09/28/2002 Archive
News

I haven't written that much about Lindows.com lately. There hasn't been much linking LindowsOS to Wine, hence nothing to write about. But over at MSNBC.com there was a review of Lindows.com latest incarnation. For a measely $199 you can go to Walmart.com and pick up a Microtel PC loaded with LindowsOS 2.0. For AOL users there's a Netscape client that can use AOL email and instant messaging. Specifically mentioned in the article is a preview of the AOL 7.0 client available for download. It goes on to mention Wine and the ability to run MS Office. All in all a good summary of what the Lindows.com folks have been up to.

Posted to wine-devel was a link to a cool interview with David Mosberger, IA-64 guru. David talks about the Itanium platform, where it's going, and obstacles it faces. Towards the end of the interview the question comes up about performance with the current Itanium processor. David mentions that even apps that are running in IA-32 emulation mode work good enough for everyday use and specifically mentions running Taxcut with Wine.

If you're a fan of CodeWeavers' Wine you'll be interested to know they Preview 7 a couple of weeks ago.


DIB Engine (cont'd) 09/27/2002 Archive

A few months ago <kcref></kcref> I covered a small thread that alluded to TransGaming releasing a DIB engine to the Wine community. I also covered this back in March with a little better explanation of the whole thing <kcref></kcref>. While not really necessary for Wine to hit 1.0, a lot of people would love to see this added. Last Friday Ove K@#229;ven submitted a patch to wine-patches and announced:

Well, here is the DIB engine that a couple of people at TransGaming (mostly David Hammerton, I think) did some work on a while ago, I finally got around to review it and make sure it compiles against the current ReWind (though perhaps it needs a few tweaks to compile against Wine). It's not all that complete by any means, but we wanted to get it out there, so feel free to comment on it (or even apply it to Wine if it's good enough).

Gav State provided some more details:

Primary attribution should go to Jonathan Meunier, a co-op student who worked with us earlier this year. David Hammerton, Peter Hunniset, and I all assisted with it to one degree or another.

If there is any general interest in pursuing DIB Engine work, we would of course appreciate it if developers are willing to license their contributions to ReWind.

Ove seems to have forgotten to include the documentation, which includes some nice background on DIB issues in general, and should go into the documentation directory.

Gav's email contains a full description of the DIB engine, how it hooks into Wine, and exactly what it can and can't do. A list of features include:

  • Drawing of lines
  • Partial drawing of ellipses
  • Drawing of polygons (several of the implementations, such as Polygon, Polyline, etc)
  • Filling of polygons (including patterns)
  • Pattern blitting
  • ROP2 and ROP3 engines


That Darn $!$! 09/29/2002 Archive
Fixes

Guy Albertelli submitted a patch to Prevent Explorer.exe from renaming directories to !$!$... This is likely something a wine user has come across if they've used explorer.exe and likely a cause of frustration (that's why the Wine docs say not to run it.) Anyway, patching file.c to not allow it drew a bunch of complaints. Sylvain Petreolle noted that Windows allows such a naming convention, This name is absolutely correct and could be used by another program. I verified it : I created a file called !$!$.txt and a directory on my desktop under Windows NT.

So what is the proper solution? Andi Mohr felt the answer lay in the registry, Please research the exact names/content of certain registry keys instead that some people suspected to be necessary to prevent Explorer from setting the World on fire.

Rein Klazes recognized the problem and explained how to avoid it:

After removing such entries from system.reg:

    | [Software\\Microsoft\\Windows\\CurrentVersion\\RenameFiles\\ProgramFilesRen] 976188522
    | @="D:\\"
    | "!$!$!$!$.pfr"="Program Files,1"
    | "PROGRA~1"="!$!$!$!$.pfr"

it stops.


Anti-alias For Smaller Fonts 09/30/2002 Archive
Fixes

Dag Wieers posted one-liner that made working with Lotus Notes easier on the eyes:

I noticed recently that Wine was able to do anti-aliasing for font sizes >16 although my Gnome 2 looked nice with anti-aliasing of <16. I started to look why Wine apps were only anti-aliased for >16, and I came across this:

--- dlls/x11drv/xrender.c.orig 2002-09-29 12:56:27.000000000 +0200
+++ dlls/x11drv/xrender.c 2002-09-29 12:56:56.000000000 +0200
@@ -322,7 +322,7 @@
assert(entry->nrealized == 0);


- if(antialias && abs(plfsz->lf.lfHeight * plfsz->xform.eM22) > 16) {
+ if(antialias && abs(plfsz->lf.lfHeight * plfsz->xform.eM22) > 8) {

    pf.depth = 8;
    pf.direct.alphaMask = 0xff;
} else {

When I changed this, my Notes was much nicer to work with. I presume there is a reason why anti-aliasing was off, but I would reconsider that decision. You can look for yourself on these 2 screenshots:

Especially look at the widgets.


Remote Procedure Call Patch 10/01/2002 Archive
Patches Greg Turner submitted a patch filling in some stubs in the rpcrt4 DLL - the Microsoft remote procedure call run-time library. Ove Kåven said he had already done the same work and much more:

Implementations of these and much more can be found in this patch submission, which was apparently never applied: http://www.winehq.org/hypermail/wine-patches/2002/06/0103.html

You can probably try to extract what you need from that patch if you want more rpcrt4 stuff.

Juergen Schmied mentioned Alexandre hadn't applied the patch because of the changes necessary to the server component of Wine. However, he felt large portions of the patch could be safely applied. Alexandre clarified his position, As Juergen said, I think the server bits are a bit problematic, but even that could be applied as a short term hack if someone wants to work on the right implementation. The real problem is the size of the patch; but if you were to extract small self-contained patches that can be reviewed, tested, and applied independently from the others, then certainly most of that stuff could be merged.

Greg decided to take him up on it:

OK, howsabout I slowly merge these in by hand, feeding them to you in chunks, kind of like Dimitrie's recent storm of ListView patches, and doing a little testing of my own along the way?

Auditing the server stuff may be a problem for me since I really don't grok that aspect of the system yet; but I can defer that for last and maybe by then I'll have an idea of what The Right Thing To Do is.

The next day Greg began separating out parts and submitting patches.


Listview Changes 10/03/2002 Archive
Patches

The changes referenced above with regards to the listview control have been occurring over the last few weeks. Dimi Paun has submitted a bunch of patches and a bunch have been merged in. Dimi explained the changes:

Hi folks,

Here's a quick status update on the listview.

Currently, the listview goes through a major cleanup. It is required -- the file is huge (over 10000 lines when I started, now it's 9200 with more features!), and has accumulated a lot of cruft over the last few years. This is very normal for such a complex control as listview, and we need to prep the code to add more features.

At the same time, I go over the code, review it for correctness, fix bugs, and implement the missing functionality. While it may look I do mostly code reorganizations, this is not the case: a lot of corner bugs have been fixed, functionality has been enhanced, code has been cleaned up, and simplified. Due to the cleaner code base, we are in a better position to fix problem, and add features.

The downside of all this is that (1) old bugs, and missing functionality is exposed, (2) new bugs are introduced. On top of it all, two major efforts were happening simultaneously: Guy's ICON mode work, and mine. Guy did a wonderful job at fixing some of the issues in ICON mode, unfortunately my changes interacted with his in a nasty way.

So we have some problems. I am aware of some of them, and I'm working to fix them. But it will take some time, as I trying to fix a problem, I see some cleanup that needs doing _before_ I work on the bug itself.

Currently, I am aware of the following problems:

  • selection (clicking on items sometimes does not select them)
  • drawing (focus, background, etc.)
  • calculating item rectangles

If you are experience problems with the listview, I'd like to hear from you. If you want to help, some test cases will help quite a bit.

Ender reported, I've noticed a lot of regression problems since these patches started coming in.. for the last few days Listviews have been pretty much totally broken in most of the applications I frequently run under WINE - expecially IDA Pro (the Windows GUI version), which exibits at least two problems... the Names window doesn't show the description column text, and neither the Names or Strings window listboxes are clickable.. usually you'd double-click to jump to a position, but that is no longer working.

He gave a link to a demo program that was having problems.


All Kernel Cousin issues and summaries are copyright their original authors, and distributed under the terms of the
GNU General Public License, version 2.0.