
Home windows 7 got here onto the market in 2009 and put Microsoft again on the highway to success after Home windows Vista’s annoying failures. However Home windows 7 was not with out its faults, as this curious story proves.
Some customers apparently encountered a vexing downside on the time: in the event that they set a single-color picture because the background, their Home windows 7 PC at all times took 30 seconds to start out the working system and change from the welcome display to the desktop.
In a latest weblog submit, Microsoft veteran Raymond Chen explains the precise purpose for this. Based on him, a easy programming error meant that customers needed to wait longer for the system in addition. After logging in, Home windows 7 first arrange the desktop piece by piece, i.e. the taskbar, the desktop window, icons for purposes, and even the background picture.
The system waited patiently for all parts to complete loading and obtained suggestions from every particular person part. Or, it switched from the welcome display to the desktop after 30 seconds if it didn’t obtain any suggestions.
The issue right here: The code for the message that the background picture is prepared was situated inside the background picture bitmap code, which implies that the message by no means appeared when you didn’t have an actual background picture bitmap. And a single shade isn’t such a bitmap.
The outcome: the logon system waited in useless for the message that the background has completed loading, so Home windows 7 by no means began till the 30 second fallback activated and despatched customers to the desktop.
The issue may additionally happen if customers had activated the “Cover desktop icons” group coverage. This was resulting from the truth that such insurance policies have been solely added after the principle code had been written and referred to as by an If assertion. Nonetheless, Home windows 7 was additionally unable to recognise this at first and due to this fact took longer to load.
Chen exhibits the next code snippet for instance as an instance the issue:
// Authentic code
InitialiseDesktopIcons()
{
bind to the desktop folder
enumerate the icons
add them to the display
Report(DesktopIconsReady);
}
// Up to date with group coverage assist
InitialiseDesktopIcons()
{
if (desktop icons allowed by coverage)
{
bind to the desktop folder
enumerate the icons
add them to the display
Report(DesktopIconsReady);
}
}
Unsolved for months
Based on Chen, it took a number of months for Microsoft to acknowledge the issue. In November 2009, it was then mounted by an replace and has not been an issue since, however is a pleasant anecdote for the varied errors that may happen throughout programming.
Additional studying: How a Janet Jackson tune crashed laptops for 9 years
This text initially appeared on our sister publication PC-WELT and was translated and localized from German.
