diff options
-rw-r--r-- | odb/qt/basic/mysql/qbyte-array-traits.hxx | 8 | ||||
-rw-r--r-- | odb/qt/basic/pgsql/qbyte-array-traits.hxx | 8 | ||||
-rw-r--r-- | odb/qt/basic/sqlite/qbyte-array-traits.hxx | 8 |
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 |