[GSoC] Support of pluggable theming engines

Nikolay Sivov bunglehead at gmail.com
Sat Mar 26 12:40:44 CDT 2016


On 26.03.2016 20:24, Ivan Akulinchev wrote:
> Hi André!
> 
> Well, I didn't do exact calculations. But as I wrote, the theming
> support in comctl32.dll done wrong. As far I know, the authors are aware
> of this, but have no time or wish to fix it (just see their tests marked
> as todo_wine, all this tests done right).
> 
>> Is it currently needed for the gtk3 code in wine-staging?
> 
> Yep. Try to run winecfg, select any theme, launch any application. Find
> a themed button, push it and hold. See what's happend? There was a patch
> for fixing it [1], another one [can't find a link], but all this patches
> were not accepted, because the common problem lies above.
> 
> Now open notepad, click Help -> About, see what's happend? The whole
> dialog is not themed! I already tryed to locate this problem.
> shell32.dll called user32.dll, which created a dialog. But user32 has
> it's own controls and wasn't aware comctl32.dll has another. That's
> because the theming support in comctl32.dll done in the wrong way.
> 
> The whole theming support in comctl32 is a big hack. So I can write some
> hacks for hacks, but why? What should do the next guy, who decides to
> add some hacks for hacks for hacks? :-) It's a dead way...

If you're talking about comctl32 v6 separation, that's true, it's not
working right now. Getting it right could be a gsoc project on its own,
and the way to approach it has to be discussed beforehand. Theming
support is minor issue though comparing to missing new features for
Button for example, and likely for the rest of former user32 controls
too. Having properly implemented user controls is far more important
than having partially working gtk3 disguise, I agree with you, making it
work without hacks is a preferred way.

> 
> [1] https://www.winehq.org/pipermail/wine-patches/2015-August/141599.html
> 
> 26.03.16 15:47, André Hentschel wrote:
>> Hi Ivan, all,
>>
>> You say in your proposal that you want to start with rewriting 30% of comctl32.
>> Why so much?
>> Is it currently needed for the gtk3 code in wine-staging?
>>
> 
> 




More information about the wine-devel mailing list