Closed
Bug 369992
Opened 17 years ago
Closed 17 years ago
Areas previously occupied by a foreignObject aren't repainted
Categories
(Core :: SVG, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jwatt, Assigned: jwatt)
Details
(Keywords: testcase)
Attachments
(2 files, 2 obsolete files)
682 bytes,
image/svg+xml
|
Details | |
4.08 KB,
patch
|
tor
:
review+
tor
:
superreview+
|
Details | Diff | Splinter Review |
When a foreignObject is moved, the area it previously covered is not repainted. The content of the foreignObject then appears in two places.
![]() |
Assignee | |
Updated•17 years ago
|
Assignee: general → jwatt
![]() |
Assignee | |
Comment 1•17 years ago
|
||
So the only possible caller of nsSVGDisplayContainerFrame::UpdateCoveredRegion is nsSVGMarkerFrame::RegionMark. Why doesn't anyone else need to call it? Alternatively, is it still necessary to call it there at all?
![]() |
Assignee | |
Comment 2•17 years ago
|
||
Anyway, I guess nsSVGForeignObjectFrame should be doing something more like nsSVGPathGeometryFrame. The current problem is that the old area isn't invalidated before the covered region mRect is updated.
Attachment #254829 -
Flags: superreview?(tor)
Attachment #254829 -
Flags: review?(tor)
Comment on attachment 254829 [details] [diff] [review] patch This will need updating for bug 369911, and NotifyRedrawUnsuspended should probably check the SVG_DIRTY bit.
![]() |
Assignee | |
Comment 4•17 years ago
|
||
Yeah, that's a fairly trivial update from Robert's or my side.
Attachment #254829 -
Attachment is obsolete: true
Attachment #254835 -
Flags: superreview?(tor)
Attachment #254835 -
Flags: review?(tor)
Attachment #254829 -
Flags: superreview?(tor)
Attachment #254829 -
Flags: review?(tor)
![]() |
Assignee | |
Comment 5•17 years ago
|
||
Robert landed his fix for bug 369911. Here's the updated patch.
Attachment #254835 -
Attachment is obsolete: true
Attachment #254931 -
Flags: superreview?(tor)
Attachment #254931 -
Flags: review?(tor)
Attachment #254835 -
Flags: superreview?(tor)
Attachment #254835 -
Flags: review?(tor)
Comment 6•17 years ago
|
||
I suspect Bug 358718 is a duplicate of this.
![]() |
Assignee | |
Comment 7•17 years ago
|
||
No, that bug is invalid.
Comment on attachment 254931 [details] [diff] [review] patch v2 updated to tip > nsSVGForeignObjectFrame::NotifyRedrawUnsuspended() > { >- if (!(mParent->GetStateBits() & NS_STATE_SVG_NONDISPLAY_CHILD)) >- FlushDirtyRegion(); >+ if (!(mParent->GetStateBits() & NS_STATE_SVG_NONDISPLAY_CHILD)) { >+ if (GetStateBits() & NS_STATE_SVG_DIRTY) { >+ UpdateGraphic(); >+ } >+ else { Prevailing mozilla style is "} else {".
Attachment #254931 -
Flags: superreview?(tor)
Attachment #254931 -
Flags: superreview+
Attachment #254931 -
Flags: review?(tor)
Attachment #254931 -
Flags: review+
![]() |
Assignee | |
Comment 9•17 years ago
|
||
Checked in with style change.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
![]() |
Assignee | |
Comment 10•17 years ago
|
||
Reftest is: http://lxr.mozilla.org/seamonkey/source/layout/reftests/svg/foreignObject-move-repaint-01.svg
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•