Inside SWT

Friday, February 23, 2007

What happens when you don't fix a critical bug?

For a while now, there were a number of problems in our OLE support. The worst was 49098. Some controls, such as Microsoft Word, wouldn't show scroll bars. I'm happy to say that this bug and a bunch more long standing OLE problems have been fixed.

What happens when you don't fix a critical bug? Smart people find work arounds. For example, IBM wrote the IBM Container for ActiveX Documents. By using the OLE support in MFC, they were able to work around the problem. Why didn't we do this? SWT doesn't use MFC for performance, memory and maintenance reasons. We couldn't throw out our existing code or the SWT OLE API. The fact that we had no idea what MFC was doing to fix the problem and no one could tell us cinched the deal.

Other people began to investigate and use DSOFramer, a Microsoft control that embeds Office documents. This wasn't ideal, but it did solve the sizing issues.

I'm not proud of these work arounds, but at least open source makes them possible. The design pattern that SWT uses is "just write the code" so people can see what we are doing and where we are doing it.

OLE's not dead yet ... but we can only hope.



Post a Comment

<< Home