summaryrefslogtreecommitdiff
path: root/media-sound/picard/files/picard-2.6.3-fix-py3.10.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/picard/files/picard-2.6.3-fix-py3.10.patch')
-rw-r--r--media-sound/picard/files/picard-2.6.3-fix-py3.10.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/media-sound/picard/files/picard-2.6.3-fix-py3.10.patch b/media-sound/picard/files/picard-2.6.3-fix-py3.10.patch
new file mode 100644
index 000000000000..772cbda3868d
--- /dev/null
+++ b/media-sound/picard/files/picard-2.6.3-fix-py3.10.patch
@@ -0,0 +1,61 @@
+From 452bba954c30d5a642f03c02411529f511bda786 Mon Sep 17 00:00:00 2001
+From: Louis Sautier <sautier.louis@gmail.com>
+Date: Fri, 27 Aug 2021 00:43:48 +0200
+Subject: [PATCH] Fix TypeErrors with Python 3.10
+
+Without these changes, running Picard with Python 3.10 results in errors
+such as:
+ File "./picard/ui/coverartbox.py", line 74, in __init__
+ self.shadow = self.shadow.scaled(w, h, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
+TypeError: arguments did not match any overloaded call:
+ scaled(self, int, int, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 1 has unexpected type 'float'
+ scaled(self, QSize, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 1 has unexpected type 'float'
+---
+ picard/ui/coverartbox.py | 2 +-
+ picard/ui/itemviews.py | 6 +++---
+ picard/util/__init__.py | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
+index c3eb4ddb74..f3a174664b 100644
+--- a/picard/ui/coverartbox.py
++++ b/picard/ui/coverartbox.py
+@@ -135,7 +135,7 @@ def dropEvent(self, event):
+ event.acceptProposedAction()
+
+ def scaled(self, *dimensions):
+- return (self.pixel_ratio * dimension for dimension in dimensions)
++ return (round(self.pixel_ratio * dimension) for dimension in dimensions)
+
+ def show(self):
+ self.set_data(self.data, True)
+diff --git a/picard/ui/itemviews.py b/picard/ui/itemviews.py
+index cffab6d70d..d1101b340f 100644
+--- a/picard/ui/itemviews.py
++++ b/picard/ui/itemviews.py
+@@ -141,9 +141,9 @@ def get_match_color(similarity, basecolor):
+ c1 = (basecolor.red(), basecolor.green(), basecolor.blue())
+ c2 = (223, 125, 125)
+ return QtGui.QColor(
+- c2[0] + (c1[0] - c2[0]) * similarity,
+- c2[1] + (c1[1] - c2[1]) * similarity,
+- c2[2] + (c1[2] - c2[2]) * similarity)
++ int(c2[0] + (c1[0] - c2[0]) * similarity),
++ int(c2[1] + (c1[1] - c2[1]) * similarity),
++ int(c2[2] + (c1[2] - c2[2]) * similarity))
+
+
+ class MainPanel(QtWidgets.QSplitter):
+diff --git a/picard/util/__init__.py b/picard/util/__init__.py
+index 3a4765f7cd..26f7576f56 100644
+--- a/picard/util/__init__.py
++++ b/picard/util/__init__.py
+@@ -400,7 +400,7 @@ def throttled_func(*args, **kwargs):
+ else:
+ decorator.args = args
+ decorator.kwargs = kwargs
+- QtCore.QTimer.singleShot(r, later)
++ QtCore.QTimer.singleShot(int(r), later)
+ decorator.is_ticking = True
+ mutex.unlock()
+