summaryrefslogtreecommitdiff
path: root/drawinglayer
diff options
context:
space:
mode:
authorThorsten Behrens <Thorsten.Behrens@CIB.de>2015-05-24 11:53:59 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2015-05-24 21:53:48 +0200
commit39e83a2fb113961711424f0416d34e4443ccdf8c (patch)
tree56db00552c80fbd24d48cf85628668e74c331fa9 /drawinglayer
parentf4cc15e4d6acae5f9c7fd73a9bf0d8f44088e2fe (diff)
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)
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/source/attribute/fillgradientattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/fillgraphicattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/fillhatchattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/lineattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/linestartendattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/sdrfillattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/sdrfillgraphicattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/sdrlightingattribute3d.cxx4
-rw-r--r--drawinglayer/source/attribute/sdrlineattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/sdrlinestartendattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/sdrsceneattribute3d.cxx4
-rw-r--r--drawinglayer/source/attribute/sdrshadowattribute.cxx4
-rw-r--r--drawinglayer/source/attribute/strokeattribute.cxx4
13 files changed, 52 insertions, 0 deletions
diff --git a/drawinglayer/source/attribute/fillgradientattribute.cxx b/drawinglayer/source/attribute/fillgradientattribute.cxx
index 2689d071cf67..497817e9b3d4 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 bd7b98ea48b2..89422befac87 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 9e3adc79114f..f54db0861655 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 6cf96e1d58f4..6d22e569ada7 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 f11e66f3e156..f3a0822a575f 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 aacfa877977d..2ad96fec408f 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 4ad7cdb91662..ea7e691cd169 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 9e3f809be312..43b4b946d3da 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 5afcac016887..f1842fa03853 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 20aa45da1837..b64f98c59042 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 5776d201c34a..a8734406220c 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 9630593d90af..907423aa2238 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 08445b04a5c4..efbcc5dbcc42 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;
}