Added a PR for this: https://github.com/gnuradio/gnuradio/pull/5287 and the discussion can continue there. I don't know if this is the right answer, or whether there are other places that will need a similar change, so need other people to look at it.
On Mon, Nov 1, 2021 at 9:05 AM Chris Vine <[email protected]> wrote: > On Sun, 31 Oct 2021 10:48:27 -0400 > Jeff Long <[email protected]> wrote: > > GNU Radio v3.9.4.0 has been released > > https://github.com/gnuradio/gnuradio/releases/tag/v3.9.4.0 > > > > This release is appearing a little early because of a couple of > regressions > > in v3.9.3.0. While we were at it, we pulled in a few more helpful commits > > from the master branch. > > > > This is an API compatible update to GNU Radio 3.9. Code written for 3.9.X > > versions should compile and link without modification. The ABI is not > > guaranteed to be compatible, so a rebuild of OOT modules may be > necessary. > > > > The next v3.8 and v3.9 releases are expected in Dec/Jan. > > The release documentation for gnuradio-3.9.4.0 says that it now > supports GRC with Fedora-35, but doesn't that use python-3.10? At > any rate, although I don't use Fedora-35, I had to apply the patch > below to get any gnuradio-companion flowchart using a range widget > to work with python-3.10.0. > > There seem to be type errors in range.py which are detected by > python-3.10 but not by earlier versions. The patch fixes it for all > my uses but I can't guarantee that it covers every possible dynamic > code path. > > Chris > > --- gnuradio-3.9.4.0/gr-qtgui/python/qtgui/range.py.cmakein.orig > 2021-10-31 14:28:27.000000000 +0000 > +++ gnuradio-3.9.4.0/gr-qtgui/python/qtgui/range.py.cmakein 2021-11-01 > 12:27:00.362487046 +0000 > @@ -131,7 +131,7 @@ > self.rangeType = rangeType > > # Setup the dial > - self.setRange(0, ranges.nsteps-1) > + self.setRange(0, int(ranges.nsteps-1)) > self.setSingleStep(1) > self.setNotchesVisible(True) > self.range = ranges > @@ -158,7 +158,7 @@ > > # Setup the slider > #self.setFocusPolicy(QtCore.Qt.NoFocus) > - self.setRange(0, ranges.nsteps - 1) > + self.setRange(0, int(ranges.nsteps - 1)) > self.setTickPosition(2) > self.setSingleStep(1) > self.range = ranges > @@ -191,7 +191,7 @@ > new = self.minimum() + > ((self.maximum()-self.minimum()) * event.x()) / self.width() > else: > new = self.minimum() + > ((self.maximum()-self.minimum()) * event.y()) / self.height() > - self.setValue(new) > + self.setValue(int(new)) > event.accept() > # Use repaint rather than calling the super mousePressEvent. > # Calling super causes issue where slider jumps to wrong > value. > @@ -202,7 +202,7 @@ > new = self.minimum() + ((self.maximum()-self.minimum()) * > event.x()) / self.width() > else: > new = self.minimum() + ((self.maximum()-self.minimum()) * > event.y()) / self.height() > - self.setValue(new) > + self.setValue(int(new)) > event.accept() > QtWidgets.QSlider.repaint(self) > >
