Patch Name: PHSS_5039 Patch Description: s700 8.X Motif 1.2/X11R5 Development January Periodic Patch Creation Date: 94/01/03 Post Date: 95/01/11 Hardware Platforms - OS Releases: s700: 8.05 8.07 Products: N/A Filesets: X11R5-PRG X11R5-SHLIBS X11-RUN Automatic Reboot?: No Status: General Release Critical: Yes PHSS_5039: ABORT MEMORY_LEAK refer to symptoms and associated defect reports. PHSS_4869: ABORT MEMORY_LEAK refer to symptoms and associated defect reports. Path Name: /hp-ux_patches/s700/8.X/PHSS_5039 Symptoms: PHSS_5039: 1. Column headers not resizing properly with proportional fonts. The resize algorythm in label widget was flawed. 2. Motif program crashes when in list widget. There was a bad pointer being derefenced in List widget. 3. PS2_HIL_JIS keyboard, XmText doesn't accept 3,7,9 keys on the keypad. The button grab translations did not include a preceding colon to make the translations specific enough. 4. Drag and drop callback structure contained invalid data. The dropSiteStatus field was not being initialized. 5. There is a backwards compaitibilty break in traversal for text widgets in "exclusive" tab group mode. The traversal code did not retain backwards compatibility to Motif 1.1. 6. Nested Dialogs abort when unmanaged is compiled with -z option. Dialog shell was using incorrect index in child unmanage loop. 7. When drawing a compound text using XmStringDraw(),if the compound text contains some '\n's in its string, the clipping doesn't work correctly. The XmDrawString clip rectangle not checking all sides. 8. HP default virtual key binding table should use "End" for osfEndLine. The default HP virtual key table in Motif needed to make a change for PC DIN keyboard, and a concurrent code change for the window manager (Vue, and mwm) that recognizes the End key when running against an ITF keyboard, and installs a run-time adjustment to the virtual key binding table. 9. MEsc Btn2 in a text widget gives it a permanent keyboard focus. The text widget was not appropriately releasing the grab. 10. XmStringDrawUnderline will not underline a string if that string is being rendered by an X11R5 fontset and it has characters that are of varying lengths. Character lengths were being incorrectly compared when comparing the source string to the underline string. 11. Cut and paste did not always work correctly between xclients and Motif Text widgets. The text was being converted to the wrong textual type. 12. Motif 1.2.4 added a reference to "bzero"; should use "memset" instead. this can be problematic for current applications linked partially with shared and partially with archived libraries. 13. ScrolledW leaks memory in CWMapNotify(). The translation table for > virtClipWindowXlations is reparsed each time the routine is called. It is only neccessary the first time. 14. Fixed lint warnings for nested comments in Xlib and Motif. 15. Traversal preformance tuning. The Traversal code tries to recover a focus widget when it has none; it does this only when it has the focus, so was looking to see if the focus was in the shell hierarchy. For MenuShell widgets this causes a synchronous X server request (round trip). The particular condition for which the traversal code was trying to be robust is not relevant to MenuShell hierarchies, so the code was changed to avoid the offending server round-trip. 16. It is possible to cause a deadlock due to replay event frozen input queue. The menus needed to be prevented from posting if the menu system cannot grab the keyboard or pointer. The menu s also need to be unposted on an error condition. 17. Memory leak occurs in application which continually loads and unloads an associate font (e.g. jpn.12x24). XFreeFont didn't handle an associate font correctly. 18. The use of "exit()" when forking an NLIO input method process can be problematic, especially in C++ programs, causing extraneous calls to class destructor and "atexit" routines. The routine "_exit()" is needed to be used instead. 19. The Text widget (and Vuepad) would truncate characters in a string which contained 2 byte characters when an associate font was being used. XTextExtents ascent, etc. needed to changed back to use logical metrics for 16 bit fonts. 20. A potential core dump due to use of a freed pointer in the xlib input method code. This was found using Purify. 21. When LANG=slovene, the ISO8859.2 input method should be selected. Instead, Roman8 input method is selected keeping the user from being able to enter the correct characters from the keyboard. 22. Using the 10.0 xj0input the status window shows up configured incorrectly. It would be a large window covering the bottom of the screen rather than a small window located at the bottom of the client window. This was caused by Xlib not sending WININFO, SCR_INFO, FOCUS_IN of Xhp protocol. 23. Needed to support customization of the SJIS locale for cut and paste between SJIS and eucJP, and any other uses of compound text. (WMNAME, etc). 24. The mouse button behavior is not correct when Kana Mode is enabled. Kana Lock handling was recently added to the X server. Because of side-effects, that functionality was removed. 25. The NLIO input server was not getting started for the Simplified Chinese locale. hpterm was seeing only XJINPUT environment variable. 26. Wrong font is loaded for C locale with 8859.1 codeset. A request for support for ISO8859.1 as the system default character set was added. Query of the locale when linked returned C instead of C.iso88591 as expected. This caused Roman8 fonts to be loaded when the locale is ISO 8859.1. 27. LoadQueryFont core dumps when called after XFreeFont. An application which opens an associate font, then closes it may core dump some time later. The core dump is in malloc. This was a simple coding error in the input method code in Xlib where a for loop needed the appropriate brackets. 28. On minimal systems applications may die from an out of memory condition. This is because parent and child utilize the same process space, vfork requires that you immediately exec or exit. The code was closing file descriptors to insure that the input method could open its own file-tables successfully. The code has been changed to set each file descriptor to close on exec. The state is saved away before this is done and restored in the parent process after the exec. 29. Add 3 dual characters to the conversion routine of the Arabic language: e4 c2 = XK_Arabic_lammalefmadda e4 c3 = XK_Arabic_lammalefhamza e4 c7 = XK_Arabic_lammalef 30. Add case for caron to interpret U/u as u-krouzek and U-krouzek (U-ring). 31. Add support User Defined Characters (UDC's) for the simplified Chinese locale. 32. When resource ID's run out the client dies. Added support for the Resource ID recycling extension (XC-MISC). 33. Can't find ../$LANG/.mwmrc file. The problem is the way mwm 1.2 uses setlocale to get the value of $LANG. The fix is to copy some code from Xt that post-processes the return from setlocale into a host-independent form that can then be put into a file path. 34. Keys were not being forwarded by mwm. Mwm needed to replay keys that are grabbed by menu accelerator grabs but not used (e.g. F4 key for Alt+F4 grab). 35. Mwm needed to disallow resize of icon window after reparented by window manager. 36. Focus not being set to icons of apps with locally active or globally active focus models. 37. Possible to lock up the window manager with a menu/system modal window interaction. 38. In the Text widget the input of two-byte characters are not handled correctly when the first character typed is a 'backspace'. Flag was set inappropriately in the Xlib input method when a backspace was pressed. 39. Text widget can fail to display char. when mixing 1 byte & 2 byte char's. The Text widget Draw routine was using wrong character length in computing what needed to be drawn. 40. Input method status area is not updated when focus in Text widget is lost due to a change in sensitivity. The Text widget was not notifying input method when focus is lost due to change in sensitivity. 41. If you assign multiiple keycodes to generate the same keysym and then assign that same keysym as a mnemonic only one keycode will be found. The RowColumn widget was not getting keysym table and storing all keycode that keysym. 42. UIL aborts with double (float) argument passed into routine. PHSS_4869: 1. Application aborts when Dragging (and Drop) within an override shell. The drag code not expecting parent of the drop site to be an override shell. 2. Memory leak in Manager with non Motif-standard children. 3. Specifying fontlist for an AppShell causes abort when destroyed. MenuShell was inappropriately freeing the (cached) defaultFontList. 4. F10 with only Help in menubar causes abort. The child index in ArmAndActivate was being set incorreclty in Menu code. Defect Description: PHSS_5039: See associated defect reports for explanation. PHSS_4869: See associated defect reports for explanation. SR: 5003104844 5003106252 5000688804 1653042333 5003103309 5003099788 5003114967 5003121061 5000690305 5003119958 1653048223 5003127969 5003119313 5003116897 5003127183 5003118406 5003123810 5003152645 1653043984 1653063925 5003119941 5000699868 5003156521 5000698316 1653072850 1653075952 5003169698 1653081943 1653081943 5003182600 5003177295 5003186825 1653087759 5003193151 5003199323 5000708214 5003207829 5000708966 5003204735 5000708214 1653094847 5003207845 1653094870 1653094896 1653094888 1653091363 5003207829 5003209098 1653094862 5003213744 5003210369 1653101246 5000709840 5000704957 5003184077 5003221838 4701270116 5003227728 5003220400 5003229419 5003136820 1653087130 5003231332 5003231951 5003233593 4701273912 5000710590 1653087189 1653104190 5003232017 1653059212 5003183814 Patch Files: /usr/lib/X11/nls/Xhp/big5 /usr/lib/X11R5/libX11.a /usr/lib/X11R5/libX11.sl /usr/lib/X11R5/libXext.a /usr/lib/X11R5/libXext.sl /usr/lib/X11R5/libXt.a /usr/lib/X11R5/libXt.sl /usr/lib/Motif1.2/libXm.a /usr/lib/Motif1.2/libXm.sl /usr/lib/Motif1.2/libMrm.a /usr/include/Motif1.2/Xm/BaseClassP.h /usr/include/Motif1.2/Xm/BulletinBP.h /usr/include/Motif1.2/Xm/CascadeBP.h /usr/include/Motif1.2/Xm/CommandP.h /usr/include/Motif1.2/Xm/DialogSEP.h /usr/include/Motif1.2/Xm/Display.h /usr/include/Motif1.2/Xm/DisplayP.h /usr/include/Motif1.2/Xm/DragC.h /usr/include/Motif1.2/Xm/DragCP.h /usr/include/Motif1.2/Xm/DragIconP.h /usr/include/Motif1.2/Xm/DragOverS.h /usr/include/Motif1.2/Xm/DrawingAP.h /usr/include/Motif1.2/Xm/DrawnBP.h /usr/include/Motif1.2/Xm/DropSMgr.h /usr/include/Motif1.2/Xm/DropSMgrP.h /usr/include/Motif1.2/Xm/DropTransP.h /usr/include/Motif1.2/Xm/FileSBP.h /usr/include/Motif1.2/Xm/FormP.h /usr/include/Motif1.2/Xm/LabelP.h /usr/include/Motif1.2/Xm/ListP.h /usr/include/Motif1.2/Xm/MainWP.h /usr/include/Motif1.2/Xm/MessageBP.h /usr/include/Motif1.2/Xm/Protocols.h /usr/include/Motif1.2/Xm/PushBP.h /usr/include/Motif1.2/Xm/RowColumnP.h /usr/include/Motif1.2/Xm/SashP.h /usr/include/Motif1.2/Xm/ScaleP.h /usr/include/Motif1.2/Xm/Screen.h /usr/include/Motif1.2/Xm/ScreenP.h /usr/include/Motif1.2/Xm/ScrollBarP.h /usr/include/Motif1.2/Xm/ScrolledWP.h /usr/include/Motif1.2/Xm/SelectioBP.h /usr/include/Motif1.2/Xm/SeparatorP.h /usr/include/Motif1.2/Xm/TearOffBP.h /usr/include/Motif1.2/Xm/TearOffP.h /usr/include/Motif1.2/Xm/TextInP.h /usr/include/Motif1.2/Xm/TextP.h /usr/include/Motif1.2/Xm/TextStrSoP.h /usr/include/Motif1.2/Xm/ToggleBP.h /usr/include/Motif1.2/Xm/TransltnsP.h /usr/include/Motif1.2/Xm/Xm.h /usr/include/Motif1.2/Xm/XmP.h /usr/include/Motif1.2/Xm/XmStrDefs.h /usr/include/Motif1.2/Xm/XmosP.h /usr/include/X11R5/X11/Xlibint.h /usr/bin/X11/mwm what(1) Output: /usr/lib/X11R5/libXext.a: X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Fri Dec 2 10:17:39 PST 1994) /usr/lib/X11R5/libXext.sl: X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Fri Dec 2 10:17:38 PST 1994) /usr/lib/X11R5/libX11.sl: X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Thu Dec 1 12:22:03 PST 1994) /usr/lib/X11R5/libX11.a: X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Thu Dec 1 12:22:06 PST 1994) /usr/lib/X11R5/libXt.sl: X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Thu Dec 1 12:30:08 PST 1994) /usr/lib/X11R5/libXt.a: X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Thu Dec 1 12:30:09 PST 1994) /usr/lib/Motif1.2/libXm.sl: X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Thu Dec 1 13:03:30 PST 1994) OSF/Motif Version 1.2.4 /usr/lib/Motif1.2/libXm.a: OSF/Motif Version 1.2.4 X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Thu Dec 1 13:03:34 PST 1994) /usr/lib/Motif1.2/libMrm.a: (build date: Mon Dec 12 10:45:36 PST 1994) X Window System, Version 11 HP-UX 8.07 SRC_DEC94 R5+ /usr/lib/X11/nls/Xhp/big5: None /usr/include/Motif1.2/Xm/BaseClassP.h: None /usr/include/Motif1.2/Xm/BulletinBP.h: None /usr/include/Motif1.2/Xm/CascadeBP.h: None /usr/include/Motif1.2/Xm/CommandP.h: None /usr/include/Motif1.2/Xm/DialogSEP.h: None /usr/include/Motif1.2/Xm/Display.h: None /usr/include/Motif1.2/Xm/DisplayP.h: None /usr/include/Motif1.2/Xm/DragC.h: None /usr/include/Motif1.2/Xm/DragCP.h: None /usr/include/Motif1.2/Xm/DragIconP.h: None /usr/include/Motif1.2/Xm/DragOverS.h: None /usr/include/Motif1.2/Xm/DrawingAP.h: None /usr/include/Motif1.2/Xm/DrawnBP.h: None /usr/include/Motif1.2/Xm/DropSMgr.h: None /usr/include/Motif1.2/Xm/DropSMgrP.h: None /usr/include/Motif1.2/Xm/DropTransP.h: None /usr/include/Motif1.2/Xm/FileSBP.h: None /usr/include/Motif1.2/Xm/FormP.h: None /usr/include/Motif1.2/Xm/LabelP.h: None /usr/include/Motif1.2/Xm/ListP.h: None /usr/include/Motif1.2/Xm/MainWP.h: None /usr/include/Motif1.2/Xm/MessageBP.h: None /usr/include/Motif1.2/Xm/Protocols.h: None /usr/include/Motif1.2/Xm/PushBP.h: None /usr/include/Motif1.2/Xm/RowColumnP.h: None /usr/include/Motif1.2/Xm/SashP.h: None /usr/include/Motif1.2/Xm/ScaleP.h: None /usr/include/Motif1.2/Xm/Screen.h: None /usr/include/Motif1.2/Xm/ScreenP.h: None /usr/include/Motif1.2/Xm/ScrollBarP.h: None /usr/include/Motif1.2/Xm/ScrolledWP.h: None /usr/include/Motif1.2/Xm/SelectioBP.h: None /usr/include/Motif1.2/Xm/SeparatorP.h: None /usr/include/Motif1.2/Xm/TearOffBP.h: None /usr/include/Motif1.2/Xm/TearOffP.h: None /usr/include/Motif1.2/Xm/TextInP.h: None /usr/include/Motif1.2/Xm/TextP.h: None /usr/include/Motif1.2/Xm/TextStrSoP.h: None /usr/include/Motif1.2/Xm/ToggleBP.h: None /usr/include/Motif1.2/Xm/TransltnsP.h: None /usr/include/Motif1.2/Xm/Xm.h: OSF/Motif Version 1.2.4 /usr/include/Motif1.2/Xm/XmP.h: None /usr/include/Motif1.2/Xm/XmStrDefs.h: None /usr/include/Motif1.2/Xm/XmosP.h: None /usr/include/X11R5/X11/Xlibint.h: None /usr/bin/X11/mwm: X Window System, Version 11 HP-UX 9.* SRC_DEC94 R5+ (build date: Fri Dec 2 10:50:59 PST 1994) OSF/Motif mwm 1.2.4 Release sum(1) Output: 23958 86 /usr/lib/X11R5/libXext.a 873 96 /usr/lib/X11R5/libXext.sl 46785 1520 /usr/lib/X11R5/libX11.sl 9121 1853 /usr/lib/X11R5/libX11.a 25538 808 /usr/lib/X11R5/libXt.sl 35262 826 /usr/lib/X11R5/libXt.a 31175 4120 /usr/lib/Motif1.2/libXm.sl 23405 4146 /usr/lib/Motif1.2/libXm.a 1694 464 /usr/lib/Motif1.2/libMrm.a 12310 1 /usr/lib/X11/nls/Xhp/big5 15314 14 /usr/include/Motif1.2/Xm/BaseClassP.h 16018 14 /usr/include/Motif1.2/Xm/BulletinBP.h 49873 11 /usr/include/Motif1.2/Xm/CascadeBP.h 15714 6 /usr/include/Motif1.2/Xm/CommandP.h 40905 5 /usr/include/Motif1.2/Xm/DialogSEP.h 46613 3 /usr/include/Motif1.2/Xm/Display.h 13695 9 /usr/include/Motif1.2/Xm/DisplayP.h 29806 13 /usr/include/Motif1.2/Xm/DragC.h 13778 10 /usr/include/Motif1.2/Xm/DragCP.h 53376 5 /usr/include/Motif1.2/Xm/DragIconP.h 6094 2 /usr/include/Motif1.2/Xm/DragOverS.h 54464 5 /usr/include/Motif1.2/Xm/DrawingAP.h 41699 5 /usr/include/Motif1.2/Xm/DrawnBP.h 35007 10 /usr/include/Motif1.2/Xm/DropSMgr.h 42992 20 /usr/include/Motif1.2/Xm/DropSMgrP.h 15731 5 /usr/include/Motif1.2/Xm/DropTransP.h 59986 13 /usr/include/Motif1.2/Xm/FileSBP.h 9467 5 /usr/include/Motif1.2/Xm/FormP.h 602 10 /usr/include/Motif1.2/Xm/LabelP.h 44070 8 /usr/include/Motif1.2/Xm/ListP.h 56947 5 /usr/include/Motif1.2/Xm/MainWP.h 47500 7 /usr/include/Motif1.2/Xm/MessageBP.h 32013 8 /usr/include/Motif1.2/Xm/Protocols.h 1858 6 /usr/include/Motif1.2/Xm/PushBP.h 38963 39 /usr/include/Motif1.2/Xm/RowColumnP.h 51936 5 /usr/include/Motif1.2/Xm/SashP.h 4261 6 /usr/include/Motif1.2/Xm/ScaleP.h 12355 3 /usr/include/Motif1.2/Xm/Screen.h 22431 12 /usr/include/Motif1.2/Xm/ScreenP.h 30362 8 /usr/include/Motif1.2/Xm/ScrollBarP.h 19780 8 /usr/include/Motif1.2/Xm/ScrolledWP.h 36819 21 /usr/include/Motif1.2/Xm/SelectioBP.h 64137 4 /usr/include/Motif1.2/Xm/SeparatorP.h 11830 6 /usr/include/Motif1.2/Xm/TearOffBP.h 13835 6 /usr/include/Motif1.2/Xm/TearOffP.h 14831 12 /usr/include/Motif1.2/Xm/TextInP.h 7741 22 /usr/include/Motif1.2/Xm/TextP.h 30913 16 /usr/include/Motif1.2/Xm/TextStrSoP.h 1088 6 /usr/include/Motif1.2/Xm/ToggleBP.h 57858 9 /usr/include/Motif1.2/Xm/TransltnsP.h 59037 88 /usr/include/Motif1.2/Xm/Xm.h 48121 167 /usr/include/Motif1.2/Xm/XmP.h 26235 238 /usr/include/Motif1.2/Xm/XmStrDefs.h 32489 13 /usr/include/Motif1.2/Xm/XmosP.h 59840 56 /usr/include/X11R5/X11/Xlibint.h 24142 640 /usr/bin/X11/mwm Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_2229 PHSS_2621 PHSS_2947 PHSS_3018 PHSS_3232 PHSS_3263 PHSS_3517 PHSS_3785 PHSS_3969 PHSS_4075 PHSS_4455 PHSS_4614 PHSS_4645 PHSS_4679 PHSS_4869 Equivalent Patches: PHSS_5038: s700: 9.01 9.03 9.05 s800: 9.00 9.04 Patch Package Size: 11250 Kbytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Copy the patch to your /tmp directory and unshar it: cd /tmp cp patch_source/PHSS_5039 . sh PHSS_5039 3. Become root and run update: /etc/update 4. Use the cursor keys to select "Change Source or Destination ->" and press [Return]. 5. Select "From Tape Device to Local System ..." in the Change window and 6. Change "Source: /dev/rmt/0m" to "Source: /tmp/PHSS_5039.updt" 7. Press "Done" (f4). 8. Follow the standard directions for update. Update moves the original software to /system/PHSS_5039/orig. Keep this file to recover from any potential problems. You should move the .text file to /system/PHSS_5039 for future reference. To put this patch on a magnetic tape and update from the tape drive, use dd: dd if=PHSS_5039.updt of=/dev/rmt/0m bs=2048 Special Installation Instructions: This will be the last periodic patch on 8.* for Motif/X11R5 Libraries. Point patches may become available for critical defect fixes.