Compare commits

...

2 commits

Author SHA1 Message Date
pls.153
7ae3cfb04a example 'qsqlite': fix crash if image is not found 2025-03-21 15:18:22 +01:00
pls.153
1411f44994 revisions 2025-03-21 13:20:39 +01:00
3 changed files with 13 additions and 11 deletions

View file

@ -186,8 +186,8 @@ QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVa
while (sqlQuery.next()) { while (sqlQuery.next()) {
if (cols > 1) { if (cols > 1) {
QVariantList list; QVariantList list;
for (auto r = 0; r < cols; r++) { for (auto c = 0; c < cols; c++) {
list << sqlQuery.value(r); list << sqlQuery.value(c);
} }
results << QVariant(list); results << QVariant(list);
} else { } else {

View file

@ -50,8 +50,8 @@ QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVa
while (sqlQuery.next()) { while (sqlQuery.next()) {
if (cols > 1) { if (cols > 1) {
QVariantList list; QVariantList list;
for (auto r = 0; r < cols; r++) { for (auto c = 0; c < cols; c++) {
list << sqlQuery.value(r); list << sqlQuery.value(c);
} }
results << QVariant(list); results << QVariant(list);
} else { } else {
@ -82,12 +82,14 @@ QPixmap DatabaseImageProvider::requestPixmap(const QString& name, QSize* size, c
auto result = qt->sqlQuery( auto result = qt->sqlQuery(
"select data from images where name = ?", "select data from images where name = ?",
QVariantList() << name, QVariantList() << name,
1); // number of returned columns 1).value<QVariantList>(); // number of returned columns
QPixmap pixmap; QPixmap pixmap;
pixmap.loadFromData(result.value<QVariantList>().first().toByteArray()); if (!result.isEmpty()) {
*size = pixmap.size(); pixmap.loadFromData(result.first().toByteArray());
if (requestedSize.isValid() && (pixmap.size() != requestedSize)) { *size = pixmap.size();
pixmap = pixmap.scaled(requestedSize); if (requestedSize.isValid() && (pixmap.size() != requestedSize)) {
pixmap = pixmap.scaled(requestedSize);
}
} }
return pixmap; return pixmap;
} }

View file

@ -29,7 +29,7 @@
(progn (progn
(db:delete-all-images) (db:delete-all-images)
(dolist (file files) (dolist (file files)
(db:save-image (pathname-name file) (file-bytes file))))) (db:save-image (pathname-name file) (file-bytes file))))
(x:d "No 'blob/' directory found.")))) (x:d "No 'blob/' directory found.")))))
(qlater 'ini) (qlater 'ini)