Closed Bug 281742 Opened 20 years ago Closed 20 years ago

text as clip path causes paint loop

Categories

(Core :: SVG, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: tor, Assigned: tor)

References

()

Details

Attachments

(1 file)

In the process of drawing the clip region, we invalidate the CTM of the
the glyph frame.  Normally this invalidates the region covered by the
text, but since we're already drawing we get into a paint loop.  Stop
this happening in the same manner done by nsSVGPathGeometryFrame.
Attached patch stop paint loopSplinter Review
Attachment #173909 - Flags: review?(scootermorris)
Comment on attachment 173909 [details] [diff] [review]
stop paint loop

>Index: nsSVGGlyphFrame.cpp
>===================================================================
nit: weill --> will??

>+    if (dirty_region) {
>+      // if we're being used as a clippath, this weill get called
>+      // during the paint - don't need to invalidate (which causes
>+      // us to loop busy-painting)
>+
>+      nsIView *view = GetClosestView();
>+      if (!view) return;
>+      nsIViewManager *vm = view->GetViewManager();
>+      PRBool painting;
>+      vm->IsPainting(painting);
Attachment #173909 - Flags: review?(scootermorris) → review+
Nit fixed, checked in.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: