Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upProblems with Servo icon in Windows taskbar #16326
Comments
|
This may be improved/fixed by #11969. |
|
Huh, do we know why the release one is having problems? Also what are the steps to repro? I'll be putting the nightly through it's paces once the last two issues are resolved to see if it's ready to go live very soon, maybe as soon as tomorrow. |
|
I haven't found a consistent way to reproduce this issue yet. I can load the exact same build and get different results at different times. |
|
In my experience there is 2 ways to set up an icon in Windows. The first is to set it a build time. I am no expert but there I think it end in the IMAGE_RESOURCE_DIRECTORY_ENTRY region of the Portable Executable (PE) header of the exe file. The second method is to set it dynamically at run-time using the Windows API. Contrary to Firefox, it seems that Servo use the 2nd method. I can tell that because when looking in the explorer the exe file of Firefox has an icon while Servo has the default executable icon. From my experience in C# doing Winform app, the 1st method give cleaner result. I did the 2nd method once and while I had always the icon, there was some pixel aliasing issue. So, I guess there is some mip-mapping in the PE header allowing windows to display it nicely and when given an icon at run-time Windows would scale it on fly with poor result. TLDR: It would be better if the icon was embedded in the icon at build time instead of being loaded at runtime. |
|
I should maybe also note that the issue in the original post is in regards to the installer version of Servo. The standalone ZIP version does not load the icon at all. |
|
This was fixed in #20316. |
When running Servo in Windows 10 the taskbar icon does not always display properly. Sometimes it is displayed properly, sometimes it is displayed with graphical artifacts, and sometimes it does not load at all.
Example cases:
The Servo icon displayed properly.
The Servo icon displayed with graphical artifacts. I have seen two variations so far, one with black splotches in the image (pictured) and another that shows a black square in the middle of the icon image.
The Servo icon not being loaded at all.