aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/qt/basic/mysql/qbyte-array-traits.hxx8
-rw-r--r--odb/qt/basic/pgsql/qbyte-array-traits.hxx8
-rw-r--r--odb/qt/basic/sqlite/qbyte-array-traits.hxx8
3 files changed, 21 insertions, 3 deletions
diff --git a/odb/qt/basic/mysql/qbyte-array-traits.hxx b/odb/qt/basic/mysql/qbyte-array-traits.hxx
index 52e620c..a80187d 100644
--- a/odb/qt/basic/mysql/qbyte-array-traits.hxx
+++ b/odb/qt/basic/mysql/qbyte-array-traits.hxx
@@ -36,7 +36,13 @@ namespace odb
if (is_null)
v = QByteArray ();
else
- v.replace (0, v.size (), b.data (), static_cast<int> (n));
+ {
+ // Note that we cannot use replace() here since a suitable
+ // overload was only added in Qt 4.7.
+ //
+ v.resize (static_cast<int> (n));
+ std::memcpy (v.data (), b.data (), n);
+ }
}
static void
diff --git a/odb/qt/basic/pgsql/qbyte-array-traits.hxx b/odb/qt/basic/pgsql/qbyte-array-traits.hxx
index cf0477e..8491794 100644
--- a/odb/qt/basic/pgsql/qbyte-array-traits.hxx
+++ b/odb/qt/basic/pgsql/qbyte-array-traits.hxx
@@ -36,7 +36,13 @@ namespace odb
if (is_null)
v = QByteArray ();
else
- v.replace (0, v.size (), b.data (), static_cast<int> (n));
+ {
+ // Note that we cannot use replace() here since a suitable
+ // overload was only added in Qt 4.7.
+ //
+ v.resize (static_cast<int> (n));
+ std::memcpy (v.data (), b.data (), n);
+ }
}
static void
diff --git a/odb/qt/basic/sqlite/qbyte-array-traits.hxx b/odb/qt/basic/sqlite/qbyte-array-traits.hxx
index 0d1437e..9c563f3 100644
--- a/odb/qt/basic/sqlite/qbyte-array-traits.hxx
+++ b/odb/qt/basic/sqlite/qbyte-array-traits.hxx
@@ -36,7 +36,13 @@ namespace odb
if (is_null)
v = QByteArray ();
else
- v.replace (0, v.size (), b.data (), static_cast<int> (n));
+ {
+ // Note that we cannot use replace() here since a suitable
+ // overload was only added in Qt 4.7.
+ //
+ v.resize (static_cast<int> (n));
+ std::memcpy (v.data (), b.data (), n);
+ }
}
static void