summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-04-16 12:11:39 +0200
committerMichael Stahl <mstahl@redhat.com>2014-04-16 12:47:43 +0200
commit426077fbea57facf9907cff2431d8f669713d6da (patch)
tree68f5ccef88706419f3dad75b8af16a92cd797b86
parent5d53cabb52648507086a39e06803624949e4a301 (diff)
fdo#77027: add some comments to prevent such oversights
Change-Id: I381c9738bba3e422e01324fa0c781c857db3d360
-rw-r--r--include/xmloff/xmlimp.hxx7
-rw-r--r--xmloff/source/draw/XMLGraphicsDefaultStyle.cxx5
2 files changed, 12 insertions, 0 deletions
diff --git a/include/xmloff/xmlimp.hxx b/include/xmloff/xmlimp.hxx
index d4a748047b00..8790f778c31d 100644
--- a/include/xmloff/xmlimp.hxx
+++ b/include/xmloff/xmlimp.hxx
@@ -430,11 +430,18 @@ public:
static const sal_uInt16 OOo_34x = 34;
// for AOO, no release overlaps with OOo, so continue OOo version numbers
static const sal_uInt16 AOO_40x = 40;
+ // @ATTENTION: it's not usually ok to use the "4x" "wildcard" in an "=="
+ // comparison, since that will match unreleased versions too; it is also
+ // risky to use it in "<" comparison, because it requires checking and
+ // possibly adapting all such uses when a new value for a more specific
+ // version is added.
static const sal_uInt16 AOO_4x = 41;
static const sal_uInt16 LO_flag = 0x100;
static const sal_uInt16 LO_3x = 30 | LO_flag;
static const sal_uInt16 LO_41x = 41 | LO_flag;
static const sal_uInt16 LO_42x = 42 | LO_flag;
+ /// @ATTENTION: when adding a new value more specific than "4x", grep for
+ /// all current uses and adapt them!!!
static const sal_uInt16 LO_4x = 43 | LO_flag;
static const sal_uInt16 ProductVersionUnknown = SAL_MAX_UINT16;
diff --git a/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx b/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
index afbe5797bf7f..9753a3fe0b8a 100644
--- a/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
+++ b/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
@@ -125,6 +125,11 @@ void XMLGraphicsDefaultStyle::SetDefaults()
xDefaults->setPropertyValue("IsFollowingTextFlow", uno::makeAny(true));
}
+ // NOTE: the only reason why it's legal to check "==" (not "<") against
+ // arbitrary versions here is that the default value of these attributes
+ // is not defined by ODF, therefore it is implementation-defined
+ // (and we of course must not override any attributes that are actually
+ // in the document, so check for that)
bool const bIsAOO4(
GetImport().getGeneratorVersion() >= SvXMLImport::AOO_40x
&& GetImport().getGeneratorVersion() <= SvXMLImport::AOO_4x);