Про черные иконки: По утверждению разработчиков Meta Trader-а, корень бед лежит в кривой реализации функции alphablend из mfc42.dll (точнее, наверное, в кривой интерпретации результатов работы этой функции в команды X-серверу). Поскольку есть только одна версия этой библиотеки, которая позволяет себя использовать легально и версия эта довольно устаревшая, то, используя ее, нужно выставлять эмуляцию win98. Если подкладывать более позднюю версию библиотеки, то наверное таких проблем не будет. Если иконки не отображаются вообще, то значит нужно лезть в xorg.conf Section "Screen" .... DefaultDepth 24 DefaultFbBpp 32 #!!! .... EndSection N.B.! На старых машинах (особенно с новыми мониторами большой дюймовости), 24 бита могут очень серьезно грузить видеокарту (а если она интегрированная, то и систему в целом), но меньше выставить не получится - работает только такое сочетание. Если получится наладить нормальный вывод на 16 битах, то это будет хороший подарок обладателям старых маломощных машинок. Важно! Если у вас и без этого всё нормально, то не надо эту опцию включать "про запас". Насколько я знаю, она снижает быстродействие видеокарты. И еще: на очень древних машинах (где видеокарты еще втыкаются в PCI), даже это может не помочь. Хотя, замечу, что те же машины, под виндой отображают все нормально, т.е. это глюки wine или X-сервера и кривые/урезанные драйверы видеокарт. Если возможно как-то автоматически решать эти проблемы (к примеру, определять версию mfc42 и принудительно выставлять параметры эмуляции для приложения) - было бы просто чудесно.
Created attachment 1466 [details] Иконки в МетаТрейдере обесцвечиваются.
"Апну" тему... На данный момент есть следующая статистика: 1) Максимальное число инсталляций без этого бага у меня получилось с эмуляцией win98 + 24 битный цвет в настройках X-ов. 2) При эмуляции winXP в навигаторе однозначно появляется черный фон у значков. 3) При 16-битном цвете иконки на панелях становятся бесцветными. Тоже практически везде. 4) На некоторых слабеньких интегрированных видеокартах не помогает ничего - значки панелей бесцветные или вовсе не видны, в Навигаторе либо черный фон, либо тоже никаких значков. 5) DefaultFbBpp 32 давно не использую, толку от неё никакого. 6) На wine Etersoft@Local mfc42.dll уже лежит, но проблемы это не решает. Наверное излишне говорить, что под виндой всё корректно работает на тех же самых машинах и с 16-битным цветом и с 24-битным...
"Апну" тему... На данный момент есть следующая статистика: 1) Максимальное число инсталляций без этого бага у меня получилось с эмуляцией win98 + 24 битный цвет в настройках X-ов. 2) При эмуляции winXP в навигаторе однозначно появляется черный фон у значков. 3) При 16-битном цвете иконки на панелях становятся бесцветными. Тоже практически везде. 4) На некоторых слабеньких интегрированных видеокартах не помогает ничего - значки панелей бесцветные или вовсе не видны, в Навигаторе либо черный фон, либо тоже никаких значков. 5) DefaultFbBpp 32 давно не использую, толку от неё никакого. 6) Тестировал на всех версиях wine. И ванильной и от Этерсофта и платный и бесплатный. Наверное излишне говорить, что под виндой всё корректно работает на тех же самых машинах и с 16-битным цветом и с 24-битным...
Илья, что мы тут можем сделать?
> Илья, что мы тут можем сделать? В оригинальном wine проблема с обесцвечиванием иконок решилась. Насколько знаю, благодаря реализации AlphaBlending. С черным фоном все не очень хорошо. Там у них не приавильно работает отрисовка масок в функциях DrawIcon.
Мы можем сделать хак для нашего eterhack, но к wine-public я бы его прикладывать не стал. Т.к. в оригинальном wine в последнее время эти функции достаточно часто меняются, причем в лучшую сторону. Можно еще потратить кучу времени на исследование проблемы и попробовать сделать корректный патч для winehq.
Больше не поручаем заданий bugs@.
Задача относится к релизу 2.1. , который больше не поддерживается. Аннулирую.