<div dir="ltr">Yes this was changed by <a href="https://github.com/gnuradio/gnuradio/pull/4994">https://github.com/gnuradio/gnuradio/pull/4994</a>. We did not know that function was being used externally.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 10, 2021 at 8:58 AM Stefan `Sec` Zehl <<a href="mailto:sec@42.org">sec@42.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
The commit 86b5fb30182c69ec38490346a4269d1ffce9ffb4 in gnuradio broke<br>
osmocom_fft due to removing/renaming the pyqwidget wrapper.<br>
<br>
This patch tries to fix that in a backwards-compatible manner.<br>
<br>
>From 645240939b50dc6f4cebd277c6a690a919f67fb5 Mon Sep 17 00:00:00 2001<br>
From: Stefan `Sec` Zehl <<a href="mailto:sec@42.org" target="_blank">sec@42.org</a>><br>
Date: Sun, 10 Oct 2021 14:31:23 +0200<br>
Subject: [PATCH 1/3] follow pyqwidget rename in gnuradio<br>
 86b5fb30182c69ec38490346a4269d1ffce9ffb4<br>
<br>
---<br>
 apps/osmocom_fft | 25 ++++++++++++++++++++-----<br>
 1 file changed, 20 insertions(+), 5 deletions(-)<br>
<br>
diff --git a/apps/osmocom_fft b/apps/osmocom_fft<br>
index b23124a96f..6e072f8c6c 100755<br>
--- a/apps/osmocom_fft<br>
+++ b/apps/osmocom_fft<br>
@@ -242,7 +242,10 @@ class app_top_block(gr.top_block, Qt.QMainWindow):<br>
             from gnuradio import fosphor<br>
             self.scope = fosphor.qt_sink_c()<br>
             self.scope.set_frequency_range(0, input_rate)<br>
-            self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            if hasattr(self.scope,'pyqwidget'):<br>
+                self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            else:<br>
+                self.scope_win = sip.wrapinstance(self.scope.qwidget(), Qt.QWidget)<br>
             self.scope_win.setMinimumSize(800, 300)<br>
         elif options.waterfall:<br>
             self.scope = qtgui.waterfall_sink_c(<br>
@@ -256,7 +259,10 @@ class app_top_block(gr.top_block, Qt.QMainWindow):<br>
             self.scope.enable_grid(False)<br>
             self.scope.enable_axis_labels(True)<br>
             self.scope.set_intensity_range(-100, 20)<br>
-            self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            if hasattr(self.scope,'pyqwidget'):<br>
+                self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            else:<br>
+                self.scope_win = sip.wrapinstance(self.scope.qwidget(), Qt.QWidget)<br>
             self.scope_win.setMinimumSize(800, 420)<br>
<br>
         elif options.oscilloscope:<br>
@@ -266,7 +272,10 @@ class app_top_block(gr.top_block, Qt.QMainWindow):<br>
                 name="",<br>
                 nconnections=1<br>
             )<br>
-            self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            if hasattr(self.scope,'pyqwidget'):<br>
+                self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            else:<br>
+                self.scope_win = sip.wrapinstance(self.scope.qwidget(), Qt.QWidget)<br>
             self.scope_win.setMinimumSize(800, 600)<br>
<br>
         elif options.qtgui:<br>
@@ -281,7 +290,10 @@ class app_top_block(gr.top_block, Qt.QMainWindow):<br>
                 plottime=True,<br>
                 plotconst=True<br>
             )<br>
-            self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            if hasattr(self.scope,'pyqwidget'):<br>
+                self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            else:<br>
+                self.scope_win = sip.wrapinstance(self.scope.qwidget(), Qt.QWidget)<br>
             self.scope.set_update_time(1.0/10)<br>
             self.scope_win.setMinimumSize(800, 600)<br>
<br>
@@ -294,7 +306,10 @@ class app_top_block(gr.top_block, Qt.QMainWindow):<br>
                 name="",<br>
                 nconnections=1<br>
             )<br>
-            self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            if hasattr(self.scope,'pyqwidget'):<br>
+                self.scope_win = sip.wrapinstance(self.scope.pyqwidget(), Qt.QWidget)<br>
+            else:<br>
+                self.scope_win = sip.wrapinstance(self.scope.qwidget(), Qt.QWidget)<br>
             self.scope.disable_legend()<br>
             self.scope_win.setMinimumSize(800, 420)<br>
<br>
-- <br>
2.30.2<br>
<br>
CU,<br>
    Sec<br>
-- <br>
Cooking without animal products is like doing sysadmin work without vi.<br>
</blockquote></div>