wip: heap corruption (3rd item main volume)

This commit is contained in:
Hane 2023-09-10 21:58:01 +02:00
commit 780b546385
6 changed files with 107 additions and 52 deletions

View file

@ -58,14 +58,17 @@
*/
enum CustomQEvent {
EndpointWidgetObsolete = 1001,
EndpointDefaultChange = 1002,
EndpointWidgetCreated = 1002,
EndpointDefaultChange = 1003,
};
template <typename T>
class EndpointWidgetEvent : public QEvent {
public:
EndpointWidgetEvent(QEvent::Type type, int idx);
uint64_t idx;
EndpointWidgetEvent(QEvent::Type type, T payload);
T payload;
};
//Q_DECLARE_METATYPE(EndpointWidgetEvent)
@ -89,7 +92,7 @@ public:
EndpointWidget(uint64_t idx, EndpointHandler* eph, QWidget *parent = nullptr);
EndpointHandler* getEndpointHandler();
void updateEndpointHandlerFrontInfo(uint64_t index);
void updateEndpointHandlerFrontIndex(uint64_t index);
void setIndex(uint64_t idx);
uint64_t getIndex();
@ -104,6 +107,7 @@ public:
QGridLayout *layout = nullptr;
QGridLayout *mainMuteLayout = nullptr;
std::map<Roles, ExtendedCheckBox*> defaultRolesCheckBoxes;
~EndpointWidget();
//void updateMainVolume(float newValue);
//void updateVolume(uint32_t channel, float newValue);
@ -143,7 +147,8 @@ protected:
private slots:
void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
void removeEndpointWidget(EndpointWidgetEvent* ev);
void removeEndpointWidget(EndpointWidgetEvent<uint64_t>* ev);
void addEndpointWidget(EndpointWidgetEvent<EndpointHandler*>* ev);
//TODO: destroy/empty existing EndpointWidgets
//void setEndpointHandlers(std::vector<EndpointHandler*> *ephs);