fixed memory leak
This commit is contained in:
parent
e1dd3dc532
commit
1fcf6c3722
3 changed files with 23 additions and 3 deletions
|
|
@ -41,8 +41,20 @@ HRESULT EndpointCallback::OnNotify(PAUDIO_VOLUME_NOTIFICATION_DATA pNotify) {
|
|||
|
||||
//TODO: MEMORY LEAK. FREE DATA4 FROM NGUID.
|
||||
//TODO: el default = objcopy frees?
|
||||
//delete osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller;
|
||||
memcpy(&osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller, &pNotify->guidEventContext,sizeof(NGuid) );
|
||||
//delete osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller;
|
||||
//osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller.freeData4();
|
||||
//Could've made a function or = override to hide this within Nguid, but back in cont = bad.
|
||||
osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller.data1 \
|
||||
= pNotify->guidEventContext.Data1;
|
||||
osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller.data2 \
|
||||
= pNotify->guidEventContext.Data2;
|
||||
osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller.data3 \
|
||||
= pNotify->guidEventContext.Data3;
|
||||
for(int i = 0; i < 8 /* Data4 size */; i++){
|
||||
osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller.data4[i] = pNotify->guidEventContext.Data4[i];
|
||||
}
|
||||
|
||||
//memcpy(&osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->caller, &pNotify->guidEventContext,sizeof(NGuid) );
|
||||
|
||||
osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->muted = pNotify->bMuted;
|
||||
osh->getEndpointHandlers().at(this->ep->getIndex())->getCallbackInfo()->mainVolume = pNotify->fMasterVolume;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,15 @@ struct NGuid {
|
|||
uint16_t data2;
|
||||
uint16_t data3;
|
||||
unsigned char data4[8];
|
||||
|
||||
|
||||
/* void freeData4(){ */
|
||||
/* int i = 0; */
|
||||
/* do{ */
|
||||
/* if(this->data4 + i != nullptr) free(data4 + i); */
|
||||
/* i++; */
|
||||
/* }while (i < 8); */
|
||||
/* } */
|
||||
};
|
||||
|
||||
struct BackEndpointCallbackInfo {
|
||||
|
|
|
|||
|
|
@ -93,7 +93,6 @@ EndpointWidget::EndpointWidget(uint64_t idx, EndpointHandler* eph, QWidget *pare
|
|||
//memcpy(osh->callbackInfo[idx]->caller, osh->getGuid(), sizeof(NGuid));
|
||||
|
||||
//TODO: el default = objcopy frees?
|
||||
//delete eph->getCallbackInfo()->caller;
|
||||
eph->getCallbackInfo()->caller = *osh->getGuid();
|
||||
mainSlider->blockSignals(false);
|
||||
muteButton->blockSignals(false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue