Commit Graph

5797 Commits

Author SHA1 Message Date
Daniele Forsi 3c0541d87a Do not create objects if there is no message queue to send to
Prevents memory leaks.
2024-05-19 19:44:45 +02:00
Daniele Forsi 461a79439b Do not create a Message if there is no worker to send to
Prevents memory leaks.
2024-05-19 19:44:45 +02:00
Daniele Forsi 8829df3c3b Fix memleaks found with AddressSanitizer/LeakSanitizer
Found with:
ASAN_OPTIONS="detect_odr_violation=1,strip_path_prefix=$(pwd)/" build/sdrangel

Fixes:
Direct leak of 448 byte(s) in 2 object(s) allocated from:
    #0 0x7f78cd8f46b8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f788e0e9d9c in GS232ControllerWorker::MsgConfigureGS232ControllerWorker::create(GS232ControllerSettings const&, QList<QString> const&, bool) sdrangel/plugins/feature/gs232controller/gs232controllerworker.h:51
    #2 0x7f788e0eeedf in GS232Controller::applySettings(GS232ControllerSettings const&, QList<QString> const&, bool) sdrangel/plugins/feature/gs232controller/gs232controller.cpp:291
    #3 0x7f788e0ec595 in GS232Controller::handleMessage(Message const&) sdrangel/plugins/feature/gs232controller/gs232controller.cpp:156
    #4 0x7f78cabe899f in Feature::handleInputMessages() sdrangel/sdrbase/feature/feature.cpp:46
    #5 0x7f78ca9f9b5c in Feature::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) build-sdrangel-Desktop_qt5-Debug/sdrbase/sdrbase_autogen/3DM3QXXG3A/moc_feature.cpp:89
    #6 0x7f78c7f05fcc  (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x305fcc) (BuildId: ed2abb344a128279a866aa6c4a79f3fa5c87c59e)
    #7 0x7f78caa0584a in MessageQueue::messageEnqueued() build-sdrangel-Desktop_qt5-Debug/sdrbase/sdrbase_autogen/KH43KSYMFX/moc_messagequeue.cpp:131
    #8 0x7f78cad19c77 in MessageQueue::push(Message*, bool) sdrangel/sdrbase/util/messagequeue.cpp:55
    #9 0x7f788e142936 in GS232ControllerGUI::applySettings(QStringList const&, bool) sdrangel/plugins/feature/gs232controller/gs232controllergui.cpp:969
    #10 0x7f788e142727 in GS232ControllerGUI::applySetting(QString const&) sdrangel/plugins/feature/gs232controller/gs232controllergui.cpp:960
    #11 0x7f788e133c26 in GS232ControllerGUI::onWidgetRolled(QWidget*, bool) sdrangel/plugins/feature/gs232controller/gs232controllergui.cpp:206
    #12 0x7f788e0e25d9 in GS232ControllerGUI::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) build-sdrangel-Desktop_qt5-Debug/plugins/feature/gs232controller/featuregs232controller_autogen/EWIEGA46WW/moc_gs232controllergui.cpp:234
    #13 0x7f78c7f05fcc  (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x305fcc) (BuildId: ed2abb344a128279a866aa6c4a79f3fa5c87c59e)
    #14 0x7f78ccdcd9a1 in RollupContents::widgetRolled(QWidget*, bool) build-sdrangel-Desktop_qt5-Debug/sdrgui/sdrgui_autogen/DMHXEJ42XS/moc_rollupcontents.cpp:146
    #15 0x7f78cd06a080 in RollupContents::eventFilter(QObject*, QEvent*) sdrangel/sdrgui/gui/rollupcontents.cpp:403
    #16 0x7f78c7ecc4b2 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2cc4b2) (BuildId: ed2abb344a128279a866aa6c4a79f3fa5c87c59e)

and more
2024-05-19 19:44:45 +02:00
Daniele Forsi 671438456c Fix memleaks found with AddressSanitizer/LeakSanitizer
Found with:
ASAN_OPTIONS="detect_odr_violation=1,strip_path_prefix=$(pwd)/" build/sdrangel

Fixes:
Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f2360af46b8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f2321a07706 in AFC::MsgDeviceSetListsReport::create() sdrangel/plugins/feature/afc/afc.h:151
    #2 0x7f2321a0ac1f in AFC::updateDeviceSetLists() sdrangel/plugins/feature/afc/afc.cpp:290
    #3 0x7f2321a09648 in AFC::handleMessage(Message const&) sdrangel/plugins/feature/afc/afc.cpp:214
    #4 0x7f235dfba569 in Feature::handleInputMessages() sdrangel/sdrbase/feature/feature.cpp:46
    #5 0x7f235ddea09e in Feature::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) build-sdrangel-Desktop_qt5-Debug/sdrbase/sdrbase_autogen/3DM3QXXG3A/moc_feature.cpp:89
    #6 0x7f235b305fcc  (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x305fcc) (BuildId: ed2abb344a128279a866aa6c4a79f3fa5c87c59e)
    #7 0x7f235ddf5d8c in MessageQueue::messageEnqueued() build-sdrangel-Desktop_qt5-Debug/sdrbase/sdrbase_autogen/KH43KSYMFX/moc_messagequeue.cpp:131
    #8 0x7f235e0e1487 in MessageQueue::push(Message*, bool) sdrangel/sdrbase/util/messagequeue.cpp:55
    #9 0x7f2321a32fad in AFCGUI::requestDeviceSetLists() sdrangel/plugins/feature/afc/afcgui.cpp:213
    #10 0x7f2321a32124 in AFCGUI::AFCGUI(PluginAPI*, FeatureUISet*, Feature*, QWidget*) sdrangel/plugins/feature/afc/afcgui.cpp:170
    #11 0x7f2321a308cc in AFCGUI::create(PluginAPI*, FeatureUISet*, Feature*) sdrangel/plugins/feature/afc/afcgui.cpp:32
    #12 0x7f2321a1c229 in AFCPlugin::createFeatureGUI(FeatureUISet*, Feature*) const sdrangel/plugins/feature/afc/afcplugin.cpp:70
    #13 0x7f235fffc534 in MainWindow::featureAddClicked(Workspace*, int) sdrangel/sdrgui/mainwindow.cpp:2890
    #14 0x7f23600172c1 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<Workspace*, int>, void, void (MainWindow::*)(Workspace*, int)>::call(void (MainWindow::*)(Workspace*, int), MainWindow*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
    #15 0x7f2360012b8d in void QtPrivate::FunctionPointer<void (MainWindow::*)(Workspace*, int)>::call<QtPrivate::List<Workspace*, int>, void>(void (MainWindow::*)(Workspace*, int), MainWindow*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
    #16 0x7f2360010016 in QtPrivate::QSlotObject<void (MainWindow::*)(Workspace*, int), QtPrivate::List<Workspace*, int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
    #17 0x7f235b3062b1  (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x3062b1) (BuildId: ed2abb344a128279a866aa6c4a79f3fa5c87c59e)
    #18 0x7f235ffcc7fc in Workspace::addFeature(Workspace*, int) build-sdrangel-Desktop_qt5-Debug/sdrgui/sdrgui_autogen/DMHXEJ42XS/moc_workspace.cpp:393
    #19 0x7f23602f56f8 in Workspace::addFeatureEmitted(int) sdrangel/sdrgui/gui/workspace.cpp:413
    #20 0x7f236030d611 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, void (Workspace::*)(int)>::call(void (Workspace::*)(int), Workspace*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
    #21 0x7f2360308bd9 in void QtPrivate::FunctionPointer<void (Workspace::*)(int)>::call<QtPrivate::List<int>, void>(void (Workspace::*)(int), Workspace*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
    #22 0x7f2360305cdc in QtPrivate::QSlotObject<void (Workspace::*)(int), QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
    #23 0x7f235b3062b1  (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x3062b1) (BuildId: ed2abb344a128279a866aa6c4a79f3fa5c87c59e)
    #24 0x7f235ffba7cf in FeatureAddDialog::addFeature(int) build-sdrangel-Desktop_qt5-Debug/sdrgui/sdrgui_autogen/DMHXEJ42XS/moc_featureadddialog.cpp:141
    #25 0x7f23600c2d19 in FeatureAddDialog::apply(QAbstractButton*) sdrangel/sdrgui/gui/featureadddialog.cpp:53
    #26 0x7f235ffba366 in FeatureAddDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) build-sdrangel-Desktop_qt5-Debug/sdrgui/sdrgui_autogen/DMHXEJ42XS/moc_featureadddialog.cpp:82
    #27 0x7f235b305fcc  (/lib/x86_64-linux-gnu/libQt5Core.so.5+0x305fcc) (BuildId: ed2abb344a128279a866aa6c4a79f3fa5c87c59e)
    #28 0x7f235c1029b2 in QDialogButtonBox::clicked(QAbstractButton*) (/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x3029b2) (BuildId: dfefd27f084c0dd066215fc79825fceae604f481)
2024-05-19 19:44:45 +02:00
Daniele Forsi de131d1f6d Fix memleaks found with AddressSanitizer/LeakSanitizer
Found with:
ASAN_OPTIONS="detect_odr_violation=1,strip_path_prefix=$(pwd)/" build/sdrangel

Fixes:
Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7efeb72f46b8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7efe83515718 in WebServer::addSubstitution(QString, QString, QString) sdrangel/plugins/feature/map/webserver.cpp:84
    #2 0x7efe83559c9e in MapGUI::applyMap3DSettings(bool) sdrangel/plugins/feature/map/mapgui.cpp:1789
    #3 0x7efe8355e483 in MapGUI::displaySettings() sdrangel/plugins/feature/map/mapgui.cpp:1964
    #4 0x7efe834be0f6 in MapGUI::MapGUI(PluginAPI*, FeatureUISet*, Feature*, QWidget*) sdrangel/plugins/feature/map/mapgui.cpp:376
    #5 0x7efe835372f4 in MapGUI::create(PluginAPI*, FeatureUISet*, Feature*) sdrangel/plugins/feature/map/mapgui.cpp:66
    #6 0x7efe834b5471 in MapPlugin::createFeatureGUI(FeatureUISet*, Feature*) const sdrangel/plugins/feature/map/mapplugin.cpp:72
    #7 0x7efeb6b416c2 in FeatureUISet::loadFeatureSetSettings(FeatureSetPreset const*, PluginAPI*, WebAPIAdapterInterface*, QList<Workspace*>*, Workspace*) sdrangel/sdrgui/feature/featureuiset.cpp:185
    #8 0x7efeb67e9b41 in MainWindow::loadConfiguration(Configuration const*, bool) sdrangel/sdrgui/mainwindow.cpp:1503
    #9 0x7efeb6730e3e in MainWindow::MainWindow(qtwebapp::LoggerWithFile*, MainParser const&, QWidget*) sdrangel/sdrgui/mainwindow.cpp:257
    #10 0x557281218bad in runQtApplication sdrangel/app/main.cpp:196
    #11 0x5572812194a3 in main sdrangel/app/main.cpp:248
    #12 0x7efeb10456c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
2024-05-19 19:44:45 +02:00
Daniele Forsi 3fb678272d Fix memleaks found with AddressSanitizer/LeakSanitizer
Fixes:
Direct leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7efeb72f46b8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7efe834b65a2 in WebServer::WebServer(unsigned short&, QObject*) sdrangel/plugins/feature/map/webserver.cpp:34
    #2 0x7efe834bc342 in MapGUI::MapGUI(PluginAPI*, FeatureUISet*, Feature*, QWidget*) sdrangel/plugins/feature/map/mapgui.cpp:265
    #3 0x7efe835372f4 in MapGUI::create(PluginAPI*, FeatureUISet*, Feature*) sdrangel/plugins/feature/map/mapgui.cpp:66
    #4 0x7efe834b5471 in MapPlugin::createFeatureGUI(FeatureUISet*, Feature*) const sdrangel/plugins/feature/map/mapplugin.cpp:72
    #5 0x7efeb6b416c2 in FeatureUISet::loadFeatureSetSettings(FeatureSetPreset const*, PluginAPI*, WebAPIAdapterInterface*, QList<Workspace*>*, Workspace*) sdrangel/sdrgui/feature/featureuiset.cpp:185
    #6 0x7efeb67e9b41 in MainWindow::loadConfiguration(Configuration const*, bool) sdrangel/sdrgui/mainwindow.cpp:1503
    #7 0x7efeb6730e3e in MainWindow::MainWindow(qtwebapp::LoggerWithFile*, MainParser const&, QWidget*) sdrangel/sdrgui/mainwindow.cpp:257
    #8 0x557281218bad in runQtApplication sdrangel/app/main.cpp:196
    #9 0x5572812194a3 in main sdrangel/app/main.cpp:248
    #10 0x7efeb10456c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

and others
2024-05-19 19:44:45 +02:00
f4exb 5231d1877b Metis MISO: added lock all Rx frequencies option 2024-05-13 22:09:12 +02:00
Edouard Griffiths 79310b2008
Merge pull request #2095 from dforsi/fix/typos
Fix/typos
2024-05-13 19:03:41 +02:00
f4exb a9dab43abe Interferometer: updated documentation. Part of #2098 2024-05-13 01:02:44 +02:00
f4exb 69be0d28bf LocalSink: refactored getLocalDevice method 2024-05-13 01:02:44 +02:00
f4exb a85731d3f7 Interferometer: added localDeviceIndex and play to API 2024-05-13 01:02:44 +02:00
f4exb 62ffcde69f Interferometer: added possibility to send correlated IQ to a Local Input device 2024-05-13 01:02:44 +02:00
f4exb 40d7fece02 Interferometer: list local input devices and make update settings atomic 2024-05-13 01:02:44 +02:00
f4exb dae5a9174b LocalSink: update local input device list at construction time 2024-05-13 01:02:44 +02:00
f4exb bab47d41c7 Interferometer: implement gain and phase in API 2024-05-13 01:02:44 +02:00
f4exb b6b4eb405f Interferometer: added channel B gain control 2024-05-13 01:02:44 +02:00
srcejon fd623ea5d6 Fix thread parent warning. 2024-05-09 07:44:47 +01:00
srcejon 9078ea21d4 Fix warnings 2024-05-08 20:15:01 +01:00
srcejon c0fc8c3b73 Don't call start() in Demod's constructors. #2102
SSDDemodGUI: Disable AGC widgets when AGC disabled.
2024-05-08 18:52:34 +01:00
srcejon 60db324abc Bring BFM demod closer to AM demod design. 2024-05-08 18:43:19 +01:00
srcejon 605cf51d7f BFM Demod: Delete baseband on stop() 2024-05-08 15:00:20 +01:00
Daniele Forsi 31dc594b46 Fix Markdown 2024-04-29 19:07:29 +02:00
Daniele Forsi b1643ee9b5 Fix typos 2024-04-29 19:07:29 +02:00
Daniele Forsi 2b895d4cf2 Fix description 2024-04-29 11:07:08 +02:00
f4exb 217c900609 AudioCATSISO: fixed transverter processing 2024-04-28 01:15:36 +02:00
f4exb 956d1e6c07 AudioCATSISO: fixed CAT worker handling 2024-04-27 22:12:03 +02:00
Edouard Griffiths 52a440e400
Merge pull request #2091 from dforsi/fix/typos
Fix/typos
2024-04-27 11:08:10 +02:00
Edouard Griffiths 498ff9e94d
Merge pull request #2089 from rudis/master
Minor documenation fixes
2024-04-27 11:06:47 +02:00
Daniele Forsi b30158c0cc Fix reference to image 2024-04-26 22:39:34 +02:00
Daniele Forsi 15433bb324 Fix spellling errors found with LibreOffice Writer 2024-04-26 21:18:32 +02:00
Daniele Forsi d135dd9028 Fix spellling errors found with aspell 2024-04-26 21:18:32 +02:00
Simon Ruderich 39575c10fa channelrx/channelpower/readme.md: fix minor typo 2024-04-26 08:37:56 +02:00
Simon Ruderich 6086fb328e plugins: remove UTF-8 BOMB from readme.md
BOMB is normally not used for UTF-8/ASCII files.
2024-04-26 08:37:24 +02:00
Simon Ruderich 3307000a72 plugins: fix non-matching <hx> tags in readme.md 2024-04-26 08:37:24 +02:00
Simon Ruderich f5b43fec2d sdrplayv3: use SDRPLAY_MAX_DEVICES in enumOriginDevices()
This makes it consistent with openDevice() which already uses
this constant provided by the API.
2024-04-26 08:34:50 +02:00
Simon Ruderich fc13be4d69 samplesink/fileoutput/readme.md: use ASCII dashes in sox command line
Otherwise sox fails with this non-helpful message:

    sox FAIL formats: bad input format for file `myfile.raw': sampling rate was not specified
2024-04-26 08:14:13 +02:00
Daniele Forsi 991ccddb66 Close any open dialog when sdrangel quits 2024-04-23 20:23:07 +02:00
Daniele Forsi b4ec43e4aa Raise the Beacon, IBP Beacons an Radio Time dialogs
Make the dialogs visible again if they are open but are hidden behind
the main window or another application's window.
2024-04-22 23:05:04 +02:00
Daniele Forsi f4b2dfc0a9 Revert "Prevent the dialogs to be hidden behind the main window"
This reverts commit f72574d1ad.
2024-04-22 22:42:00 +02:00
Daniele Forsi f72574d1ad Prevent the dialogs to be hidden behind the main window
This also menas that when the main window is closed, the dialogs get
closed automatically, and not only when the map window is closed.
2024-04-22 22:39:19 +02:00
Daniele Forsi 230c461204 Update the IPB beacons table only when the dialog is visible 2024-04-22 22:39:19 +02:00
Daniele Forsi 90e917f666 Fix typos in CMakeLists
s/FFMEG/FFMPEG/
2024-04-21 21:41:42 +02:00
Daniele Forsi fd830a0153 Fix build of DAB demodulation plugin 2024-04-20 22:00:16 +02:00
Daniele Forsi fe84c20aff Make all include directives identical
Fixes the 5 includes that are different from the majority:
grep -Ehr "#include .+dsptypes" --include=*.h | sort | uniq -c
    110 #include "dsp/dsptypes.h"
      1 #include <dsp/dsptypes.h>
      4 #include "dsptypes.h"
2024-04-20 19:19:11 +02:00
Daniele Forsi 570c1f6877 Remove unused includes and use more direct includes 2024-04-20 19:10:18 +02:00
Mykola Dvornik f55adc481d Fix typos in ChannelAnalyzer settings
With this fix, corresponding settings updates are now properly
communicated via reverse API.
2024-04-18 22:46:21 +02:00
Daniele Forsi db4d07e59a Fix build failure when Qt Location is not available
Adds parenthesis to fix the precedence in the existing test and adds
another condition that makes the presence of Qt Location actually
optional like in the top level CMakeLists.txt
2024-04-17 23:50:36 +02:00
srcejon 0dcc4755ef Merge branch 'freq_scanner' of https://github.com/srcejon/sdrangel into freq_scanner 2024-04-16 13:39:00 +01:00
srcejon 002c824dd9 ADS-B: Fix map centering and station icon for Qt6. 2024-04-16 13:28:50 +01:00
Edouard Griffiths e07a558329
Merge pull request #2069 from srcejon/freq_scanner
Fix Qt6 build
2024-04-15 19:19:40 +02:00