Code quality (was Re: comctl32: Fix invalid syntax)

Bang Jun-young junyoung at
Thu Feb 7 22:41:28 CST 2008

On 2/7/08, Michael Stefaniuc <mstefani at> wrote:
> Bang Jun-young wrote:
> > On 2/7/08, Alexandre Julliard <julliard at> wrote:
> >> "Bang Jun-young" <junyoung at> writes:
> >>
> >>> 18 hours passed, and it looks like Alexandre decided to ignore this...why?
> >>>
> >>> This fix is required for Wine to be built with VC2005/2008 (although
> >>> Alexandre doesn't seem to care about it).
> >> There's no need to count the hours, or to ask every day, especially not
> >> with a mail to wine-patches. I have lots of pending patches from my
> >> vacation, I'll get to it eventually, and if I don't you should resubmit
> >> it after a week has passed.
> >
> > That's because you wanted yourself to be the only committer in the
> > project. Why don't you give commit privilege to other Wine
> > contributors as well?
> Huh? Why would you need that?

Because I'm concerned with the code quality of Wine. When Alexandre
commits what he doesn't understand, it's a red sign to the project.
Months ago I posted a patch similar to this one to wine-patches, and
he committed it:

 typedef struct _OLEOBJECTVTBL {
-    void CALLBACK *(*QueryProtocol)(_LPOLEOBJECT,LPCOLESTR16);
+    void *         (CALLBACK *QueryProtocol)(_LPOLEOBJECT,LPCOLESTR16);

How did he know what the patch does from the same message "Fix invalid
syntax?" IIRC, he didn't tell anything about what he doesn't

In fact, this is a well known mistake many newbie Win32 developers
make (and fix in minutes). It shouldn't have been in the tree in the
first place if he actually have read the patch. There are a lot of
easily catchable bugs in the tree, for example, potential security
holes like buffer overrun, meaningless comparison of unsigned < 0 (or
> 0), misuse of BOOL vs. HRESULT, misuse of functions such as
strcasecmp(), use of non-portable syntax, etc. Most of them (if not
all) could be filtered out if he have read the patches carefully.

That's the main reason why Wine keeps crashing every time I give it a
try with my Windows apps. Since 1993, Wine has never gotten to the
point where everybody could rely on it for his daily work. It has as
awfully many bugs as Win95. I see something fundamentally wrong with
development process.

> Wine uses git, a distributed SCM. You are
> free to publish your own Wine tree without waiting for Alexandre.

99% of the world won't benefit from what I have done in my own local
repository. People usually don't have a much time to keep track of
repositories of hundreds of developers around the world. That's why
every open source project has the main repository even if developers
usually maintain their own repostories at home.

> People prefer to follow Alexandre's tree but nobody forces them to use it.

If is Alexandre's own property, this is something
fundametally wrong again.

More information about the wine-devel mailing list