C Set ++ Class Libraries Version 2.0 Fixes List ------------------------------------ ************************************************************************* * * * This CSD contains fixes that apply only to C/C++ Tools Version 2.0. * * Do not attempt to apply it to C Set++ version 2.1 or to C/C++ Tools * * Version 2.01. * * * ************************************************************************* ========================================================================= CTL0010 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0010 ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* QUAL-IMP UICL On a copy operation, there is no easy way to obtain addressibility to the copied object. ------------------------------------------------------------------------- QUAL-IMP UICL If an IInfoArea is removed as an extension of an IFrameWindow then during destruction of the IInfoArea, an exception will be thrown. ------------------------------------------------------------------------- UICL The INotebook::PageSettings constructors that accept tab text or a tab bitmap only check for the major tab style This should be a check for the major tab and minor tab styles. This bug causes minor tab pages to also have a major tab when run on Warp. ------------------------------------------------------------------------- QUAL-IMP UICL INotebook::setStatusText throws an exception under OS/2 Warp if the new status text is the same string as the current status text. ------------------------------------------------------------------------- QUAL-IMP UICL Button controls do not correctly pick up the parent background when placed on a canvas that is the client area for a frame window with a style of dialogBackground when running on Warp. ------------------------------------------------------------------------- QUAL-IMP UICL Frame handler doesn't consider disabled Close system menu item ------------------------------------------------------------------------- QUAL-IMP UICL Bad minimum size for IBitmapControl with no bitmap ------------------------------------------------------------------------- QUAL-IMP UICL Delayed file rendering does not work in drag/drop ------------------------------------------------------------------------- UICL Message file missing exception text. ------------------------------------------------------------------------- UICL Check/Establish PM environment for IMessageBox ------------------------------------------------------------------------- QUAL-IMP UICL Frame Extension Repaint problem ------------------------------------------------------------------------- UICL ISelectHandler incorrectly checking for CRA_SELECTED. ------------------------------------------------------------------------- QUAL-IMP UICL Passing a null IWindow* to IEvent ctor causes trap ------------------------------------------------------------------------- UICL IDDETopicServer traps when attempting to create more than once ------------------------------------------------------------------------- QUAL-IMP UICL Msgbox help conflicting with system menu help ------------------------------------------------------------------------- UICL Title text has garbage from IFrame(long text..) ------------------------------------------------------------------------- QUAL-IMP UICL IAcceletator with NULLHANDLE for owner doen't work. ------------------------------------------------------------------------- QUAL-IMP UICL Source emphasis incorrect after selecting from popup submenu. ------------------------------------------------------------------------- QUAL-IMP UICL Container problems on Warp ------------------------------------------------------------------------- QUAL-IMP UICL Color problems in canvases, notebook, system wide color changes. ------------------------------------------------------------------------- QUAL-IMP UICL Font problems - incorrect font used, incorrect attributes inherited, incorrect sizing of controls ------------------------------------------------------------------------- CTL0009 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0009 ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* QUAL-IMP UICL Error in IThread::defaultAutoInitPM results in dfltAutoInitPM unconditionally being set to IThread::inPMSession(). ------------------------------------------------------------------------- UICL ISpinButton::setValue does not work under WARP ------------------------------------------------------------------------- QUAL-IMP UICL WARP problem - no scroll bars on IViewPort ------------------------------------------------------------------------- QUAL-IMP UICL IEntryField ctor fails for spin button child on WARP CTL0008 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0008 ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* QUAL-IMP CCL Possible memory overlays and stack corruption when an exception is logged which contains text longer than 512 characters. ------------------------------------------------------------------------- ========================================================================= CTL0007 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0007 ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* QUAL-IMP UICL IFrameWindow::dismiss causes a trap if there is not an owner window and not modal. ------------------------------------------------------------------------- QUAL-IMP UICL IColor::value may not work properly if the user has modified the logical color table. ------------------------------------------------------------------------- QUAL-IMP UICL IMultiLineEdit::hasSelectedText doesn't detect a single selected character. ------------------------------------------------------------------------- QUAL-IMP UICL Improved link time for static link libraries. ------------------------------------------------------------------------- ========================================================================= CTL0006 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0006 ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* QUAL-IMP UICL IContainerControl::scroll and IContainerControl::scrollToObject do not work correctly in a non-split details view or in non-details view with details view columns inserted. ------------------------------------------------------------------------- QUAL-IMP UICL A canvas (1) without a child window that can accept the input focus, (2) with different parent and woner windows, and (3) either the client window of a frame or owned by another canvas could cause the system to hang. A common way to create this situation is to add an empty canvas to a view port. ------------------------------------------------------------------------- QUAL-IMP UICL Help for a notebook tab should be provided through the IPageHandler::help function. However, this function was never being called when the user pressed F1 when on a notebook tab. ------------------------------------------------------------------------- QUAL-IMP UICL IWindow::windowWithHandle was being called within a critical section. ------------------------------------------------------------------------- PJ14635 UICL Excessive Tracing closes PMPRINTF.EXE ------------------------------------------------------------------------- PJ14636 UICL Activation not returning to owner after modeless dialog is dismissed. ------------------------------------------------------------------------- PJ14638 UICL Turning trace off while in a member function causes stack overrun in trace formatter. ------------------------------------------------------------------------- QUAL-IMP UICL Memory leaks in IFont during IFont destruction. ------------------------------------------------------------------------- QUAL-IMP UICL IMultiLineEdit::hasSelectedText returns true erroneously. ------------------------------------------------------------------------- PJ14640 UICL The ICnrCtl::hwnd variable stored in IThread may be invalid. ------------------------------------------------------------------------- QUAL-IMP UICL Help, File Dialog, and Font Dialog don't work with the OS/2 Performance Beta. ------------------------------------------------------------------------- QUAL-IMP UICL IThread::messageQueue returns HMQ_CURRENT instead of the actual message queue handle for the thread. ------------------------------------------------------------------------- ========================================================================= CTL0005 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0005 ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* QUAL-IMP CCL Reduction of generated code size by changing internal macro expansions. ------------------------------------------------------------------------- QUAL-IMP CCL Suppress informational warning messages in Collection Classes via #pragma info usage. Made Collection Classes independant from /Sp1 option and #pragma pack usage via #pragma pack(4) usage in header files. ------------------------------------------------------------------------- QUAL-IMP CCL Support multiple includes of "isynonym.hpp" to get independant of include sequence. ------------------------------------------------------------------------- QUAL-IMP CCL Improved coding example "dskusage" by changing output sequence from forward to backward. ------------------------------------------------------------------------- QUAL-IMP CCL Improved comments in coding example "DSUR". ------------------------------------------------------------------------- QUAL-IMP CCL Adjusted expected output in example "WORDBAG". ------------------------------------------------------------------------- PJ13362 UICL IString::isLike failing on wildcard search Error encountered when pattern matching after * fixed. ------------------------------------------------------------------------- PJ13363 UICL IStaticText paints disabled text wrong The static text handler is incorrectly painting disabled text in the static text field. ------------------------------------------------------------------------- PJ13365 UICL No error message for IHelpWindow::addLibraries ------------------------------------------------------------------------- QUAL-IMP UICL IContainerObject::deleteRecord modified to fix memory Leak in the Container. ------------------------------------------------------------------------- QUAL-IMP UICL Cannot hide objects in the container ------------------------------------------------------------------------- QUAL-IMP UICL DDEClientConversation Hang on Shutdown ------------------------------------------------------------------------- QUAL-IMP UICL DDE uses critical sections incorrectly ========================================================================= CTL0004 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0004 ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* PJ12170 UICL Acknowledgement from remoteExecute handled incorrectly in DDE. ------------------------------------------------------------------------- QUAL-IMP UICL IFont class is missing operator=. ------------------------------------------------------------------------- QUAL-IMP UICL Memory for the window list is not being freed when a window is destroyed. A static member of IMenuHdr is being freed too soon. ------------------------------------------------------------------------- QUAL-IMP UICL IMultiLineEdit::importFromFile adds one too many bytes to the mle if the file length is not a multiple of 1024. ------------------------------------------------------------------------- QUAL-IMP CCL A number of functions in some header files are missing inline keywords. ------------------------------------------------------------------------- QUAL-IMP CCL The compare and hash functions in cannot be passed a pointer to a constant string. ========================================================================= CTL0003 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0003 ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* PJ11721 UICL IMenuHandler::menuEnded() was accessing memory that was no longer valid. ------------------------------------------------------------------------- QUAL-IMP UICL When creating a textCursor for a container in details view, the cursor does not work properly for all the text columns. ========================================================================= CTL0002 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0002 and later corrective service ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* PJ11045 UICL IStaticText::setColor() generates solid colors for the background when a pattern color is specified. ------------------------------------------------------------------------- PJ11046 UICL Application hangs occur intermittently with a multi-threaded application using IThread. ------------------------------------------------------------------------- PJ10748 UICL The layout algorithm in IMultiCellCanvas intermittently failed to allocate all available pels to the columns. ------------------------------------------------------------------------- PJ10750 UICL IListBox::itemText() and IComboBox::itemText() lose the last character of a DBCS string. ------------------------------------------------------------------------- PJ10751 UICL When a ISplitCanvas is sized very small, the columns are not allocated in their original proportions. ------------------------------------------------------------------------- PJ10825 UICL Using IHelpWindow::setHelpTable() to load a help table from a DLL results in an exception being thrown. ------------------------------------------------------------------------- QUAL-IMP UICL Closing an IFrameWindow using ALT-F4 can cause all windows to close and the application to end. ------------------------------------------------------------------------- QUAL-IMP UICL The container window is not being refreshed correctly by IContainerControl: addObjectAfter(). ------------------------------------------------------------------------- QUAL-IMP UICL Moving a leg of the tree in the tree view of IContainerControl to a new parent causes a trap. ------------------------------------------------------------------------- QUAL-IMP UICL Editing the container title with editContainerTitle() or a column heading in details view with editColumnTitle() causes an exception to be thrown. ------------------------------------------------------------------------- QUAL-IMP UICL The default push button on a frame extension of an IFrameWindow doesn't work correctly. ------------------------------------------------------------------------- QUAL-IMP UICL Unable to give an entry field on a canvas on a notebook page the focus. ------------------------------------------------------------------------- QUAL-IMP UICL IWindow: setAutoDestroyObject() doesn't work in certain scenarios. ------------------------------------------------------------------------- QUAL-IMP UICL DBCS translate results in a trap. ------------------------------------------------------------------------- QUAL-IMP UICL DBCS status area not displaying properly. ========================================================================= CTL0001 is informal Corrective Service. The following fixes are provided in Class Libraries CS CTL0001 and later corrective service ************************************************************************* FIX/APAR COMPONENT PROBLEM DESCRIPTION ************************************************************************* QUAL-IMP UICL IBitmapControl: Allows setText() to put text on IBitmapControls, independent of which constructor was used. ------------------------------------------------------------------------- QUAL-IMP UICL ICanvas: fixupChildren() Corrected the loss of the default push buttons, after a font is dropped on a canvas window. ------------------------------------------------------------------------- PJ09582 UICL IComboBox: locateText Changed default value for index to -1 instead, of 0. ------------------------------------------------------------------------- PJ09583 UICL IDate: isValid The overloaded version of this function that accepts year + day has been fixed. ------------------------------------------------------------------------- PJ09584 UICL IDDETopicServer: Changed to allow conversations with non-standard applications that do not correctly set MRESULT to TRUE when processing WM_DDE_INITIATEACK message. ------------------------------------------------------------------------- PJ09585 UICL IEntryField: enable() Fixed bug that causes a read-write entry field to be read-only if the disable() function is called on a disabled entry field. ------------------------------------------------------------------------- QUAL-IMP UICL IEntryField: color Fixed bug that caused the color of the background to be returned when querying the foreground color. ------------------------------------------------------------------------- PJ09586 UICL IFileDialogHandler: filter(), validate() A fix has been made so that a call to setResult() inside of filter() or validate() can be used to indicate whether the fileName is OK to process. Use setResult(false) if the file is not acceptable for further processing. ------------------------------------------------------------------------- PJ09587 UICL IFileDialogHandler: filterName(), validateName() There are new functions that were added as easier ways of filtering and validating. See IFILEHDR.HPP for complete details. ------------------------------------------------------------------------- PJ09588 UICL IHelpEvent: controlId() Fixed this function to return the correct control ID value. ------------------------------------------------------------------------- PJ09589 UICL IHelpHandler: dispatchHandlerEvent() This has been fixed to properly process the the HM_NOTIFY help notification. The following virtual functions were not being called properly: controlSelect(), showCoverage(), showPage(), swapPage(), showIndex(), showContents(), showHistory(), openLibrary(), showSearchList(). ------------------------------------------------------------------------- QUAL-IMP UICL IKeyboardEvent: scanCode() Corrected a check resulting in an erroneous assertion being thrown on key releases. ------------------------------------------------------------------------- QUAL-IMP UICL IMenu: setConditionalCascade() New function that allows you to make an exiting cascade submenu into a conditional cascade. It requires that the default item be specified. ------------------------------------------------------------------------- QUAL-IMP UICL IMenu: removeConditionalCascade() New function for undoing the effects of setConditionalCascade(). ------------------------------------------------------------------------- PJ09590 UICL IMessageBox: show() Fixed bug that caused an exception to be thrown when trying to show text loaded from a resource (.rc) file. The message text can be a message or string resource. Added description of styles generated by each severity and a description of the aHelpId argument. ------------------------------------------------------------------------- PJ09591 UICL IMessageBox: Fixed bug so that help is now displayed when the Help button is selected if a help window has been associated with the message box's owner. ------------------------------------------------------------------------- PJ09592 UICL IMultiLineEdit: setText() Removed the default value for bufferSize. This will remove the compiler ambiguity error. ------------------------------------------------------------------------- QUAL-IMP UICL ISlider: setTicks() Fixed bug that prevented ticks from being set on the slider scales except on the constructor. ------------------------------------------------------------------------- QUAL-IMP UICL ISlider: color() Fixed bug that caused the wrong color to be returned for the background of the slider. ------------------------------------------------------------------------- QUAL-IMP UICL ISpinButton: addAsLast() Fixed bug so that the item is added, previously the function did nothing. ------------------------------------------------------------------------- QUAL-IMP UICL ISpinButton: enable() Fixed bug that caused th entry field to be cleared, and an exception to be thrown for numeric spin buttons. ------------------------------------------------------------------------- QUAL-IMP UICL ISpinButton: replaceAt() Fixed a bug that caused the wrong item to be replaced. ------------------------------------------------------------------------- QUAL-IMP UICL ISpinButton: setToNext()/setToLast()/ setToFirst()/setToPrevious() Fixed bugs that prevented a subsequent spinTo() from working correctly, and intermittently caused setToFirst() to set the cursor to an item other than the first. ------------------------------------------------------------------------- QUAL-IMP UICL ISpinButton: setInputType() Fixed a bug that caused a 0 to be displayed when a numeric spin button was changed to alphanumeric. ------------------------------------------------------------------------- QUAL-IMP UICL ISplitCanvas: Dragging Split Bar Fixed a bug that caused the split bar to jump to a location other than where it was dropped This only occurred on the first drop of a split bar. ------------------------------------------------------------------------- PJ09593 UICL IString: d2x Fixed bug that resulted in 7FFFFFFF being returned when this function was applied to IStrings that held the ASCII representation of large unsigned numbers (for example, Ox81234567). ------------------------------------------------------------------------- PJ09594 UICL ISystemMenu: Destruction of underlying PM system menu. AN ISystemMenu object will no longer destroy the underlying PM system menu when the object goes out of scope or is otherwise deleted. You can now create an ISystemMenu on the stack. ------------------------------------------------------------------------- QUAL-IMP UICL Sample Program: DDE Client Fixed a bug that caused the program to ABEND under certain conditions. ------------------------------------------------------------------------- QUAL-IMP UICL Sample Program: Hello5 & Hello6 Corrected the spelling for the Extended help menu. =========================================================================