Since the current UniHelp 3 component utilizes REALbasic's built-in HTMLViewer control, it suffers from a long-standing Mac WebKit bug that, as of RB2008r2, is still not fixed. For those developers not familiar with this Mac-only issue (verified bug report "pfquijwi" in REAL's old Feedback System), in a nutshell:
When compiling with REALbasic 2006r4 and higher for Mac OS X, a Mac-only WebKit issue sometimes occurs where the HTMLViewer control occasionally displays a blank screen or incorrect rendering of HTML when the HTMLViewer has been resized via code. While this issue appeared random and inconsistent in the RB2007 releases, it appears to have gotten worse with the latest RB2008 releases, happening more often than not.
With this being the case, to our dismay, the current UniHelp 3 had become almost unusable in RB2008r2 on Mac OS X. Knowing that the WebKit bug in HTMLViewer is directly related to resizing the control via code, it was decided that in order to restore reliability to UniHelp, the only current workaround to this issue is to remove the ability to custom resize the UniHelp Viewer window via code. The end-user would still be able to resize the window manually, but the application developer would no longer be able to resize the UniHelp Viewer window via code with predefined settings. Instead, the UniHelp Viewer window will alway initially open at the default 700 pixels wide by 400 pixels tall. We feel this is a very small sacrifice to make in exchange for properly displayed HTML help pages in the HTMLViewer control.
We plan to release UniHelp 3.1 in the next few days. This new 3.1 release (which will be a free udpate for all registered UniHelp customers) will include this HTMLViewer workaround fix, as well as other enhancements for improved compatibility with RB2008r2.
NEWS UPDATE - MAY 20, 2008:Good News! We figured out a workaround solution to that REALbasic HTMLViewer Mac bug without having to sacrifice the custom window resizing feature! Since that bug only happens when the HTMLViewer control is resized via code before the window is shown/loaded, UniHelp's custom window resizing feature has been completely reworked to avoid this bug. The only minor side effect to this solution is that end-users will see the UniHelp window quickly resize itself after it is initially displayed.
Labels: developer, help author, help system, HTML, realbasic, XML