Your message dated Wed, 18 Jun 2025 10:05:26 +0000
with message-id <[email protected]>
and subject line unblock lomiri-camera-app
has caused the Debian Bug report #1107850,
regarding unblock: lomiri-camera-app/4.0.8+dfsg-5
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1107850: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107850
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:lomiri-camera-app
User: [email protected]
Usertags: unblock
Please unblock package lomiri-camera-app
I added two more patches from upstream, one fixing a file access bug /
race condition and another fixing a usability issue.
[ Reason ]
+ * debian/patches:
+ + Add 0006_qml-Viewfinder-fix-content-export-preview-corruption.patch.
+ qml/Viewfinder: Fix content export preview corruption in !hasEXIF mode.
-> Fix for two threads possibly trying to write to an image file
simultaneously, causing its corruption.
+ + Add 0007_qml-Support-scanning-white-QR-codes-in-BarcodeReaderApp.patch.
+ Support white QR codes in barcode reader app.
-> Support scanning white QR codes.
[ Impact ]
Above mentioned problems remain in Lomiri's Camera App in trixie.
[ Tests ]
Manual tests.
[ Risks ]
Minimal, only for users of Lomiri Camera App.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
[ Other info ]
Relevant for Lomiri in Debian.
unblock lomiri-camera-app/4.0.8+dfsg-5
diff -Nru lomiri-camera-app-4.0.8+dfsg/debian/changelog
lomiri-camera-app-4.0.8+dfsg/debian/changelog
--- lomiri-camera-app-4.0.8+dfsg/debian/changelog 2025-05-30
16:14:07.000000000 +0200
+++ lomiri-camera-app-4.0.8+dfsg/debian/changelog 2025-06-15
21:14:56.000000000 +0200
@@ -1,3 +1,13 @@
+lomiri-camera-app (4.0.8+dfsg-5) unstable; urgency=medium
+
+ * debian/patches:
+ + Add 0006_qml-Viewfinder-fix-content-export-preview-corruption.patch.
+ qml/Viewfinder: Fix content export preview corruption in !hasEXIF mode.
+ + Add 0007_qml-Support-scanning-white-QR-codes-in-BarcodeReaderApp.patch.
+ Support white QR codes in barcode reader app.
+
+ -- Mike Gabriel <[email protected]> Sun, 15 Jun 2025 21:14:56 +0200
+
lomiri-camera-app (4.0.8+dfsg-4) unstable; urgency=medium
* debian/patches:
diff -Nru
lomiri-camera-app-4.0.8+dfsg/debian/patches/0006_qml-Viewfinder-fix-content-export-preview-corruption.patch
lomiri-camera-app-4.0.8+dfsg/debian/patches/0006_qml-Viewfinder-fix-content-export-preview-corruption.patch
---
lomiri-camera-app-4.0.8+dfsg/debian/patches/0006_qml-Viewfinder-fix-content-export-preview-corruption.patch
1970-01-01 01:00:00.000000000 +0100
+++
lomiri-camera-app-4.0.8+dfsg/debian/patches/0006_qml-Viewfinder-fix-content-export-preview-corruption.patch
2025-06-06 19:21:41.000000000 +0200
@@ -0,0 +1,103 @@
+From f3f7476729771137ea510f81357fef98d9d3b9bb Mon Sep 17 00:00:00 2001
+From: Ratchanan Srirattanamet <[email protected]>
+Date: Fri, 30 May 2025 20:56:44 +0700
+Subject: [PATCH] qml/Viewfinder: fix content export preview corruption in
+ !hasEXIF mode
+
+Because of signal connection order, content export preview will start
+rendering image while `deleteEXIF()` re-writes the file. This causes
+preview image to corrupt.
+
+Move all imageSaved() signal handler code from `ViewFinderOverlay` to
+`ViewFinderView` so that we can control the ordering. Order it so that
+(synchronous) `deleteEXIF()` happens before content export preview
+renders image.
+
+#While we're at it, remove call to non-existent `fileOperations.
+#setEXIFData()` (which is redundant with another part of code in
+#`ViewFinderOverlay`); the exception thrown will prevent the rest of the
+#code to run.
+
+Finally, add a few comments so that we turn `deleteEXIF()` to be
+asynchronous in the future.
+
+Fixes:
https://gitlab.com/ubports/development/apps/lomiri-camera-app/-/issues/217
+Fixes: e38dbba16647 ("add fixes to barcodereader app and drop obsolete
imports")
+Signed-off-by: Mike Gabriel <[email protected]>
+---
+ ViewFinderOverlay.qml | 35 ----------------------------
+ ViewFinderView.qml | 23 +++++++++++++++++-
+ 2 files changed, 22 insertions(+), 36 deletions(-)
+
+--- a/ViewFinderOverlay.qml
++++ b/ViewFinderOverlay.qml
+@@ -1008,10 +1008,6 @@
+ position.horizontalAccuracy <= 100)
+ }
+
+- PostProcessOperations {
+- id: postProcessOperations
+- }
+-
+ Connections {
+ target: camera.imageCapture
+ onReadyChanged: {
+@@ -1021,19 +1017,6 @@
+ }
+ }
+ }
+- onImageSaved : {
+- if(path &&!settings.hasEXIF)
+- {
+- postProcessOperations.deleteEXIFdata(path);
+- }
+- if(path && settings.dateStampImages &&
!main.contentExportMode) {
+- postProcessOperations.addDateStamp(path,
+-
viewFinderOverlay.settings.dateStampFormat,
+-
viewFinderOverlay.settings.dateStampColor,
+-
viewFinderOverlay.settings.dateStampOpacity,
+-
viewFinderOverlay.settings.dateStampAlign);
+- }
+- }
+ }
+
+ CircleButton {
+--- a/ViewFinderView.qml
++++ b/ViewFinderView.qml
+@@ -131,7 +131,24 @@
+ }
+
+ onImageSaved: {
+- if (main.contentExportMode)
viewFinderExportConfirmation.mediaPath = path;
++ if(!viewFinderOverlay.settings.hasEXIF) {
++ // TODO: make this operation asynchronous.
++ postProcessOperations.deleteEXIFdata(path);
++ }
++
++ if(viewFinderOverlay.settings.dateStampImages &&
!main.contentExportMode) {
++ postProcessOperations.addDateStamp(path,
++
viewFinderOverlay.settings.dateStampFormat,
++
viewFinderOverlay.settings.dateStampColor,
++
viewFinderOverlay.settings.dateStampOpacity,
++
viewFinderOverlay.settings.dateStampAlign);
++ }
++
++ // TODO: make it so that asynchronous operations signals to us
++ // on finished and only then proceed to the code below.
++
++ if (main.contentExportMode)
++ viewFinderExportConfirmation.mediaPath = path;
+
+ viewFinderView.photoTaken(path);
+ metricPhotos.increment();
+@@ -369,6 +386,10 @@
+ sourceComponent: viewFinderExportConfirmationComp
+ }
+
++ PostProcessOperations {
++ id: postProcessOperations
++ }
++
+ property alias viewFinderExportConfirmation:
viewFinderExportConfirmationLoader.item
+
+ Component {
diff -Nru
lomiri-camera-app-4.0.8+dfsg/debian/patches/0007_qml-Support-scanning-white-QR-codes-in-BarcodeReaderApp.patch
lomiri-camera-app-4.0.8+dfsg/debian/patches/0007_qml-Support-scanning-white-QR-codes-in-BarcodeReaderApp.patch
---
lomiri-camera-app-4.0.8+dfsg/debian/patches/0007_qml-Support-scanning-white-QR-codes-in-BarcodeReaderApp.patch
1970-01-01 01:00:00.000000000 +0100
+++
lomiri-camera-app-4.0.8+dfsg/debian/patches/0007_qml-Support-scanning-white-QR-codes-in-BarcodeReaderApp.patch
2025-06-15 21:14:56.000000000 +0200
@@ -0,0 +1,24 @@
+From 993643af0ab88243fe76b13f7ed2f4abee823072 Mon Sep 17 00:00:00 2001
+From: Alfred Neumayer <[email protected]>
+Date: Fri, 13 Jun 2025 19:02:18 +0200
+Subject: [PATCH] qml: Activate QZXing.SourceFilter_ImageInverted for
+ imageSourceFilter
+
+Let the viewfinder be color inverted by QZXing. Fixes scanning
+white QR Codes on black backgrounds.
+---
+ barcode-reader-app.qml | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/barcode-reader-app.qml
++++ b/barcode-reader-app.qml
+@@ -72,7 +72,8 @@
+ active: true
+ decoder {
+ enabledDecoders: QZXing.DecoderFormat_QR_CODE
+- imageSourceFilter: QZXing.SourceFilter_ImageNormal
++ imageSourceFilter: QZXing.SourceFilter_ImageNormal |
++ QZXing.SourceFilter_ImageInverted
+
+ onTagFoundAdvanced: {
+ viewFinderView.recentlyScannedTag = tag
diff -Nru lomiri-camera-app-4.0.8+dfsg/debian/patches/series
lomiri-camera-app-4.0.8+dfsg/debian/patches/series
--- lomiri-camera-app-4.0.8+dfsg/debian/patches/series 2025-05-30
15:45:23.000000000 +0200
+++ lomiri-camera-app-4.0.8+dfsg/debian/patches/series 2025-06-15
21:13:35.000000000 +0200
@@ -5,3 +5,5 @@
0003_fix-spelling-of-background-color-in-AdvancedOptions-qml.patch
0004_Save-orientation-when-erasing-metadata.patch
0005_add-left-margin-between-icon-and-label-in-options-selector.patch
+0006_qml-Viewfinder-fix-content-export-preview-corruption.patch
+0007_qml-Support-scanning-white-QR-codes-in-BarcodeReaderApp.patch
--- End Message ---
--- Begin Message ---
Unblocked lomiri-camera-app.
--- End Message ---