                   C Set ++ Class Libraries Version 2.1
                                 Fixes List
                   ------------------------------------
*************************************************************************
*                                                                       *
*  This CSD contains fixes that apply only to C/C++ Tools Version       *
*  2.01.  Do not attempt to apply it to C Set++ version 2.0 or to       *
*  C/C++ Tools Version 2.0.                                             *
*                                                                       *
*************************************************************************
=========================================================================
 
               CTM0010 is informal Corrective Service.
The following fixes are provided in Class Libraries CS CTM0010
*************************************************************************
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
-------------------------------------------------------------------------
 
*************************************************************************
               CTM0009 is informal Corrective Service.
The following fixes are provided in Class Libraries CS CTM0009
***********************************************************************
FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
*************************************************************************
 QUAL-IMP      UICL         Removing a tab section in INotebook asserts
                            the page is a tab.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Corrected an assertion in
                            IContainerColumn::dataAsIcon
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IFrameWindow::close traps if messagebox
                            showing.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Submenu undo records deleted incorrectly
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IString IMultiLineEdit::text(unsigned long
                            ILineNumber) const overwrites storage
-------------------------------------------------------------------------
 QUAL-IMP      UICL         WARP problem - no scroll bars on IViewPort
-------------------------------------------------------------------------
               UICL         Redisgned function, IDMSourceHandler::
                            resolveRMFConflict, so it will properly handle
                            multiple source renderers
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Check all functions in all controls where
                            they are comparing the results of an SendEvent
                            to a OS/2 #defined value for correct comparison.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The default push button when in a canvas loses
                            its default emphasis after tabbing out of it
-------------------------------------------------------------------------
 QUAL-IMP      UICL         When using a font to initialize the font
                            dialog, the font dialog will take the attributes
                            of the font instead of the settings for the
                            font dialog.
-------------------------------------------------------------------------
               UICL         ISpinButton::setValue does not work under WARP
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IEntryField ctor fails for spin button child
                            on WARP
-------------------------------------------------------------------------
*************************************************************************
               CTM0008 is informal Corrective Service.
The following fixes are provided in Class Libraries CS CTM0008
*************************************************************************
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.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Auto delete of popup menus can cause pm to
                            hang.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IDate::asCDATE transposes month and day.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IFrameWindow::dismiss can trap if there is
                            not an owner window.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Improved static link time from ctm0006
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Ownerdraw IContainerControl title not working
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Popup menus not always deleted timely.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IColor::value may not work properly if the
                            user has modified the logical color table.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Trap creating cascading menus.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Possible trap on delete of IDDETopicServer.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IDMHandler::setRenderer doesn't work.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IContainerObject::isDroponable is ignored by
                            IDMItemProvider::provideEnterSupport.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Make IContainerObject instances droponable
                            by default.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IMultiCellCanvas layout disturbed by clipped
                            columns.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         ICanvas- Expandable rows and columns expanded
                            too soon during layout.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IMultiCellCanvas doesn't expand all children
                            in a column.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The minimum size of a multi-cell canvas should
                            not include the width and heights of any
                            expanded rows or columns.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IWindow::windowWithId is quirky with primary
                            windows.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IHelpSubitemNotFoundEvent::inFrame is wrong.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IMultiLineEdit::hasSelectedText doesn't detect
                            a single selected character.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Split ISpinButton into separate text and
                            numeric controls.
-------------------------------------------------------------------------
*************************************************************************
               CTM0007 was skipped does not exist.
*************************************************************************
*************************************************************************
               CTM0006 is informal Corrective Service.
The following fixes are provided in Class Libraries CS CTM0006
*************************************************************************
FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
*************************************************************************
 QUAL-IMP      UICL         Tabbing to and from an IGraphicPushButton on
                            on a canvas causes it to lose it's graphic.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The IFrameWindow constructor that wrappers an
                            existing PM frame window was not calling
                            setAutoDestroyWindow(false).
-------------------------------------------------------------------------
 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         ICnrMenuHandler does not always indicate the
                            the correct source of the popup menu.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Bogus exception from IMenu::cursor when the
                            menu contains separators.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IInfoArea goes blank with cascaded menus.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IListBox::add not throwing an exception
                            when the listbox is full.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IGroupBox::calcMinimumSize doesn't account
                            for the border.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IContainerControl vertical scrollbar is
                            disabled at times when it should be enabled.
-------------------------------------------------------------------------
               UICL         Variability in number of pixels among windows
                            of the same percentage in a split canvas.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IWindow::windowWithHandle was being called
                            within a critical section.
-------------------------------------------------------------------------
 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.
-------------------------------------------------------------------------
 PJ14628       UICL         IMultiCellCanvas could not distinguish
                            between whether a row or column had been
                            assigned a height or width of 0 (for example,
                            to visually delete it), or whether it had
                            been assiged no height or width.  It used the
                            default cell height and width in both cases.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         If I_NO_INLINES is declared then the size_t
                            datatype is undefined.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Reference to non existing function in
                            itrace.hpp removed.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         setIcon uses caching when loading an icon
                            and this causes PM to potentially destroy the
                            icon while it is still being used.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IFrameWindow::setClient(0) causes a trap.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The width of entry fields and spin buttons
                            on a multi-cell or set canvas is too narrow
                            for small text limits.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IFrameWindow::color(background) does not
                            consider the dialog background.  If no color
                            was set it always returns the system window
                            color.
-------------------------------------------------------------------------
 PJ14632       UICL         System hang when using a frame window as a
                            notebook page that doesn't have the notebook
                            as its parent window.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IThread::setPriority sets priority class but
                            not priority level.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Accelerator causes an IMenuHandler::menuEnded
                            and thus an extra unwanted repaint.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IFrameWindow constructor fails when using
                            using default size and all previous frame
                            windows have been removed from the task list.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The entry field and spin arrow components of
                            a spin button were not correctly resized and
                            repositioned when the size of an ISpinButton
                            was changed.
-------------------------------------------------------------------------
 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         Container popups do not get generated from
                            the keyboard when container is on a canvas.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IMenuHandler::menuEnded should by default
                            return true.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Primary window not restorable from the Task
                            List when minimized with a secondary window.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The event result assigned by an override of
                            the IHelpHandler::subitemNotFound function
                            was always ignored, which caused the extended
                            help panel for the window to always be
                            displayed.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The functions IHelpSubitemNotFoundEvent::topicId
                            and IHelpSubitemNotFoundEvent::subtopicId did
                            not return the correct values.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The default implementation of many of the
                            virtual functions of the IHelpHandler class
                            did not allow more than one of these handers
                            to be attached to the same window.  Only the
                            last help handler attached to a window would
                            be called.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         When constructing an IHelpWindow using an
                            IHelpWindow::Settings object, the "Help"
                            pull-down menu of the help window would
                            always show a "Tutorial" choice, even if no
                            tutorial name were specified in the settings
                            object.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IMultiLineEdit::hasSelectedText returns true
                            erroneously.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Background enumeration missing from
                            IListBox::ColorArea.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Container control drag/drop help is not
                            working.
-------------------------------------------------------------------------
 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.
-------------------------------------------------------------------------
 PJ14639       UICL         Custom image not working for drag object.
-------------------------------------------------------------------------
 PJ14640       UICL         The ICnrCtl::hwnd variable stored in IThread
                            may be invalid.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IGUIColor::setColor doesn't work.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Help, File Dialog, and Font Dialog don't work
                            with the OS/2 Performance Beta.
-------------------------------------------------------------------------
=========================================================================
               CTM0005 is informal Corrective Service.
The following fixes are provided in Class Libraries CS CTM0005
*************************************************************************
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
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Compiling all hpps with /Wall /Wgnr- /Wvft-
                            results warnings. Customers on compuserve
                            have requested that they be eliminated
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Trap in ITextControl::displaySize when
                            passed a null string.
                            text() returned IString is out of scope
                            before member function completes.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IMultiLineEdit::selectedTextLength text
                            length is off by one character.
                            Also hasSelectedText returns the wrong value
                            when 1 character is selected.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         The IScrollEvent constructor traps if
                            no IWindow* can be found for the window
                            originating the scroll message.  This occurs
                            when creating a PM scroll bar window without
                            the IScrollBar class and an IScrollHandler
                            is attached to its owner window.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Tabbing from the last control in a canvas or
                            back-tabbing from the first control in a
                            canvas can cause the machine to hang.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Changing the icon of a container object
                            refreshes the whole container and not only
                            the object which icon was changed. Also,
                            calling IContainerObject::setIconText while
                            the IContainerControls refresh is OFF does a
                            refresh.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Opening a popup menu on selected container
                            objects and dismissing this popup menu
                            refreshes the container ONCE for each
                            selected container object.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         DDE clean up of compares to false enum
-------------------------------------------------------------------------
 QUAL-IMP      UICL         When the DrawFlag on
                            IListBoxDrawItemHandler::draw() is set to
                            drewSelected, PM will no longer try to draw
                            the selection highlight.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IViewPort logical size constrained by PM
                            scroll bar limits.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IMultiCellCanvas does not paint with the
                            color passed to setColor().
=========================================================================
               CTM0004 is informal Corrective Service.
The following fixes are provided in Class Libraries CS CTM0004
*************************************************************************
FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
*************************************************************************
 PJ12170       UICL         Acknowledgement from remoteExecute handled
                            incorrectly in DDE.
-------------------------------------------------------------------------
 PJ12171       UICL         IDM::rfObject is missing from rendering
                            format constants and needs to be added.
-------------------------------------------------------------------------
 PJ12172       UICL         After bringing up a window from a popup menu
                            from a container in a canvas, the window does
                            not have the focus.
-------------------------------------------------------------------------
 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      UICL         After bringing up a popup menu for the entire
                            container, you can no longer query the
                            container object that has the cursor.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         If you create a graphic PushButton with the
                            sizeToGraphic style and pass in a rectangle,
                            the graphic is displayed incorrectly.  In
                            addition, it comes up in the highlighted
                            state.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Need to imporve how the graphic is drawn on
                            the graphic PushButton.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Setting a vector font on an IMLE causes a
                            hang.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Using setDeleteObjectsOnClose in a details
                            view container with many items can cause
                            it to take an unacceptable amount of time
                            to terminate.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         istattxt.inl is not included in istattxt.hpp.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         IThread::messageQueue returns HMQ_CURRENT
                            instead of the actual message queue handle
                            for the thread.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Setting the icon handle to 0 in
                            IGraphicPushButton causes a trap in PMWIN.
=========================================================================
               CTM0003 is informal Corrective Service.
The following fixes are provided in Class Libraries CS CTM0003
*************************************************************************
FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
*************************************************************************
 PJ11717       UICL         In a multithreaded situation a hang would
                            sometimes occur in UICL.
-------------------------------------------------------------------------
 PJ11719       UICL         A window handle was not validated before an
                            attempt was made at creating an instance of
                            IWindowClassName.
-------------------------------------------------------------------------
 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.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         On receipt of WM_BEGINDRAG, UICL was
                            attempting to obtain the pointer position
                            from message parameter 2. The pointer
                            position is actually contained in message
                            parameter 1.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         On receipt of DM_PRINTOBJECT, UICL was
                            attempting to obtain a pointer to a DRAGINFO
                            structure from message parameter 1. Message
                            parameter 1 actually contains a pointer to a
                            DRAGITEM structure.
-------------------------------------------------------------------------
 QUAL-IMP      UICL         Added IMenuDrawItemEvent as the first
                            PARAMETER to IMenuDrawItemHandler::setSize
                            VIRTUAL FUNCTION in order to provide a way to
                            FIND THE ID OF the item to be sized.
=========================================================================
