Commit Graph

73 Commits

Author SHA1 Message Date
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
f4exb cdae5ca048 Updated versions and changelogs 2024-04-14 11:41:00 +02:00
Daniele Forsi 8c3f7e3775 Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
f4exb 07e8ae0de1 Updated changelogs and plugins versions 2023-11-29 05:00:58 +01:00
f4exb 00b041d762 Rewriting of copyright notices for plugins/features. Part of #1893 2023-11-18 13:12:18 +01:00
Jon Beniston e799e5eb72 Fix resize cursor not being cleared when mouse moves over child widgets 2023-11-13 20:51:03 +00:00
f4exb 3f9f81caf9 Updated versions and changelogs 2023-04-06 22:59:07 +02:00
f4exb a3a62a6912 AFC and Demod Analyzer: fixed message queue disconnect. Fixes #1634 2023-04-02 05:04:18 +02:00
Jon Beniston 0dd466a900 Add DialogPositioner to ensure dialogs are fully on screen and remain on
screen when screen orientation changes.
Add DialPopup to allow dials to adjusted with a slider, which is easier
on touchscreens.
Add TableTapAndHold to support table context menus on touchscreens.
2022-12-20 10:31:15 +00:00
f4exb 5a0fc37241 Updated versions and changelogs 2022-12-01 22:02:11 +01:00
f4exb 6a3c4d8312 APRS feature: Make settings assignments atomic. Part of #1329 2022-11-23 00:19:12 +01:00
f4exb 7562d847ce AMBE feature: Make settings assignments atomic. Part of #1329 2022-11-20 20:14:07 +01:00
f4exb 1972b74099 AIS feature: Make settings assignments atomic. Part of #1329 2022-11-20 19:54:13 +01:00
f4exb f3c5cd0ab5 AFC feature: Make settings assignments atomic. Part of #1329 2022-11-19 23:30:49 +01:00
Jon Beniston fc7c9c1fc8 Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
Jon Beniston c966f1cb5a dd maximize button to MainSpectrum and expandible Channels and Features.
Add sizeToContents in ChannelGUI and FeatureGUI, called when widget is
rolled, so we can remove resizing code from all of the individual
channels and features.

In RollupContents, use minimumSizeHint for calculated size, so that
minimumWidth can come from .ui file.

In DeviceGUI::sizeToContents(), call adjustSize(), so Device GUIs start
out at minimum needed size (which should restore appearance prior to
last patch).

In stackSubWindows, use available space for channels if no
spectrum/features present.
In stackSubWindows, fix spectrum from being sized too big, resulting in
scroll bars appearing.
Reset user-defined channel width in stackSubWindows, when channels are
removed.
Don't stack maximized windows.

There's one hack in Channel/FeatureGUI::maximizeWindow(). It seems that
when maximimzing a window, QOpenGLWidgets aren't always paint properly
immediately afterwards, so the code forces an additional update. I can't
see why the first call to paintGL doesn't work.
2022-11-11 12:24:27 +00:00
f4exb 47a6ddddd8 Updated versions and changelogs 2022-10-07 00:24:31 +02:00
f4exb dc04245a6d AFC feature corrections 2022-09-22 10:54:45 +02:00
f4exb 008e53104d Update threading model in AFC feature. Part of #1346 2022-09-21 06:01:45 +02:00
Jiří Pinkava 0df2d75e6d Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
f4exb de94ea01b5 Updated main and plugin versions 2022-05-14 13:16:33 +02:00
f4exb 9e5c629473 v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
f4exb f77e38eb3f Massive UI revamping (v7): Fixed sizing of feature windows. Part of #1209 2022-04-24 19:34:48 +02:00
f4exb 632378205a Merge branch 'v7' of https://github.com/f4exb/sdrangel into v7 2022-04-23 11:38:03 +02:00
Jon Beniston 99fce0dce0 Add FramelessWindowResizer class for resizig frameless windows.
Remove top-right resize grip from windows.
In channels and features, make sure enterEvent and leaveEvent are passed
to parent class.
2022-04-22 18:21:24 +01:00
f4exb 90386842ca Massive UI revamping (v7): fixed widget size handling: features. Part of #1209 2022-04-21 23:31:01 +02:00
f4exb 560d61abcb Massive UI revamping (v7): feature window basic feature settings dialog: implemented reset to default title. Some cosmetic changes 2022-04-18 12:08:33 +02:00
f4exb 4e2a4b7f6c Massive UI revamping (v7): more cleanup 2022-04-15 19:53:50 +02:00
f4exb 43f53fe26a Massive UI revamping (v7): created configurations with just Features for now 2022-04-05 16:28:07 +02:00
f4exb 5abef702e4 Massive UI revamping (v7): features 2022-04-05 16:28:07 +02:00
f4exb 7f1c838cec Updated versions and changelogs 2022-03-30 22:16:08 +02:00
f4exb 920d160f13 FeatureAPI: Added more convenient getIdentifier pure virtual method 2022-03-26 12:25:35 +01:00
f4exb 55a0ceadf3 Removed some obsolere references to legacy message pipes 2022-03-26 10:34:46 +01:00
f4exb 4111c967e9 Fixed some signal/slot connects. Removed unnecessary m_channelMessageQueue in ChannelAPI. Fixes #1185 2022-03-23 22:32:23 +01:00
f4exb 0715fc5d69 Updated versions and changelogs 2022-03-05 04:58:19 +01:00
f4exb 9c063410fb Message pipes rework: more renaming 2022-03-02 23:57:35 +01:00
f4exb 283ab64c59 Message pipes rework: settings pipes change in AFC, SSB demod, Frequency tracker 2022-03-02 06:58:54 +01:00
f4exb 74f917682b Message pipes rework: renaming to legacy 2022-02-28 23:08:01 +01:00
f4exb c90d04e4b6 AFC: more debug messages 2022-02-27 19:26:18 +01:00
f4exb 16547b2468 AFC: more debug messages 2022-02-27 18:58:43 +01:00
f4exb 75b034180c AFC feature: moved device scan in AFC class 2022-02-27 09:58:16 +01:00
Jon Beniston 97496ae9f9 Install debug symbols on Windows for debug builds 2022-02-06 12:56:58 +00:00
f4exb 98b305f320 Make rollup state a serializable object so that it can be dumped in JSON format for the API. Prerequisite tp #1050 2022-01-09 05:27:12 +01:00
Jon Beniston d5857c3878 Move Feature workers to thread 2021-11-25 09:28:59 +00:00
Jon Beniston 03004e00f7 Add links to documentation 2021-11-24 11:31:51 +00:00
Jon Beniston f72f18debf Save/restore rollup state in features 2021-11-23 13:35:57 +00:00
f4exb 54d880ac56 Updated versions and changelogs 2021-10-24 10:08:22 +02:00
f4exb fee2c5065d API: report running state for feature plugins with run action 2021-10-23 21:24:25 +02:00
f4exb 10f79b183f Implemented run action API in relevant feature plugins. Missing bits. 2021-10-23 10:53:15 +02:00
f4exb 920fa82022 Implemented run action API in relevant feature plugins 2021-10-22 02:01:33 +02:00