Closed Bug 290102 Opened 19 years ago Closed 19 years ago

Windows widget code can call OnPaint from Invalidate

Categories

(Core :: Widget: Win32, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

VERIFIED FIXED

People

(Reporter: roc, Assigned: pavlov)

References

Details

(Whiteboard: <roc> CTho: nsWindow::OnPaint needs to set and clear a per-nsWindow flag "mIsPainting"; if the flag is already set when we enter OnPaint, just return)

Attachments

(1 file)

This can happen when we're in translucent window mode. This is bad because we
assume elsewhere that it's OK to call Invalidate while painting.

The long term solution is to defer the OnPaint call via an internal event. The
short term solution is to add a flag to the nsWindow structure to detect
recursive entry of OnPaint and bail out if we try to reenter while OnPaint is
already running. It should also print a warning so we know when this happens.
Status: NEW → ASSIGNED
Whiteboard: <roc> CTho: nsWindow::OnPaint needs to set and clear a per-nsWindow flag "mIsPainting"; if the flag is already set when we enter OnPaint, just return
Comment on attachment 181232 [details] [diff] [review]
fix the stack overflow and transparency problems

This fix for a crasher regression needs to go in.
Attachment #181232 - Flags: approval1.8b2?
Assignee: cst → pavlov
Status: ASSIGNED → NEW
Attachment #181232 - Flags: approval1.8b2? → approval1.8b2+
checked in. thanks
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
the crash from bug 290988 is fixed as seen on Windows Firefox and Thunderbird
builds 04/22.  But the transparent Options dialog is still present with
non-default themes. 

Was the patch also meant to fix the transparency issue?  Should a different bug
be logged?  If this is the right bug for this issue, then this bug needs to be
reopened, upgraded to blocker and nominated for blocking 1.1
> Was the patch also meant to fix the transparency issue?

No.

> Should a different bug be logged?

Yes.

> If this is the right bug for this issue,

It's not.
okay, thanks. Filed bug 291484 for the Options dialog transparency issue.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: