Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ksanecore for openSUSE:Factory 
checked in at 2023-06-09 20:36:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ksanecore (Old)
 and      /work/SRC/openSUSE:Factory/.ksanecore.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ksanecore"

Fri Jun  9 20:36:27 2023 rev:11 rq:1091620 version:23.04.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/ksanecore/ksanecore.changes      2023-05-12 
20:34:30.684980601 +0200
+++ /work/SRC/openSUSE:Factory/.ksanecore.new.15902/ksanecore.changes   
2023-06-09 20:37:17.394502720 +0200
@@ -1,0 +2,11 @@
+Tue Jun  6 20:01:30 UTC 2023 - Christophe Marin <christo...@krop.fr>
+
+- Update to 23.04.2
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/gear/23.04.2/
+- Changes since 23.04.1:
+  * Also call renewImage() for 8-bit Gray images (kde#469683)
+  * Crop the image after a scan finished (kde#457097)
+
+-------------------------------------------------------------------

Old:
----
  ksanecore-23.04.1.tar.xz
  ksanecore-23.04.1.tar.xz.sig

New:
----
  ksanecore-23.04.2.tar.xz
  ksanecore-23.04.2.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ksanecore.spec ++++++
--- /var/tmp/diff_new_pack.m04ffq/_old  2023-06-09 20:37:19.002512058 +0200
+++ /var/tmp/diff_new_pack.m04ffq/_new  2023-06-09 20:37:19.006512081 +0200
@@ -20,7 +20,7 @@
 %define lname libKSaneCore
 %bcond_without released
 Name:           ksanecore
-Version:        23.04.1
+Version:        23.04.2
 Release:        0
 Summary:        Qt interface for the SANE library for scanner hardware
 License:        LGPL-2.1-only OR LGPL-3.0-only


++++++ ksanecore-23.04.1.tar.xz -> ksanecore-23.04.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksanecore-23.04.1/CMakeLists.txt 
new/ksanecore-23.04.2/CMakeLists.txt
--- old/ksanecore-23.04.1/CMakeLists.txt        2023-05-06 09:54:39.000000000 
+0200
+++ new/ksanecore-23.04.2/CMakeLists.txt        2023-06-02 20:35:26.000000000 
+0200
@@ -7,7 +7,7 @@
 # KDE Applications version, managed by release script.
 set(RELEASE_SERVICE_VERSION_MAJOR "23")
 set(RELEASE_SERVICE_VERSION_MINOR "04")
-set(RELEASE_SERVICE_VERSION_MICRO "1")
+set(RELEASE_SERVICE_VERSION_MICRO "2")
 set(RELEASE_SERVICE_VERSION 
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 
 project(KSaneCore VERSION ${RELEASE_SERVICE_VERSION})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksanecore-23.04.1/po/ja/ksanecore.po 
new/ksanecore-23.04.2/po/ja/ksanecore.po
--- old/ksanecore-23.04.1/po/ja/ksanecore.po    2023-05-06 09:54:39.000000000 
+0200
+++ new/ksanecore-23.04.2/po/ja/ksanecore.po    2023-06-02 20:35:26.000000000 
+0200
@@ -10,7 +10,7 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 "X-Accelerator-Marker: &\n"
 "X-Text-Markup: kde4\n"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksanecore-23.04.1/po/zh_CN/ksanecore.po 
new/ksanecore-23.04.2/po/zh_CN/ksanecore.po
--- old/ksanecore-23.04.1/po/zh_CN/ksanecore.po 2023-05-06 09:54:39.000000000 
+0200
+++ new/ksanecore-23.04.2/po/zh_CN/ksanecore.po 2023-06-02 20:35:26.000000000 
+0200
@@ -3,7 +3,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2023-02-01 00:55+0000\n"
-"PO-Revision-Date: 2023-04-29 08:36\n"
+"PO-Revision-Date: 2023-05-22 14:04\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksanecore-23.04.1/src/imagebuilder.cpp 
new/ksanecore-23.04.2/src/imagebuilder.cpp
--- old/ksanecore-23.04.1/src/imagebuilder.cpp  2023-05-06 09:54:39.000000000 
+0200
+++ new/ksanecore-23.04.2/src/imagebuilder.cpp  2023-06-02 20:35:26.000000000 
+0200
@@ -95,6 +95,9 @@
             return true;
         } else if (m_params.depth == 8) {
             for (int i = 0; i < read_bytes; i++) {
+                if (m_pixelY >= m_image->height()) {
+                    renewImage();
+                }
                 uchar *grayScale = m_image->scanLine(m_pixelY);
                 grayScale[m_pixelX] = readData[i];
                 incrementPixelData();
@@ -159,32 +162,31 @@
                                                             0xFFFF);
                     incrementPixelData();
                 }
+                m_frameRead++;
             }
-            m_frameRead++;
             return true;
         }
         break;
 
     case SANE_FRAME_RED: {
-        uchar *imgBits = m_image->bits();
         int index = 0;
         if (m_params.depth == 8) {
             for (int i = 0; i < read_bytes; i++) {
                 index = m_frameRead * 4 + 2;
-                if (index > m_image->sizeInBytes()) {
+                if (index >= m_image->sizeInBytes()) {
                     renewImage();
                 }
-                imgBits[index] = readData[i];
+                m_image->bits()[index] = readData[i];
                 m_frameRead++;
             }
             return true;
         } else if (m_params.depth == 16) {
             for (int i = 0; i < read_bytes; i++) {
                 index = (m_frameRead - m_frameRead % 2) * 4 + m_frameRead % 2;
-                if (index > m_image->sizeInBytes()) {
+                if (index >= m_image->sizeInBytes()) {
                     renewImage();
                 }
-                imgBits[index] = readData[i];
+                m_image->bits()[index] = readData[i];
                 m_frameRead++;
             }
             return true;
@@ -192,25 +194,24 @@
         break;
     }
     case SANE_FRAME_GREEN: {
-        uchar *imgBits = m_image->bits();
         int index = 0;
         if (m_params.depth == 8) {
             for (int i = 0; i < read_bytes; i++) {
                 int index = m_frameRead * 4 + 1;
-                if (index > m_image->sizeInBytes()) {
+                if (index >= m_image->sizeInBytes()) {
                     renewImage();
                 }
-                imgBits[index] = readData[i];
+                m_image->bits()[index] = readData[i];
                 m_frameRead++;
             }
             return true;
         } else if (m_params.depth == 16) {
             for (int i = 0; i < read_bytes; i++) {
                 index = (m_frameRead - m_frameRead % 2) * 4 + 2 + m_frameRead 
% 2;
-                if (index > m_image->sizeInBytes()) {
+                if (index >= m_image->sizeInBytes()) {
                     renewImage();
                 }
-                imgBits[index] = readData[i];
+                m_image->bits()[index] = readData[i];
                 m_frameRead++;
             }
             return true;
@@ -218,25 +219,24 @@
         break;
     }
     case SANE_FRAME_BLUE: {
-        uchar *imgBits = m_image->bits();
         int index = 0;
         if (m_params.depth == 8) {
             for (int i = 0; i < read_bytes; i++) {
                 int index = m_frameRead * 4;
-                if (index > m_image->sizeInBytes()) {
+                if (index >= m_image->sizeInBytes()) {
                     renewImage();
                 }
-                imgBits[index] = readData[i];
+                m_image->bits()[index] = readData[i];
                 m_frameRead++;
             }
             return true;
         } else if (m_params.depth == 16) {
             for (int i = 0; i < read_bytes; i++) {
                 index = (m_frameRead - m_frameRead % 2) * 4 + 4 + m_frameRead 
% 2;
-                if (index > m_image->sizeInBytes()) {
+                if (index >= m_image->sizeInBytes()) {
                     renewImage();
                 }
-                imgBits[index] = readData[i];
+                m_image->bits()[index] = readData[i];
                 m_frameRead++;
             }
             return true;
@@ -251,8 +251,22 @@
 
 void ImageBuilder::renewImage()
 {
+    int start = m_image->sizeInBytes();
+
     // resize the image
     *m_image = m_image->copy(0, 0, m_image->width(), m_image->height() + 
m_image->width());
+
+    for (int i = start; i < m_image->sizeInBytes(); i++) { // New parts are 
filled with "transparent black"
+        m_image->bits()[i] = 0xFF; // Change to opaque white (0xFFFFFFFF), or 
white, whatever the format is
+    }
+}
+
+void ImageBuilder::cropImagetoSize()
+{
+    int height = m_pixelY ? m_pixelY : m_frameRead / m_params.bytes_per_line;
+    if (m_image->height() == height)
+        return;
+    *m_image = m_image->copy(0, 0, m_image->width(), height);
 }
 
 void ImageBuilder::incrementPixelData()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksanecore-23.04.1/src/imagebuilder.h 
new/ksanecore-23.04.2/src/imagebuilder.h
--- old/ksanecore-23.04.1/src/imagebuilder.h    2023-05-06 09:54:39.000000000 
+0200
+++ new/ksanecore-23.04.2/src/imagebuilder.h    2023-06-02 20:35:26.000000000 
+0200
@@ -29,6 +29,7 @@
     void beginFrame(const SANE_Parameters &params);
     bool copyToImage(const SANE_Byte readData[], int read_bytes);
     void setDPI(int dpi);
+    void cropImagetoSize();
 
 private:
     void renewImage();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksanecore-23.04.1/src/scanthread.cpp 
new/ksanecore-23.04.2/src/scanthread.cpp
--- old/ksanecore-23.04.1/src/scanthread.cpp    2023-05-06 09:54:39.000000000 
+0200
+++ new/ksanecore-23.04.2/src/scanthread.cpp    2023-06-02 20:35:26.000000000 
+0200
@@ -177,6 +177,7 @@
         }
         if (m_params.last_frame == SANE_TRUE) {
             // this is where it all ends well :)
+            m_imageBuilder.cropImagetoSize();
             m_readStatus = ReadReady;
             return;
         } else {

Reply via email to