Big F7 Deal

Microsoft issued software updates on Thursdays in the small hours. Some years ago, they applied a security update containing a bug that broke a program that I was working on. The program used PowerPoint and MSGraph to display statistics. Our program used Function Key 7 (F7) to toggle between displaying counts vs. percentages. This can be used for showing vote counts or percentages of the votes for elections. It can also be used for budget numbers. It would be used to label pie charts and histograms.

Our customers who had the automatic Windows update feature turned on found the next morning that our F7 option did not work. They thought that our program had a bug, but the regression was caused by the Microsoft update. In Windows programming, when some data in the internal model changes, the display must be updated by calling the Invalidate function for one screen or NotifyAll for multiple document screens. Those functions set a flag so that when the program is about to sleep until the next event, it refreshes the display. There can be many updated fields but the screen should be updated once to prevent very busy flickering. That refresh was not being done anymore somewhere inside of MSGraph.

Our work-around in our F7 routine was to create a tiny rectangle and immediately delete it. The rectangle function refreshed the screen, hiding the bug. In the real world this is like sending another bowling ball down the return chute to push out a ball that is stuck.

The bug appeared in June. Microsoft wanted me to fill out a six-page form to justify fixing the bug until they realized it was their regression, not a new feature I wanted. They then said the bug would be fixed in the December update.

This was about the time of the passage of the Obama-Care law. You might recall Vice-President Joe Biden was caught on an open microphone saying to the President, “This is a big F7 deal.”