Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

some qt arguments want int, not float after python 3.8 -> 3.10 upgrade #243

Open
molecular opened this issue Nov 10, 2022 · 0 comments
Open

Comments

@molecular
Copy link

molecular commented Nov 10, 2022

I upgraded my python virtualenv for electron-cash-slp and ran into errors like this:

Traceback (most recent call last):
  File "/home/nick/bitcoin/electron-cash-slp/./electron-cash", line 594, in <module>
    main()
  File "/home/nick/bitcoin/electron-cash-slp/./electron-cash", line 582, in main
    result = run_gui(config, config_options)
  File "/home/nick/bitcoin/electron-cash-slp/./electron-cash", line 359, in run_gui
    daemon_thread.init_gui()
  File "/home/nick/bitcoin/electron-cash-slp/electroncash/daemon.py", line 363, in init_gui
    self.gui = gui.ElectrumGui(config, self, plugins)
  File "/home/nick/bitcoin/electron-cash-slp/electroncash_gui/qt/__init__.py", line 167, in __init__
    self._start_auto_update_timer(first_run = True)
  File "/home/nick/bitcoin/electron-cash-slp/electroncash_gui/qt/__init__.py", line 776, in _start_auto_update_timer
    self.update_checker_timer.start(interval)
TypeError: arguments did not match any overloaded call:
  start(self, int): argument 1 has unexpected type 'float'

upstream fix:

#a55dadc51075a8385e3d3c2c065fd0b92be107bc

what I did for now:

diff --git a/electroncash_gui/qt/__init__.py b/electroncash_gui/qt/__init__.py
index 9af943777..ec5be5bc6 100644
--- a/electroncash_gui/qt/__init__.py
+++ b/electroncash_gui/qt/__init__.py
@@ -773,7 +773,7 @@ class ElectrumGui(QObject, PrintError):
             interval = 10.0*1e3 # do it very soon (in 10 seconds)
         else:
             interval = 4.0*3600.0*1e3 # once every 4 hours (in ms)
-        self.update_checker_timer.start(interval)
+        self.update_checker_timer.start(int(interval))
         self.print_error("Auto update check: interval set to {} seconds".format(interval//1e3))
 
     def _stop_auto_update_timer(self):
diff --git a/electroncash_gui/qt/paytoedit.py b/electroncash_gui/qt/paytoedit.py
index 7fd380fd6..edcd31d81 100644
--- a/electroncash_gui/qt/paytoedit.py
+++ b/electroncash_gui/qt/paytoedit.py
@@ -231,7 +231,7 @@ class PayToEdit(PrintError, ScanQRTextEdit):
         docHeight = docLineCount * self.fontSpacing
 
         h = docHeight + self.verticalMargins
-        h = min(max(h, self.heightMin), self.heightMax)
+        h = int(min(max(h, self.heightMin), self.heightMax))
 
         self.setMinimumHeight(h)
         self.setMaximumHeight(h)
diff --git a/electroncash_gui/qt/util.py b/electroncash_gui/qt/util.py
index 358846d2c..5875c7e25 100644
--- a/electroncash_gui/qt/util.py
+++ b/electroncash_gui/qt/util.py
@@ -880,7 +880,7 @@ class OverlayControlMixin:
         if hasattr(self, 'verticalScrollBar') and self.verticalScrollBar().isVisible():
             scrollbar_width = self.style().pixelMetric(QStyle.PM_ScrollBarExtent)
             x -= scrollbar_width
-        self.overlay_widget.move(x, y)
+        self.overlay_widget.move(int(x), int(y))
 
     def addWidget(self, widget: QWidget, index: int = 0):
         if index is not None:
@@ -1167,7 +1167,7 @@ class RateLimiter(PrintError):
                 self.timer.timeout.connect(self._doIt)
                 #self.timer.destroyed.connect(lambda x=None,qn=self.qn: print(qn,"Timer deallocated"))
                 self.timer.setSingleShot(True)
-                self.timer.start(diff*1e3)
+                self.timer.start(int(diff*1e3))
                 #self.print_error("deferring")
         else:
             # We had a timer active, which means as future call will occur. So return early and let that call happenin the future.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant