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?