Issue 118855

Summary: Print preparation leaves unwanted graphic rests
Product: Draw Reporter: Armin Le Grand <Armin.Le.Grand>
Component: printingAssignee: AOO issues mailing list <issues>
Status: ACCEPTED --- QA Contact:
Severity: Normal    
Priority: P5 (lowest) CC: awf.aoo, issues
Version: 3.4.0 Beta (OOo)   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---

Description Armin Le Grand 2012-01-30 15:34:50 UTC
ALG: When printing graphics which contain transparent parts RemoveTransparenciesFromMetaFile is used to remove these; this leads to graphic snippets outside the prepared, non-transparent parts.
Comment 1 Armin Le Grand 2012-01-30 15:39:37 UTC
ALG: Problem is that the change of PL to use B2DPolyPolygons in ClipRegions did not take into account that a intersection with a rectangle may lead to an empty clipRegion. In that case, clipRegion needs to be modified accordingly. This needs to be done for PolyPolygon and B2DPolyPolygon. Also ImplInitClipRegion() needs to react on an empty clipRegion by setting the mbOutputClipped flag accordingly.
Comment 2 Armin Le Grand 2012-01-30 15:43:08 UTC
ALG: Tested, looks good. Checked in, done.
Comment 3 Oliver-Rainer Wittmann 2012-06-13 12:27:57 UTC
getting rid of value "enhancement" for field "severity".
For enhancement the field "issue type" shall be used.
Comment 4 Andre 2012-07-05 15:46:07 UTC
Reopening because of bug 120096 where OutputDevice::ImplInitClipRegion() calls Region::Intersect().  The OutputDevice::mbOutputClipped flag is set when the resulting region is empty.  This works only when the other region is a rectangle.  The fix for bug 120096 fixes that for clipping one polygon against another but there may be other cases that are still be missed.
Comment 5 Armin Le Grand 2012-08-17 15:25:16 UTC
ALG: Taking a look. It seems that ImplRegion should not have mpPolyPoly or mpB2DPolyPoly set when these are empty. Adding asserts and checking usages...
Comment 6 Armin Le Grand 2012-08-17 16:17:45 UTC
ALG: Renamed to unique names, checked all places where the polygons get changed. Looking for all places where PolyPolygon gets manipulated reveals that teher are quite some places missing where B2DPolyPolygon is tot taken into account at all. Extending adaption...
Comment 7 Armin Le Grand 2012-08-17 17:28:21 UTC
ALG: Found even more problems. I'm now systematically checking the whole additional B2DPolyPolygon implementation. Also adding cases to GetType() which reacht on empty polygons and assert them.
All in all tricky, I already had some problems since this is a sensitive area and immediately leads to problems...
Comment 8 Armin Le Grand 2012-08-21 08:32:09 UTC
ALG: Slowly upgrading implementations, always careful and need to test single change steps. Again stumbled over changes which will deeply influence the office due to the central role of Region(s). Progressing...
Comment 9 Armin Le Grand 2012-08-23 15:32:01 UTC
ALG: All the Region implementation is not lean and clean, fighting hard for better solution...
Comment 10 Marcus 2017-05-20 11:35:17 UTC
Reset assigne to the default "".