winex11.drv: Don't add owned windows to the taskbar

Alex Villací­s Lasso a_villacis at
Mon Mar 31 10:12:40 CDT 2008

Dmitry Timoshkov escribió:
> "Alex Villací­s Lasso" <a_villacis at> wrote:
>>> The problem with IDA is that the button you see in the Windows task bar
>>> does not belong to the main IDA window, it belongs to a zero sized visible
>>> window with the same caption. Since it's zero sized Wine doesn't map it all.
>>> So, while formally it's a regression, technically it's not: main IDA window
>>> has never been added to the task bar before my patch. This all can be easily
>>> discovered with spy++ and a simple test app.
>> This also affects many, if not all, VB6 applications (and possibly many
>> Delphi applications). Personally, I consider this a rather serious
>> regression and propose backing out of commit
>> cb3ff54789c652b02d852f40db71cafd9fd67ca9 as a fix.
>> BTW, this reminds me of bug 1598. If the explanation of the bug for IDA
>> above is correct, then the "buggy" behavior of not assigning
>> minimize/maximize buttons to the window that appears in the panel is
>> sort of consistent with this regression. Maybe the behavior should be
>> that visible windows owned by an invisible window should get mapped in
>> the panel.
> 1598 is closed as fixed, and I have no idea how missing minimize/maximize
> buttons are related to owned windows, and why you think that it's somehow
> related to the visibility of an owner.
> What you need to be fixed is making a zero sized window with WS_VISIBLE
> style set mapped, but X11/WMs doesn't handle that gracefully.
Bug 1598 (even if closed and fixed) is relevant because it was also 
triggered by having an invisible owner window, as my own analysis in 
comment #16 suggested. This bug (1598) also made the window button 
disappear from the taskbar, with the same application that now exhibited 
the regression.

I was just preparing a patch to fix this very issue over the weekend, 
but it seems Jacek Caban beat me to it. I am currently recompiling my 
tree to test the patch.

perl -e '$x=2.4;print sprintf("%.0f + %.0f = %.0f\n",$x,$x,$x+$x);'

More information about the wine-devel mailing list