drawinglayer/source/attribute/fillgradientattribute.cxx | 4 ++++ drawinglayer/source/attribute/fillgraphicattribute.cxx | 4 ++++ drawinglayer/source/attribute/fillhatchattribute.cxx | 4 ++++ drawinglayer/source/attribute/lineattribute.cxx | 4 ++++ drawinglayer/source/attribute/linestartendattribute.cxx | 4 ++++ drawinglayer/source/attribute/sdrfillattribute.cxx | 4 ++++ drawinglayer/source/attribute/sdrfillgraphicattribute.cxx | 4 ++++ drawinglayer/source/attribute/sdrlightingattribute3d.cxx | 4 ++++ drawinglayer/source/attribute/sdrlineattribute.cxx | 4 ++++ drawinglayer/source/attribute/sdrlinestartendattribute.cxx | 4 ++++ drawinglayer/source/attribute/sdrsceneattribute3d.cxx | 4 ++++ drawinglayer/source/attribute/sdrshadowattribute.cxx | 4 ++++ drawinglayer/source/attribute/strokeattribute.cxx | 4 ++++ 13 files changed, 52 insertions(+)
New commits: commit 39e83a2fb113961711424f0416d34e4443ccdf8c Author: Thorsten Behrens <[email protected]> Date: Sun May 24 11:53:59 2015 +0200 Fix tdf#87509 - default sdr attribute is special object. The drawinglayer attributes signal defaultness by object identity, not value equalness. That should fix a number of subtle cache and redraw problems. Change-Id: I049ffda228a48db71cef108571805c6e41e4b149 (cherry picked from commit 3a01df64d921a65268b00a32aa7256d8f61067be) diff --git a/drawinglayer/source/attribute/fillgradientattribute.cxx b/drawinglayer/source/attribute/fillgradientattribute.cxx index 2689d07..497817e 100644 --- a/drawinglayer/source/attribute/fillgradientattribute.cxx +++ b/drawinglayer/source/attribute/fillgradientattribute.cxx @@ -142,6 +142,10 @@ namespace drawinglayer bool FillGradientAttribute::operator==(const FillGradientAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpFillGradientAttribute == mpFillGradientAttribute; } diff --git a/drawinglayer/source/attribute/fillgraphicattribute.cxx b/drawinglayer/source/attribute/fillgraphicattribute.cxx index bd7b98e..89422be 100644 --- a/drawinglayer/source/attribute/fillgraphicattribute.cxx +++ b/drawinglayer/source/attribute/fillgraphicattribute.cxx @@ -120,6 +120,10 @@ namespace drawinglayer bool FillGraphicAttribute::operator==(const FillGraphicAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpFillGraphicAttribute == mpFillGraphicAttribute; } diff --git a/drawinglayer/source/attribute/fillhatchattribute.cxx b/drawinglayer/source/attribute/fillhatchattribute.cxx index 9e3adc7..f54db08 100644 --- a/drawinglayer/source/attribute/fillhatchattribute.cxx +++ b/drawinglayer/source/attribute/fillhatchattribute.cxx @@ -131,6 +131,10 @@ namespace drawinglayer bool FillHatchAttribute::operator==(const FillHatchAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpFillHatchAttribute == mpFillHatchAttribute; } diff --git a/drawinglayer/source/attribute/lineattribute.cxx b/drawinglayer/source/attribute/lineattribute.cxx index 6cf96e1..6d22e56 100644 --- a/drawinglayer/source/attribute/lineattribute.cxx +++ b/drawinglayer/source/attribute/lineattribute.cxx @@ -118,6 +118,10 @@ namespace drawinglayer bool LineAttribute::operator==(const LineAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpLineAttribute == mpLineAttribute; } diff --git a/drawinglayer/source/attribute/linestartendattribute.cxx b/drawinglayer/source/attribute/linestartendattribute.cxx index f11e66f..f3a0822 100644 --- a/drawinglayer/source/attribute/linestartendattribute.cxx +++ b/drawinglayer/source/attribute/linestartendattribute.cxx @@ -110,6 +110,10 @@ namespace drawinglayer bool LineStartEndAttribute::operator==(const LineStartEndAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpLineStartEndAttribute == mpLineStartEndAttribute; } diff --git a/drawinglayer/source/attribute/sdrfillattribute.cxx b/drawinglayer/source/attribute/sdrfillattribute.cxx index aacfa87..2ad96fe 100644 --- a/drawinglayer/source/attribute/sdrfillattribute.cxx +++ b/drawinglayer/source/attribute/sdrfillattribute.cxx @@ -126,6 +126,10 @@ namespace drawinglayer bool SdrFillAttribute::operator==(const SdrFillAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrFillAttribute == mpSdrFillAttribute; } diff --git a/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx b/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx index 4ad7cdb..ea7e691 100644 --- a/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx +++ b/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx @@ -161,6 +161,10 @@ namespace drawinglayer bool SdrFillGraphicAttribute::operator==(const SdrFillGraphicAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrFillGraphicAttribute == mpSdrFillGraphicAttribute; } diff --git a/drawinglayer/source/attribute/sdrlightingattribute3d.cxx b/drawinglayer/source/attribute/sdrlightingattribute3d.cxx index 9e3f809..43b4b94 100644 --- a/drawinglayer/source/attribute/sdrlightingattribute3d.cxx +++ b/drawinglayer/source/attribute/sdrlightingattribute3d.cxx @@ -102,6 +102,10 @@ namespace drawinglayer bool SdrLightingAttribute::operator==(const SdrLightingAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrLightingAttribute == mpSdrLightingAttribute; } diff --git a/drawinglayer/source/attribute/sdrlineattribute.cxx b/drawinglayer/source/attribute/sdrlineattribute.cxx index 5afcac0..f1842fa 100644 --- a/drawinglayer/source/attribute/sdrlineattribute.cxx +++ b/drawinglayer/source/attribute/sdrlineattribute.cxx @@ -142,6 +142,10 @@ namespace drawinglayer bool SdrLineAttribute::operator==(const SdrLineAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrLineAttribute == mpSdrLineAttribute; } diff --git a/drawinglayer/source/attribute/sdrlinestartendattribute.cxx b/drawinglayer/source/attribute/sdrlinestartendattribute.cxx index 20aa45d..b64f98c 100644 --- a/drawinglayer/source/attribute/sdrlinestartendattribute.cxx +++ b/drawinglayer/source/attribute/sdrlinestartendattribute.cxx @@ -144,6 +144,10 @@ namespace drawinglayer bool SdrLineStartEndAttribute::operator==(const SdrLineStartEndAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrLineStartEndAttribute == mpSdrLineStartEndAttribute; } diff --git a/drawinglayer/source/attribute/sdrsceneattribute3d.cxx b/drawinglayer/source/attribute/sdrsceneattribute3d.cxx index 5776d20..a873440 100644 --- a/drawinglayer/source/attribute/sdrsceneattribute3d.cxx +++ b/drawinglayer/source/attribute/sdrsceneattribute3d.cxx @@ -123,6 +123,10 @@ namespace drawinglayer bool SdrSceneAttribute::operator==(const SdrSceneAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrSceneAttribute == mpSdrSceneAttribute; } diff --git a/drawinglayer/source/attribute/sdrshadowattribute.cxx b/drawinglayer/source/attribute/sdrshadowattribute.cxx index 9630593..907423a 100644 --- a/drawinglayer/source/attribute/sdrshadowattribute.cxx +++ b/drawinglayer/source/attribute/sdrshadowattribute.cxx @@ -109,6 +109,10 @@ namespace drawinglayer bool SdrShadowAttribute::operator==(const SdrShadowAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return mpSdrShadowAttribute == rCandidate.mpSdrShadowAttribute; } diff --git a/drawinglayer/source/attribute/strokeattribute.cxx b/drawinglayer/source/attribute/strokeattribute.cxx index 08445b0..efbcc5d 100644 --- a/drawinglayer/source/attribute/strokeattribute.cxx +++ b/drawinglayer/source/attribute/strokeattribute.cxx @@ -110,6 +110,10 @@ namespace drawinglayer bool StrokeAttribute::operator==(const StrokeAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpStrokeAttribute == mpStrokeAttribute; } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
