List of Windows SDK version 3.1 bugs (105508)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.1

This article was previously published under Q105508

SUMMARY

This article contains a summary of individual articles in the Microsoft Knowledge Base. These articles can be found by querying on the article's ID number or on words in the title and text. The Microsoft Knowledge Base can be accessed on the Internet (www.microsoft.com). A compiled help file containing the bug list information can be found in the Microsoft Software Library.

MORE INFORMATION

The following file is available for download from the Microsoft Download Center:
For more information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

BUG LISTING

  • BUG: No WM_SETFONT to Custom Controls
  • BUG: Complex Graphics Image Partially Printed
  • BUG: FatalExit() Interacts Through Terminal Only
  • BUG: MapVirtualKey() Maps Keypad Keys Incorrectly
  • BUG: Crash with frexp() in Small or Medium Model DLL
  • BUG: Combo Boxes in DS_SYSMODAL Dialog Boxes
  • BUG: PostScript Driver Version 3.4 Returns Incorrect Page Size
  • BUG: Protected-Mode GlobalCompact() Return Not Free Memory
  • BUG: Text Formatting Lost When Edit Text Dialog Box Used
  • BUG: Common Dialog GP-Fault on ESC Key with Mouse Button Down
  • BUG: Data Errors on 14400 Baud Serial Communications
  • BUG: GlobalPageLock() Moves Memory Fixed by GlobalFix()
  • BUG: GetModuleFileName() Returns Relative File Path
  • BUG: System Menu Wrong for CS_NOCLOSE-Style MDI Child
  • BUG: Buttons Painted Incorrectly After Color Changed
  • BUG: SETCOLORTABLE Escape Disables Dithering
  • BUG: GetGlyphOutline() Returns Blank Bitmap
  • BUG: Input Focus Lost When Control Returns From Windows Help
  • BUG: LIBENTRY.ASM Missing Include File Error
  • BUG: MDI More Windows Dialog Activates Wrong Child
  • BUG: PrintForm() Does Not Print Ink from Control
  • BUG: Dictionary Receives No DIRQ_SYMBOLGRAPH Message
  • BUG: Help Compiler Hangs When .HPJ File [MAP] Section Too Big
  • BUG: OpenFile() API Fails on Novell Temp Drive
  • BUG: HPPCL Driver Reports SETABORTPROC Not Supported
  • BUG: Color PostScript Drivers Report Incorrect Data
  • BUG: GetGlyphOutline() Returns Partial Glyph
  • BUG: Scrolling DIB DC Fails
  • BUG: Setup CreateProgmanItem Does Not Overwrite Item
  • BUG: BitBlt() Bitmap on VGA Display Causes GP Fault
  • BUG: HC Error 2050 from #include in Help Project File (.HPJ)
  • BUG: No Dr. Watson Log File in Drive's Root Directory
  • BUG: Minimized Windows Help Yields Incorrect Icon
  • BUG: Complex Clipping Region Might Cause UAE/GP Fault
  • BUG: Cannot Map TT Font to Same Name PostScript Device Font
  • BUG: CreatePatternBrush() with Large Bitmap GP Fault
  • BUG: Superclassed Scroll Bar's Parent Not Sent WM_CTLCOLOR Msg
  • BUG: ProgMan DDE Reload() Command Does Not Work Properly
  • BUG: PostScript Handles lfItalic Field Incorrectly
  • BUG: Graphics Operations Consume GDI Memory
  • BUG: ETO_CLIPPED Does Not Clip Rotated Text
  • BUG: Application Errors From Long Text in the Dialog Editor
  • BUG: RC /fe Switch Does Not Work
  • BUG: UngetCommChar() Causes Character Loss or GP Faults
  • BUG: StretchDIBits() Prints Wrong Part of DIB with PSCRIPT.DRV
  • BUG: OpenFile() Fails When UNC Name Longer than 11 Chars
  • BUG: Extra CN_RECEIVE/CN_TRANSMIT Events
  • BUG: 32K Limit on Input/Output Queues in COMM.DRV
  • BUG: AddAtom Causes Divide by Zero Error
  • BUG: EV_RLSDS Event Does Not Indicate Current RLSD State
  • BUG: SetDIBitsToDevice Faults on 24-BPP PM-Style DIBs
  • BUG: StretchDIBits Faults on 24-BPP PM-Style DIBs
  • BUG: PALETTEINDEX Not Working for Thin Lines on HP PaintJet
  • BUG: SelectClipRgn() Does Not Update Properly on Printer
  • BUG: SetPixel() Doesn't Work Properly on a PS Printer
  • BUG: System-Wide WH_DEBUG Hook Causes a GP Fault
  • BUG: Resolutions for DBWIN Utility Continuous Beeping
  • BUG: Menu Bar Covered By Main Window Client Area
  • BUG: SetAbortProc() Incorrectly Returns Failure
  • BUG: GP Fault in LoadLibrary() with C++ DLL
  • BUG: Problem with DrawText Statement
  • BUG: Palettes Realized in a Memory DC May Corrupt Screen
  • BUG: SystemParametersInfo() Does Not Modify WIN.INI
  • BUG: DDEML Fails to Free Item Name HSZ on a LATEACK
  • BUG: Ampersand in Menu Item Is Not Converted
  • BUG: SetWindowPlacement and ptMin.x or ptMax.x = -1
  • BUG: MDI Child Window's "Minimize" System Menu Disabled
  • BUG: MoveTo/LineTo Causes Divide by 0 Error
  • BUG: Gaps Between Wedges Drawn with Pie()
  • BUG: DDE Warning Message: Invalid Value: -32767
  • BUG: Nonscrolling Region in Help File Topic Does Scroll
  • BUG: Size of Owner-Draw Drop-Down Combo Box in Dialog Is Wrong
  • BUG: Screen Saver Does Not Start
  • BUG: SetWindowPos() on an Iconic Window and its Caption
  • BUG: R2_XORPEN Binary ROP Code Ignored for Wide Pens
  • BUG: Pie() and Arc() Functions Fail with a Wide Pen
  • BUG: Vector Font Rotation Skewed with Non-Top-Left Alignment
  • BUG: Text Truncated in Edit Control
  • BUG: LineTo() Endcaps Misaligned with Large Pen Width
  • BUG: Rotated TrueType Font Repaints Many Times
  • BUG: Some ROP Codes Cause Inconsistent Polygon() Line Segments
  • BUG: Pie() Vertex Not Drawn Completely with Wide Pen
  • BUG: Arc() Not Drawn Completely with a Wide Pen
  • BUG:SelectPalette in Metafile Ignores Force-to-Background Flag
  • BUG: Occasional Gap Between Adjacent Pie() Wedges
  • BUG: GetRasterizerCaps Returns Zero When TrueType Is Disabled
  • BUG: _lread() Functions Incorrectly When No Floppy in Drive
  • BUG: OpenFile() Doesn't Handle Forward Slash ("/") Character
  • BUG: Brush Misaligned in PaintRgn()
  • BUG: Some TrueType Character Pairs Run Together on VGA
  • BUG: IsBadStringPtr() Reports Bad String as Valid
  • BUG: DeleteObject() Generates Debug Errors in WEP
  • BUG: DPMI Function 0203h Does Not Report Error
  • BUG: FreeSelector() Frees More Than One Selector
  • BUG: Dr. Watson Fails to Write Log File
  • BUG: Debug Kernel Ignores Fatal Exits When OutputTo=
  • BUG: Opaque Rectangle Too Small on Rotated TrueType Fonts
  • BUG: Character Background Is Not Painted Correctly
  • BUG: Polygons Drawn with Pens of Odd Width (> 5) Misalign
  • BUG: Misleading Default Pushbutton Painting
  • BUG: GetPrivateProfileInt() May Not Read Correct Value
  • BUG: GlobalCompact() May Return an Inaccurate Value
  • BUG: Explicitly Loaded Modules Not Removed from Memory
  • BUG: LoadResource() GP Faults When Passed an Invalid HRSRC
  • BUG: ROP2 Code Applied Incorrectly in Pie() Function
  • BUG: LB_SETTOPINDEX Doesn't Conform to Documentation
  • BUG: EM_CANUNDO Returns Zero After EM_REPLACESEL
  • BUG: Left Part of Character Is Clipped with ExtTextOut/TextOut
  • BUG: DrawFocusRect Fails in MM_LOMETRIC or MM_ISOTROPIC Mode
  • BUG: GetGlyphOutline() with GGO_BITMAP Fails with Large Scale
  • BUG: Edit Controls and WS_CLIPCHILDREN Function Differently
  • BUG: Printer Driver Receives "bigfonts" When Not Supported
  • BUG: StretchDIBits Not Correctly Stretching RLE DIBs w/ Jumps
  • BUG: StretchBlt() Does Not Perform Palette Translations
  • BUG: TabbedTextOut() in Metric Mapping Mode Incorrect
  • BUG: Driver vs. GDI-Simulated Styled Lines Don't Match
  • BUG: GP Fault When Drawing on a Memory-Based DC
  • BUG: StretchBlt()/StretchDIBits() Fail with Very Large Stretch
  • BUG: Outline of a Pie() Slice May Not Be Completely Smooth
  • BUG: GetTimerResolution not in LIBW.LIB
  • BUG: General Protection Fault When Accessing an HFONT
  • BUG: DDESPY and Ctrl Key Cause GP Fault in Windows NT
  • BUG: Caching GDI Objects Causes Temporary GDI Resource Leak
  • BUG: MCIWndClass Popup Window Palette Flashes

BUG: Complex Graphics Image Partially Printed

72493BUG: Complex graphics image partially printed

When an application uses the clipping functions to print a complex graphics image on a high resolution output device, the printed output is incomplete; portions of the image are missing.

BUG: MapVirtualKey() Maps Keypad Keys Incorrectly

72583 MapVirtualKey() maps keypad keys incorrectly

When MapVirtualKey() is passed valid virtual key codes for the keys on the numeric keypad, invalid scan codes and ASCII codes are returned.

BUG: PostScript Driver Version 3.4 Returns Incorrect Page Size

76364BUG: PostScript driver version 3.4 returns incorrect page size

In version 3.4 of the PostScript printer driver, when the DC_PAPERSIZE index is specified in the DeviceCapabilities function, the width of the paper is returned for both the x and y coordinates in each POINT structure. This function should return the height and width of each supported paper size.

BUG: Protected-Mode GlobalCompact() Return Not Free Memory

76686BUG: Protected-mode GlobalCompact() return not free memory

When Windows is running in one of its protected modes, the value returned by the GlobalCompact() API does not accurately reflect the amount of free memory available in the system.

In enhanced mode, Windows can swap memory objects to disk. This process takes a long time relative to accessing an object in memory. Therefore, GlobalCompact() returns the amount of memory available without performing any paging.

In standard mode, GlobalCompact() never reports more than 1 megabyte (MB) of memory free because of a memory allocation limit on the 80286 chip.

BUG: Text Formatting Lost When Edit Text Dialog Box Used

80143BUG: Text formatting lost when Edit Text dialog box used

When the Edit Text dialog box is used to edit formatted text in an application developed for Microsoft Windows for Pen Computing, formatting is lost.

BUG: Common Dialog GP-Fault on ESC Key with Mouse Button Down

83009BUG: Common Dialog GP-fault on ESC key with mouse button down

In an application that uses the File Open or Save As dialog box from the Common Dialogs dynamic-link library (DLL), when the user opens a combo box with the mouse, holds down the left mouse button, and then presses the ESC key to close the dialog box, a GP-fault occurs.

BUG: GetModuleFileName Returns Relative File Path

85330BUG: GetModuleFileName returns relative file path

When the GetModuleFileName() function returns a reference to a dynamic-link library (DLL) file, the reference is relative (not fully qualified) under the following circumstances:

  • One of the directory references in the MS-DOS PATH environment variable is relative. Assume that the relative directory reference refers to drive X.
  • An application is implicitly linked to a DLL. The DLL is installed in the current (default) directory of drive X.
  • The application is installed in a directory other than the one in which the DLL is installed.

BUG: System Menu Wrong for CS_NOCLOSE-Style MDI Child

85331BUG: System menu wrong for CS_NOCLOSE-style MDI child

When an application registers a window class with the CS_NOCLOSE style and creates a multiple document interface (MDI) child window using the class, the menu items in the child window's system menu are incorrect. Specifically, the Switch To option appears where the Next option belongs. Choosing Switch To activates the Windows Task Manager.

BUG: Buttons Painted Incorrectly After Color Changed

When the Colors application in the Control Panel is used to change the button shadow color to white, all push button windows are painted incorrectly. Specifically, the Button Shadow and Button Highlight colors are not painted at all.

BUG: SETCOLORTABLE Escape Disables Dithering

85596BUG: SETCOLORTABLE escape disables dithering

When the VGAPAL video driver is installed on a system, once an application calls the SETCOLORTABLE escape to change an entry in the color table associated with a device context, Windows does not create any dithered brushes for that device context. Instead, Windows returns the solid brush that most closely matches the requested color.

BUG: GetGlyphOutline Returns Blank Bitmap

85598BUG: GetGlyphOutline returns blank bitmap

In the Microsoft Windows graphical environment, when an application calls the GetGlyphOutline() function to retrieve the bitmap for a glyph and the lpmat2 parameter points to a matrix that magnifies the glyph, a blank bitmap is returned.

BUG: Input Focus Lost When Control Returns From Windows Help

85896BUG: Input focus lost when control returns from Windows Help

When an application calls the WinHelp function and specifies HELP_CONTEXTPOPUP as the value for the fuCommand parameter, the input focus disappears. When the user presses the ALT key, the system menu appears for a hidden copy of the Windows Help application.

BUG: LIBENTRY.ASM Missing Include File Error

86409BUG: LIBENTRY.ASM missing include file error

An attempt to assemble the LIBENTRY.ASM file distributed with version 3.1 of the Microsoft Windows SDK fails with the following message:
Include file not found: CONVDLL.INC.

BUG: MDI More Windows Dialog Activates Wrong Child

86412BUG: MDI More Windows dialog activates wrong child

In a multiple document interface (MDI) application developed for Microsoft Windows version 3.1, when the application creates more than nine MDI child windows, the user chooses More Windows from the Window menu, and selects an MDI child window to activate from the list displayed in the Select Window dialog box, the application activates a different window.

BUG: PrintForm() Does Not Print Ink from Control

86874BUG: PrintForm() does not print ink from control

When an application developed using the Visual Basic controls provided in version 1.0 of Microsoft Windows for Pen Computing calls the Visual Basic PrintForm() function, ink entered into the control does not print.

BUG: Dictionary Receives No DIRQ_SYMBOLGRAPH Message

87006BUG: Dictionary receives no DIRQ_SYMBOLGRAPH message

In an application developed for Microsoft Windows for Pen Computing, the dictionary function does not receive a DIRQ_SYMBOLGRAPH message for a given recognition session.

BUG: Help Compiler Hangs When .HPJ File [MAP] Section Too Big

87007BUG: Help Compiler hangs when .HPJ file [MAP] section too big

Compiling a help project (HPJ) file with the Microsoft Windows Help Compiler causes the system to hang, reboot, or cause a system integrity violation.

BUG: OpenFile Function Fails on Novell Temp Drive

87347BUG: OpenFile() API fails on Novell temp drive

In the Microsoft Windows graphical environment, when an application uses the OpenFile() function to open a file on a Novell network temporary drive, the function returns the value HFILE_ERROR to indicate failure.

BUG: HPPCL Driver Reports SETABORTPROC Not Supported

87348BUG: HPPCL driver reports SETABORTPROC not supported

When an application for the Microsoft Windows environment sends the QUERYESCSUPPORT printer escape to the Hewlett-Packard (HP) LaserJet (HPPCL) printer driver to determine whether the SETABORTPROC escape is supported, the Escape function returns the value 0 (zero), indicating that the escape is not supported. However, an application can successfully send the SETABORTPROC escape to the HPPCL printer driver.

BUG: Color PostScript Drivers Report Incorrect Data

87349BUG: Color PostScript drivers report incorrect data

In the Microsoft Windows graphical environment, when an application creates a printer device context (DC) for a QMS ColorScript 100 printer or for a Seiko ColorPoint PS printer, and specifies the DC in a call to the GetDeviceCaps() function, each driver reports the following information about itself:
   BITSPIXEL  = 1
   PLANES     = 1
   NUMCOLORS  = 8
				
At least one of these numbers is incorrect in each case.

BUG: GetGlyphOutline Returns Partial Glyph

87350BUG: GetGlyphOutline returns partial glyph

In the Microsoft Windows graphical environment, when an application calls the GetGlyphOutline function to retrieve the bitmap for a rotated glyph (the lpmat2 matrix points to a nonidentity rotation matrix) and the glyph is larger than 75 pixels, the returned bitmap contains a partial, nonrotated, glyph.

BUG: Scrolling DIB DC Fails

87351BUG: Scrolling DIB DC fails

When an application developed for version 3.1 of the Microsoft Windows graphical environment uses the BitBlt() or ScrollDC() functions to scroll a device context created using the DIB (device-independent bitmap) driver, the process fails with a variety of symptoms including a general protection (GP) fault, a page fault, or random data appearing in the DIB.

BUG: Setup CreateProgmanItem Does Not Overwrite Item

87493BUG: Setup CreateProgmanItem does not overwrite item

In the Microsoft Setup Toolkit for Windows, when the setup script calls the CreateProgmanItem() subroutine to replace an existing item in a Microsoft Windows Program Manager group with cmo% set to cmoOverwrite and with szOther$ set to a nonempty string, the setup driver does not replace the existing item. Instead, it creates a new item.

BUG: BitBlt Bitmap on VGA Display Causes GP Fault

87494BUG: BitBlt bitmap on VGA display causes GP fault

When an application for the Microsoft Windows environment calls the BitBlt function to copy a large (640 x 480) bitmap to the VGA screen, the application experiences a general protection (GP) fault.

BUG: HC Error 2050 from #include in Help Project File (.HPJ)

88126BUG: HC error 2050 from #include in Help Project File (.HPJ)

When you are building a Help file with the Microsoft Windows Help Compiler, the process stops with the following error message:
Error 2050: line <number> of <filename>.HPJ : Invalid #include syntax

BUG: No Dr. Watson Log File in Drive's Root Directory

88127BUG: No Dr. Watson log file in drive's root directory

In the Microsoft Windows operating system, when the Dr. Watson fault- logging application is installed and an application execution error occurs, the Dr. Watson's Clues dialog box does not appear. Opening the Dr. Watson application reveals that an error exists in the <logical drive>:\\DRWATSON.LOG file.

BUG: Complex Clipping Region Might Cause UAE/GP Fault

89641BUG: Complex clipping region might cause UAE/GP fault

Drawing lines to a memory DC containing a complex clipping region causes an unrecoverable application error (UAE) or general protection (GP) fault.

BUG: Cannot Map TT Font to Same Name PostScript Device Font

92411BUG: Cannot map TT font to same name PostScript device font

If a TrueType (TT) font and a PostScript (PS) printer font have the same name, the TT font cannot be mapped to a different printer font. The mapping works correctly for TT fonts whose names are different than the fonts on the printer.

For example, the TrueType Symbol font can be mapped only to the Symbol font resident on the PostScript printer.

BUG: CreatePatternBrush with Large Bitmap GP Fault

92531BUG: CreatePatternBrush with large bitmap GP fault

On a machine with an 8514/a video adapter running the Microsoft Windows graphical environment with the standard 8514/a video driver, when an application calls the CreatePatternBrush() function to create a brush based on a bitmap larger than 8 pixels by 8 pixels, Windows terminates the application with an application execution error.

BUG: Superclassed Scroll Bar's Parent Not Sent WM_CTLCOLOR Msg

Controls normally send WM_CTLCOLOR messages to their parents so applications can modify the control background color. However, under Windows 3.0 and 3.1, when a scroll bar is superclassed, its parent is not sent WM_CTLCOLOR messages.

BUG: ProgMan DDE Reload() Command Does Not Work Properly

95981BUG: ProgMan DDE Reload() command does not work properly

Attempting to use the Reload() command in Windows version 3.1 for a particular GroupName causes that Program Manager group to disappear. On the other hand, not specifying any GroupName, which supposedly instructs the Program Manager to unload all groups and reload the [Groups] section of PROGMAN.INI, causes all the groups to disappear.

BUG: PostScript Handles lfItalic Field Incorrectly

96542BUG: PostScript handles lfItalic field incorrectly

In the Microsoft Windows environment, when the Windows version 3.1 PostScript printer driver is installed and an application specifies a nonzero value in the lfItalic member of a LOGFONT data structure to create an italic font, text prints in a normal (nonitalic) font.

BUG: Graphics Operations Consume GDI Memory

98058BUG: Graphics operations consume GDI memory

In the Microsoft Windows graphical operating environment, when a device driver has rectangle capabilities (such as the 8514/a display driver) and an application draws many large graphic objects, memory in the GDI data segment is lost. Eventually, GDI runs out of memory and Windows crashes.

BUG: ETO_CLIPPED Does Not Clip Rotated Text

99110BUG: ETO_CLIPPED does not clip rotated text

In Microsoft Windows version 3.1, text output with a rotated TrueType font is not clipped when the ETO_CLIPPED flag and a clipping rectangle are specified in ExtTextOut().

BUG: Application Errors From Long Text in the Dialog Editor

An attempt to use the Dialog Editor provided with version 3.1 of the Microsoft Windows Software Development Kit (SDK) fails and an application error occurs under either of the following circumstances:
  • Choose Order/Group from the Arrange menu when the dialog box contains two or more controls, one control is a static text control, and the title of the text control is 256 characters long (the limit). (Setting a 256 character title may also generate a general protection [GP] fault.)
  • In test mode, enter more than 175 characters into a multiline edit control, then press BACKSPACE. A GP fault also occurs.

BUG: RC /fe Switch Does Not Work

99670BUG: RC /fe switch does not work

Specifying the /fe filename does not create a new executable file with the specified filename. The Resource Compiler (RC) doesn't return an error message indicating there is a problem. For example, when you specify GENERIC.EXE to be renamed to BLAND.EXE with the following command line
RC /fe BLAND.EXE GENERIC.RC GENERIC.EXE				
BLAND.EXE is not created. Furthermore, the Resource Compiler doesn't tell you that it encountered any problems.

BUG: UngetCommChar Causes Character Loss or GP Faults

100183BUG: UngetCommChar causes character loss or GP faults

An application that uses the UngetCommChar() function in Microsoft Windows version 3.1 loses characters or experiences general protection (GP) faults.

BUG: OpenFile Fails When UNC Server Name Longer than 11 Chars

101414BUG: OpenFile() fails when UNC name longer than 11 characters

OpenFile() successfully opens files with universal naming convention (UNC) names when the server portion of the name is 11 characters or shorter, but fails to open files when the server name is longer than 11 characters. Error code number 2, "File not found," is placed in the nErrCode member of the OFSTRUCT structure passed to OpenFile.

BUG: Extra CN_RECEIVE/CN_TRANSMIT Events

101420BUG: Extra CN_RECEIVE/CN_TRANSMIT events

Using EnableCommNotification() to enable WM_COMMNOTIFY messages for CN_RECEIVE or CN_TRANSMIT events can cause spurious WM_COMMNOTIFY messages. At higher baud rates, this problem can cause a system to crash and reboot.

WM_COMMNOTIFY messages are received with a 0 (zero) value for the NotifyStatus parameter. The system crashes and reboots while receiving or transmitting data.

BUG: EV_RLSDS Event Does Not Indicate Current RLSD State

103636BUG: EV_RLSDS event does not indicate current RLSD state

If SetCommEventMask() is used to enable the EV_RLSDS event, when GetCommEventMask() is called, the EV_RLSDS bit will always be 0 (zero).

BUG: SetDIBitsToDevice Faults on 24-BPP PM-Style DIBs

104334BUG: SetDIBitsToDevice faults on 24-bpp PM-style DIBs

SetDIBitsToDevice faults inside GDI when passed a 24-bpp Presentation Manager (PM) style device-independent bitmap (DIB) on a device that supports RC_DIBTODEV.

BUG: StretchDIBits Faults on 24-BPP PM-Style DIBs

104395BUG: StretchDIBits faults on 24-bpp PM-style DIBs

StretchDIBits faults inside GDI when passed a 24-bpp Presentation Manager (PM) style device-independent bitmap (DIB) on a device that supports RC_STRETCHDIB.

BUG: PALETTEINDEX Not Working for Thin Lines on HP PaintJet

104962BUG: PALETTEINDEX not working for thin lines on HP PaintJet

In a Windows 3.1 printing application, calling the PALETTEINDEX macro to select a color when drawing lines 1 pixel wide results in the printer drawing black lines no matter what color index was selected from the logical palette.

BUG: SelectClipRgn Does Not Update Properly on Printer

104963BUG: SelectClipRgn does not update properly on printer

In a Windows 3.1 printing application, calling SelectClipRgn with the second parameter set to NULL to reset the clipping region to clip output to the printer page does not reset the clipping region. Clipping on the printer device context is still set to the clipping region specified in the previous call to SelectClipRgn.

BUG: SetPixel Command Doesn't Work Properly on a PS Printer

106018BUG: SetPixel doesn't work properly on a PS printer

In a Windows 3.1 printing application, calling the SetPixel() command on a device context created for the Windows PostScript printer driver version 3.56 or earlier causes the pixel that is drawn to be larger than expected if a line with a thickness greater than 1 was drawn previously.

BUG: Resolutions for DBWIN Utility Continuous Beeping

108364BUG: Resolutions for DBWIN utility continuous beeping

While running an application that has been compiled under debug mode, with the DBWIN application running, the system may beep continuously causing the computer to hang. This can happen when running the debug version of an executable file in the debugger, or by just executing it.

BUG: Menu Bar Covered By Main Window Client Area

109539BUG: Menu bar covered by main window client area

In an application, the lower half of the menu bar is covered by the client area of the main window.

BUG: GP Fault in LoadLibrary() with C++ DLL

110180BUG: GP fault in LoadLibrary() with C++ DLL

When loading a dynamic-link library (DLL) developed with Microsoft C/C++ 7.0 or Visual C++ with a large number of exports not listed in the module definition (.DEF) file, LoadLibrary() will cause a general protection (GP) fault in Kernel with the message:
Application Error

MYAPP caused a General Protection Fault in module KRNL386.EXE at 0002:0E8D

BUG: Problem with DrawText Statement

When the mapping mode is set to MM_LOMETRIC, DrawText does not properly handle the "&" (ampersand) prefix character. The underscore character that should go beneath the character that follows the "&" in the string is appearing either elsewhere in the client area or not appearing at all.

BUG: Palettes Realized in a Memory DC May Corrupt Screen

On a 256-color display, when a palette is realized into a memory device context (DC), its colors are entered into the system palette, which may corrupt the current screen.

BUG: SystemParametersInfo() Does Not Modify WIN.INI

When a program uses the SystemParametersInfo() function with the SPI_SETMOUSEBUTTONSWAP and SPIF_UPDATEINIFILE flags to reverse the mouse buttons' orientation and modify WIN.INI, the appropiate changes to WIN.INI are not made. The next time Windows starts, the buttons are back to the default orientation.

BUG: DDEML Fails to Free Item Name HSZ on a LATEACK

On an advise loop started with the XTYPF_ACKREQ flag, the item name string is mistakenly removed from the global atom table after a certain period of time causing a subsequent call to DdePostAdvise() on that item name string to fail.

BUG: Ampersand in Menu Item Is Not Converted

110713 Ampersand in menu item is not converted

If a menu item has tabbed or right-justified text that contains a mnemonic access character, an ampersand ("&") will appear in front of the desired access character and the character will not be underlined.

If the menu item has a cascading menu associated with it, the right- justified text may partially overwrite the arrow that indicates the presence of a submenu.

BUG: SetWindowPlacement and ptMin.x or ptMax.x = -1

110793BUG: SetWindowPlacement and ptMin.x or ptMax.x = -1

Passing an X coordinate value of -1 to SetWindowPlacement causes the parameter to be ignored. If ptMinPosition.x is set to -1, SetWindowPlacement won't reset the minimized window coordinate; this is also true for ptMaxPosition.x. This was undocumented in the Windows 3.1 SDK documentation.

BUG: MDI Child Window's "Minimize" System Menu Disabled

BUG: MoveTo/LineTo Causes Divide by 0 Error

111007BUG: MoveTo/LineTo causes divide by 0 error

Using MoveTo and LineTo with a delta X or delta Y greater than 16K to draw within a complex clipping region, causes the system to display the following error message in a system modal dialog box:
Application Error

integer divide by 0

BUG: Gaps Between Wedges Drawn with The Pie Function

111008BUG: Gaps between wedges drawn with Pie()

Under certain circumstances, the Windows SDK Pie function will leave gaps between pie wedges when there should be a solid line.

BUG: Nonscrolling Region in Help File Topic Does Scroll

111095BUG: Nonscrolling region in Help file topic does scroll

A Windows Help file topic that has been formatted to provide a nonscrolling region does scroll.

BUG: R2_XORPEN Binary ROP Code Ignored for Wide Pens

111336BUG: R2_XORPEN binary ROP code ignored for wide pens

If a wide pen is selected in a device context and SetROP2() is called to set the binary raster-operation (ROP) code to R2_XORPEN, the desired effect is not achieved for ellipses, arcs, roundrects, or rectangles. The ROP is basically ignored.

BUG: Pie() and Arc() Functions Fail with a Wide Pen

111337BUG: Pie() and Arc() functions fail with a wide pen

When creating a wide (multiple pixel) pen and drawing a reasonably large object, the drawing function returns 0 (zero) or does not draw anything. Choosing a thin (single pixel) pen or choosing a pen smaller than X pixels corrects the problem.

BUG: Vector Font Rotation Skewed with Non-Top-Left Alignment

111338BUG: Vector font rotation skewed with non-top-left alignment

Vector fonts do not rotate properly with a text alignment set to other than the top left.

To reproduce this problem, create a logical font for the Script vector font. Call SetTextAlign() to set the text alignment to TA_BASELINE and TA_CENTER. Rotate the font, perhaps in a whirl pattern as the FONTEST sample does. Note that the rotation axis is skewed in the northwest- southeast direction. This problem occurs in all mapping modes.

BUG: LineTo() Endcaps Misaligned with Large Pen Width

111576BUG: LineTo() endcaps misaligned with large pen width

If LineTo() is used with a wide pen selected, the endcaps are misaligned with the line; they are skewed at an angle relative to the line.

BUG: Rotated TrueType Font Repaints Many Times

111579BUG: Rotated TrueType font repaints many times

Drawing a rotated TrueType font into a nonrectangular clipping region causes the font to be drawn many (perhaps a hundred) times.

BUG: Some ROP Codes Cause Inconsistent Polygon() Line Segments

111580BUG: Some ROP codes cause inconsistent Polygon() line segments

When a ROP (raster operation) such as R2_XORPEN or R2_NOT is used with the Polygon() function, the line segments may be inconsistent; they may appear highlighted or ragged when they should appear smooth. This may be more apparent when the polygon is filled with a gray brush (80h).

BUG: Pie() Vertex Not Drawn Completely with Wide Pen

111581BUG: Pie() vertex not drawn completely with wide pen

When calling Pie() with a wide pen selected, the vertex of the pie slice is not drawn correctly. The wide lines do not meet at the vertex.

BUG: Arc() Not Drawn Completely with a Wide Pen

111582BUG: Arc() not drawn completely with a wide pen

When calling Arc() with a wide pen selected, occasionally there will be an unfilled line in the third quadrant of the arc.

BUG: Occasional Gap Between Adjacent Pie() Wedges

111584BUG: Occasional gap between adjacent Pie() wedges

If the Pie() function is used to draw two pie wedges with the same bounding rectangle and the end point of the first wedge is equal to the start point of the second wedge, there can be a gap between adjacent wedges. This gap only occurs occasionally, and with certain pie sizes and start-and-end points.

BUG: GetRasterizerCaps Returns Zero When TrueType Is Disabled

111586BUG: GetRasterizerCaps returns zero when TrueType is disabled

When TrueType is disabled from the Control Panel, GetRasterizerCaps() returns zero (failure) instead of clearing the TT_ENABLED flag in the RASTERIZER_STATUS structure.

BUG: _lread() Functions Incorrectly When No Floppy in Drive

Using the function _lread() to read a floppy disk when there is no disk in the floppy drive results in the System error-message box "Cannot Read from Drive..." with Retry and Cancel buttons. If the Cancel button is clicked, _lread() returns, indicating incorrectly that it read the number of bytes requested. Instead, it should return -1, indicating failure.

BUG: OpenFile() Doesn't Handle Forward Slash ("/") Character

111588BUG: OpenFile() doesn't handle forward slash ("/") character

OpenFile() does not correctly handle paths beginning with a forward slash character ("/") (for example, as in "x:/").

BUG: Brush Misaligned in PaintRgn()

111589BUG: Brush misaligned in PaintRgn()

In a mapping mode other than MM_TEXT with the background mode set to TRANSPARENT, when calling PaintRgn() to paint a nonrectangular region with a hatched brush, the brush is misaligned.

BUG: Some TrueType Character Pairs Run Together on VGA

111590BUG: Some TrueType character pairs run together on VGA

On some displays such as the standard VGA display that ships with Windows 3.1, certain TrueType font character pairs do not have any space between them and run together. For example, when using the Arial TrueType font at a point size of 14 or greater, the characters "f7" don't have any space between them.

BUG: IsBadStringPtr() Reports Bad String as Valid

111591BUG: IsBadStringPtr() reports bad string as valid

Under a particular condition, IsBadStringPtr() will report that a bad string is valid. If the pointer passed to IsBadStringPtr() refers to a block of memory of size 0xFFFF and is filled with all nonzero data, IsBadStringPtr() returns 0.

BUG: DeleteObject() Generates Debug Errors in WEP

111592BUG: DeleteObject() generates debug errors in WEP

Freeing GDI objects in the Windows Exit Procedure (WEP) of a dynamic-link library (DLL) will generate errors from the debug version of Windows 3.1. The errors are incorrectly generated if the application has an implicit link to the DLL and the application is terminating.

BUG: DPMI Function 0203h Does Not Report Error

111593BUG: DPMI function 0203h does not report error

Using the DOS Protected Mode Interface (DPMI) function 0203h (set processor exception handler vector) to set an exception handler does not report an error (carry flag set) if the selector:offset pair is invalid.

BUG: Dr. Watson Fails to Write Log File

111596BUG: Dr. Watson fails to write log file

Assume that the drive for the Windows directory is substituted using the MS- DOS SUBST command. For example:

subst w: c:\win31

Under this condition, Dr. Watson fails to write to its log file, either the default DRWATSON.LOG or any other changed log filename. In fact, when the Dr. Watson icon is double-clicked, the message box that follows shows the log filename as W:\\DRWATSON.LOG, which is incorrect.

BUG: Debug Kernel Ignores Fatal Exits When OutputTo=

111597BUG: Debug kernel ignores Fatal Exits when OutputTo=

By default, the Windows debugging kernel sends its debug messages to the AUX device (which maps to the COM1 port). When the debug output from the Windows kernel is redirected by using OutputTo=NUL or OutputTo=<filename> in the [DEBUG] section of the SYSTEM.INI file, Fatal Exit messages are ignored automatically.

BUG: Opaque Rectangle Too Small on Rotated TrueType Fonts

111598BUG: Opaque rectangle too small on rotated TrueType fonts

When a TrueType font is rotated, the text background is too small to completely enclose the glyphs; the same text unrotated is enclosed.

BUG: Character Background Is Not Painted Correctly

111599BUG: Character background is not painted correctly

When text is displayed on a window with a background different than the background of the DC (used to display the text), slivers will display between the characters. The slivers seem to occur only between certain character combinations, such as "Th".

This problem is only evident with some drivers, such as the standard VGA.

BUG: Polygons Drawn with Pens of Odd Width (> 5) Misalign

111600BUG: Polygons drawn with pens of odd width (> 5) misalign

When drawing frames with Polygon(), if the pen width results in an odd number of pixels (and therefore cannot be centered exactly on its coordinates), the extra pixel of width goes up and/or to the left for widths greater than 5 pixels, whereas it correctly goes down and to the right for widths less than or equal to 5 pixels.

BUG: Misleading Default Pushbutton Painting

111601BUG: Misleading default pushbutton painting

Under some conditions in Windows 3.0 and Windows 3.1, more than one pushbutton (or Command button)(style BS_PUSHBUTTON) may be painted with the dark border used to designate a default pushbutton. A default pushbutton is the pushbutton designated to be activated when the user presses the ENTER key.

BUG: GetPrivateProfileInt() May Not Read Correct Value

111602FIX: GetPrivateProfileInt() may not read correct value

If GetPrivateProfileInt() is used to read a number that has preceding white space, the value returned may be incorrect. For example, if the .INI file entry is as follows, GetPrivateProfileInt() may return 0 (zero):

MyValue= 5

BUG: GlobalCompact() May Return an Inaccurate Value

GlobalCompact() may return a very inaccurate value when paging is enabled.

BUG: Explicitly Loaded Modules Not Removed from Memory

111604BUG: Explicitly loaded modules not removed from memory

Modules that are loaded via LoadModule() are not removed from memory when a GP (general protection) fault causes the application that loaded it to terminate. You must exit Windows to unload the module.

BUG: LoadResource() GP Faults When Passed an Invalid HRSRC

111605BUG: LoadResource() GP faults when passed an invalid HRSRC

Passing an invalid handle as the HRSRC parameter for LoadResource() may result in a general protection (GP) fault.

BUG: ROP2 Code Applied Incorrectly in Pie() Function

111606BUG: ROP2 code applied incorrectly in Pie() function

When calling the Windows SDK function Pie() using a ROP2 code other than the default R2_COPYPEN, and using a pen with a width greater than 1 (one), you may notice that the pie border is not drawn correctly.

BUG: Left Part of Character Is Clipped with ExtTextOut/TextOut

111649BUG: Left part of character is clipped with ExtTextOut/TextOut

The left part of a TrueType character such as an italic "f" is clipped.

BUG: DrawFocusRect() Doesn't Work in MM_LOMETRIC Mode

If DrawFocusRect() is called when the mapping mode is MM_LOMETRIC, no rectangle is drawn.

DrawFocusRect() is documented to take logical units and works properly in MM_TEXT mapping mode. However, if the mapping mode is changed to MM_LOMETRIC, as in the following code fragment, DrawFocusRect() called with an appropriate rectangle (logical units) does not work. Calling Rectangle() with the same rectangle does work.
   case WM_PAINT:
         hDC = BeginPaint(hWnd, &ps);

            SetRect(&rc, 0,0,100,100);
            DrawFocusRect(hDC, &rc);      // Works as documented.

            SetMapMode(hDC, MM_LOMETRIC);
            SetRect(&rc, 1,-200,100,-300);
            DrawFocusRect(hDC, &rc);     // Doesn't do anything.
       Rectangle(hDC, rc.left, rc.top, rc.right, rc.bottom); // Works

            EndPaint(hWnd, &ps);
            break;
				

BUG: GetGlyphOutline() with GGO_BITMAP Fails with Large Scale

111651BUG: GetGlyphOutline() with GGO_BITMAP fails with large scale

Calling GetGlyphOutline() for a bitmap and passing a large X or Y scaling factor in the transformation matrix causes the return value to not properly track the bitmap size.

For example, Times New Roman Regular 72 point "1", with a scaling factor of 4.0 in eM11 of the transformation matrix, returns a black box of 100,64. This requires a bitmap of at least 800 bytes but GetGlyphOutline() only returns 256. The native buffer is returned with no problems.

BUG: Printer Driver Receives "bigfonts" When Not Supported

111653BUG: Printer driver receives "bigfonts" when not supported

If the installed display driver of a Windows 3.1 installation supports raster fonts that are greater than 64K, then any printer driver on the system is expected to support the fonts, even if [GetDeviceCaps(hPrnDC, RASTERCAPS) & RC_BIGFONT] returns NULL for the printer driver.

BUG: StretchDIBits Not Correctly Stretching RLE DIBs w/ Jumps

111654BUG: StretchDIBits not correctly stretching RLE DIBs w/ jumps

Calling StretchDIBits() to stretch an RLE device-independent bitmap (DIB) with jumps in it results in random garbage being displayed.

BUG: StretchBlt() Does Not Perform Palette Translations

111729BUG: StretchBlt() does not perform palette translations

Normally, the StretchBlt() function performs a palette translation when the destination and source bitmaps do not contain the same color format or palette. When the destination rectangle is the exact size of the source rectangle (no stretching is performed), the palette translation is not performed.

BUG: TabbedTextOut in Metric Mapping Mode Working Incorrectly

111862BUG: TabbedTextOut in metric mapping mode incorrect

When using TabbedTextOut() in one of the metric mapping modes, a rectangle is displayed in the current background color above the text that is displayed. This rectangle is the width and height of the line of text. The text is displayed with a background that is the current background color. However, the space between the text (where the tab is) is not displayed with a background that is the current background color.

Modification Type:MajorLast Reviewed:5/31/2005
Keywords:kbdownload kbfile kbinfo kbList KB105508 kbAudDeveloper