Closed Bug 329299 Opened 19 years ago Closed 18 years ago

Crash printing web page on IBM drivers (Infoprint/Lexmark)

Categories

(Core :: Printing: Output, defect)

1.8 Branch
x86
Windows XP
defect
Not set
critical

Tracking

()

VERIFIED FIXED

People

(Reporter: mkaply, Assigned: ehsan.akhgari)

References

()

Details

(Keywords: relnote, verified1.8.0.9, verified1.8.1.1)

Attachments

(2 files, 1 obsolete file)

I thought this was related to bug 317420, but it is not. This is a totally different bug although it again only happens on IBM Inforprint/Lexmark drivers This crash happens in opt and debug builds. I'll attach a call stack if it is useful. If you want to recreate this problem., you can install the driver here: http://www-1.ibm.com/support/docview.wss?rs=95&context=SRATEK&dc=D400&q1=psd1*&uid=psd1P4000300&loc=en_US&cs=utf-8&lang=en You don't need the printer.
Call stack: IIAAG1DD! 03e0e02a() IIAAG1DD! 03e0e20c() IIAAG1DD! 03e0e2fc() GDI32! 77f28756() USER32! 77d603fb() NTDLL! 7c90eae3() CompositeBitsInMemory(HDC__ * 0xf5211330, int 1322, int 435, int 1060, int 430, int 0, int 0, int 285, int 115, int 1, unsigned char * 0x03316950, MONOBITMAPINFO * 0x0012da80, unsigned char * 0x03556b28, tagBITMAPINFOHEADER * 0x032fe4e0, short 0) line 2050 nsImageWin::Draw(nsImageWin * const 0x032fe458, nsIRenderingContext & {...}, nsIDrawingSurface * 0x03446448, int 0, int 0, int 285, int 115, int 1322, int 435, int 1060, int 430) line 575 + 81 bytes nsRenderingContextImpl::DrawImage(nsRenderingContextImpl * const 0x034462f8, imgIContainer * 0x032f40b8, const nsRect & {...}, const nsRect & {...}) line 378 + 72 bytes nsImageFrame::Paint(nsImageFrame * const 0x03543ee4, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 1404 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03543ee4, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsContainerFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 228 nsHTMLContainerFrame::PaintDecorationsAndChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, int 0, unsigned int 0) line 138 nsInlineFrame::Paint(nsInlineFrame * const 0x03543d8c, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 327 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03543d8c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsBlockFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03543d8c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 287 PaintLine(const nsRect & {...}, const nsRect & {...}, nsLineList_iterator & {...}, int 0, int & 55846392, nsPresContext * 0x032da798, nsIRenderingContext & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, nsBlockFrame * 0x03543adc) line 6377 nsBlockFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6445 + 44 bytes nsHTMLContainerFrame::PaintDecorationsAndChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, int 1, unsigned int 0) line 138 nsBlockFrame::Paint(nsBlockFrame * const 0x03543adc, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6272 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03543adc, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsContainerFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 228 nsTableCellFrame::Paint(nsTableCellFrame * const 0x03543a7c, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 440 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03543a7c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsContainerFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 228 nsTableRowFrame::Paint(nsTableRowFrame * const 0x035437b4, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 561 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x035437b4, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsContainerFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 228 nsTableRowGroupFrame::Paint(nsTableRowGroupFrame * const 0x03523360, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 229 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03523360, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsContainerFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 228 nsTableFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 1365 nsTableFrame::Paint(nsTableFrame * const 0x03543398, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 1427 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03543398, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsTableOuterFrame::Paint(nsTableOuterFrame * const 0x0354323c, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 335 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x0354323c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsBlockFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x0354323c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 287 PaintLine(const nsRect & {...}, const nsRect & {...}, nsLineList_iterator & {...}, int 0, int & 55518116, nsPresContext * 0x032da798, nsIRenderingContext & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, nsBlockFrame * 0x03542f1c) line 6377 nsBlockFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6445 + 44 bytes nsHTMLContainerFrame::PaintDecorationsAndChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, int 1, unsigned int 0) line 138 nsBlockFrame::Paint(nsBlockFrame * const 0x03542f1c, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6272 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03542f1c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsBlockFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03542f1c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 287 PaintLine(const nsRect & {...}, const nsRect & {...}, nsLineList_iterator & {...}, int 0, int & 55518116, nsPresContext * 0x032da798, nsIRenderingContext & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, nsBlockFrame * 0x034f291c) line 6377 nsBlockFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6445 + 44 bytes nsHTMLContainerFrame::PaintDecorationsAndChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, int 1, unsigned int 0) line 138 nsBlockFrame::Paint(nsBlockFrame * const 0x034f291c, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6272 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x034f291c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsBlockFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x034f291c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 287 PaintLine(const nsRect & {...}, const nsRect & {...}, nsLineList_iterator & {...}, int 0, int & 55518848, nsPresContext * 0x032da798, nsIRenderingContext & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, nsBlockFrame * 0x034f270c) line 6377 nsBlockFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6445 + 44 bytes nsHTMLContainerFrame::PaintDecorationsAndChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, int 1, unsigned int 0) line 138 nsBlockFrame::Paint(nsBlockFrame * const 0x034f270c, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6272 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x034f270c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsBlockFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x034f270c, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 287 PaintLine(const nsRect & {...}, const nsRect & {...}, nsLineList_iterator & {...}, int 0, int & 55518116, nsPresContext * 0x032da798, nsIRenderingContext & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, nsBlockFrame * 0x034f2428) line 6377 nsBlockFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6445 + 44 bytes nsHTMLContainerFrame::PaintDecorationsAndChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, int 1, unsigned int 0) line 138 nsBlockFrame::Paint(nsBlockFrame * const 0x034f2428, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 6272 nsContainerFrame::PaintChild(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x034f2428, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 283 nsContainerFrame::PaintChildren(nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 228 nsContainerFrame::Paint(nsContainerFrame * const 0x034f2164, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 209 nsPageContentFrame::Paint(nsPageContentFrame * const 0x034f2164, nsPresContext * 0x032da798, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, unsigned int 0) line 192 + 27 bytes PresShell::Paint(PresShell * const 0x0335cd78, nsIView * 0x032e5148, nsIRenderingContext & {...}, const nsRect & {...}) line 5815 + 31 bytes nsView::Paint(nsView * const 0x032e5148, nsIRenderingContext & {...}, const nsRect & {...}, unsigned int 0, int & 10254560) line 316 nsViewManager::RenderDisplayListElement(DisplayListElement2 * 0x035535c0, nsIRenderingContext * 0x034462f8) line 1460 nsViewManager::RenderViews(nsView * 0x03061b00, nsIRenderingContext & {...}, const nsRegion & {...}, nsIDrawingSurface * 0x00000000, const nsVoidArray & {...}) line 1375 nsViewManager::Display(nsViewManager * const 0x032c4d88, nsIView * 0x03061b00, int 0, int 0, const nsRect & {...}) line 3612 + 39 bytes nsSimplePageSequenceFrame::PrintNextPage(nsSimplePageSequenceFrame * const 0x034f1f04, nsPresContext * 0x032da798) line 880 nsPrintEngine::PrintPage(nsPresContext * 0x032da798, nsIPrintSettings * 0x03183438, nsPrintObject * 0x034ab928, int & 1) line 3511 + 22 bytes nsPagePrintTimer::Notify(nsPagePrintTimer * const 0x034f36b0, nsITimer * 0x035538c8) line 91 + 41 bytes nsTimerImpl::Fire() line 398 nsTimerManager::FireNextIdleTimer(nsTimerManager * const 0x01a21210) line 628 nsAppShell::Run(nsAppShell * const 0x0102c710) line 142 nsAppStartup::Run(nsAppStartup * const 0x0102c670) line 150 + 26 bytes XRE_main(int 1, char * * 0x009c7710, const nsXREAppData * 0x0042201c kAppData) line 2351 + 35 bytes main(int 1, char * * 0x009c7710) line 61 + 18 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 7c816d4f()
Note that printing in print preview doesn't work around this crash.
Here are the values in CompositeBits when it crahes: aDHeight 430 aDWidth 1060 aDX 1322 aDY 435 aNumPaletteColors 0 aSHeight 115 aSrcy 1 aSWidth 285 aSX 0 I did notice there is a floating div in the page and when I remove that it works.
I'm guessing it's crashing here: // output the composed image ::StretchDIBits(aTheHDC, aDX, aDY, aDWidth, aDHeight, aSX, aSrcy, aSWidth, aSHeight, screenBits, (LPBITMAPINFO)&offbmi, 256 == aNumPaletteColors ? DIB_PAL_COLORS : DIB_RGB_COLORS, SRCCOPY);
It is crashing there. if I set aDWidth down to 0 it doesn't crash. No idea what's going on here.
Another interesting observation. The crash is happening printing the main image at hippo - the image dimensions are 285x116. When I look at the code that is doing the draw, sr.height is 115 for some reason. width is 285
Severity: normal → critical
We can't fix this. It is genuinely a bug in the driver. The driver folks have fixes - the problem is how many drivers will need to be updated and how they will get out. Work around is to change the scale factor in Print Preview - don't use scale to fit - and you won't see the problem. I wish I had a better story.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → WONTFIX
can you get a release note added listing bad versions, suggested update versions and urls? :)
Keywords: relnote
*** Bug 338324 has been marked as a duplicate of this bug. ***
*** Bug 345947 has been marked as a duplicate of this bug. ***
mkaply: technically we can fix this by adding SEH (see the plugin code), there's a bug somewhere where i describe starting to work on this.
(In reply to comment #11) > mkaply: technically we can fix this by adding SEH (see the plugin code), > there's a bug somewhere where i describe starting to work on this. Can someone who has access to the buggy printer driver please test the following build, and see if the crash happens or not? <http://www.mcsmurf.de/mozilla/firefox-trunk-20060821-print.zip> I have written a patch including the mentioned SEH code which I think should fix this problem, but I don't have access to such a printer to test it. Thanks!
*** Bug 324135 has been marked as a duplicate of this bug. ***
(In reply to comment #12) > > Can someone who has access to the buggy printer driver please test the > following build, and see if the crash happens or not? > > <http://www.mcsmurf.de/mozilla/firefox-trunk-20060821-print.zip> > > I have written a patch including the mentioned SEH code which I think should > fix this problem, but I don't have access to such a printer to test it. > Thanks! > Hi there, One of my colleagues has tested out the patched version: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060821 Minefield/3.0a1 and I'm happy to report that it fixes the problem for us.
I'm reopening this bug, and I'll submit a patch shortly, which is the one used in the build available at the URL in comment #12. I appreciate if there are more testers which can test that build (I don't have access to such buggy printer drivers.)
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Taking this bug...
Status: REOPENED → ASSIGNED
Assignee: printing → ehsan.akhgari
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
Probably a duplicate of bug 317420, please confirm.
reinout@gmail.com: no. no. no. open printing bugs relating to crashing because of buggy drivers are a duplicate of this one.
(In reply to comment #16) > Taking this bug... > The build you have fixes my bug as well. Can we PLEASE get a patch to put in ASAP? Thanks
(In reply to comment #19) > (In reply to comment #16) > > Taking this bug... > > > > The build you have fixes my bug as well. Great. > Can we PLEASE get a patch to put in ASAP? Sure. Unfortunately I can't invest enough time to update this patch for the recent trunk code, but I guess it doesn't need a lot of modifications to work.
(In reply to comment #19) > Sure. Unfortunately I can't invest enough time to update this patch for the > recent trunk code, but I guess it doesn't need a lot of modifications to work. Also related: bug #350087.
Attached patch Fix for specific problem (obsolete) — Splinter Review
I've added a try catch block only around the failing call. A build change is NOT needed. Just the file change. We do get this warning now, which doesn't really bother me: c:/builds/180branch/mozilla/gfx/src/windows/nsImageWin.cpp(2045) : warning C4530 : C++ exception handler used, but unwind semantics are not enabled. Specify -GX
Comment on attachment 245461 [details] [diff] [review] Fix for specific problem Right now I simple ignore the call in the failing case. In my debugging, I found that aSrcy is 1 when it should be 0 with these drivers (printing with other drivers shows this) so I can also submit a patch that retries the call with aSrcy -1.
Attachment #245461 - Flags: review?(roc)
Attached patch Use SEHSplinter Review
Better fix that uses SEH and retries the API.
Attachment #245465 - Flags: review?
Attachment #245465 - Flags: review? → review?(roc)
(In reply to comment #24) > Created an attachment (id=245465) [edit] > Use SEH > > Better fix that uses SEH and retries the API. I think it would be better to handle the case where the inner StretchDIBits() throws an exception as well, by nesting a __try/__except inside the __except block.
Comment on attachment 245465 [details] [diff] [review] Use SEH This is a dirty hack, but I guess we need it. I don't think we should add additional try blocks unless we find that they're actually needed.
Attachment #245465 - Flags: superreview+
Attachment #245465 - Flags: review?(roc)
Attachment #245465 - Flags: review+
Comment on attachment 245465 [details] [diff] [review] Use SEH This bug is a big deal inside IBM. Basically you can't print many pages inside IBM because we use these printers everywhere. I'd prefer not to build a custom build for IBM...
Attachment #245465 - Flags: approval1.8.1.1?
Attachment #245465 - Flags: approval1.8.0.9?
*** Bug 360016 has been marked as a duplicate of this bug. ***
we've discovered this happens with Dell printers as well...
Just to be clear, this is fixed on trunk and has baked for a while. I really need this on the branches...
Status: ASSIGNED → RESOLVED
Closed: 19 years ago18 years ago
Resolution: --- → FIXED
Comment on attachment 245465 [details] [diff] [review] Use SEH approved for 1.8/1.8.0 branch, a=dveditz for drivers
Attachment #245465 - Flags: approval1.8.1.1?
Attachment #245465 - Flags: approval1.8.1.1+
Attachment #245465 - Flags: approval1.8.0.9?
Attachment #245465 - Flags: approval1.8.0.9+
Verified fixed for 1.8.0.9 and 1.8.1.1 Tested with 1509pre and 2001pre
Status: RESOLVED → VERIFIED
Comment on attachment 245461 [details] [diff] [review] Fix for specific problem this patch seems to be obsolete now
Attachment #245461 - Attachment is obsolete: true
Attachment #245461 - Flags: review?(roc)
*** Bug 350585 has been marked as a duplicate of this bug. ***
Depends on: 363592

I'm guessing it's crashing here:

    // output the composed image
    ::StretchDIBits(aTheHDC, aDX, aDY, aDWidth, aDHeight,
                    aSX, aSrcy, aSWidth, aSHeight,
                    screenBits, (LPBITMAPINFO)&offbmi,
                    256 == aNumPaletteColors ? DIB_PAL_COLORS : DIB_RGB_COLORS,
                    SRCCOPY);

A blog has been published on https://www.huuq.net recently about this problem, I guess, such problems still continue.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: