summaryrefslogtreecommitdiff
path: root/plugins/TabSRMM/src/buttonsbar.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2016-05-13 19:31:10 +0000
committerGeorge Hazan <george.hazan@gmail.com>2016-05-13 19:31:10 +0000
commite73bb3845517a31fa795e8d2174fcc8572835b33 (patch)
treede8df67f838deae6ab9a74475aff6c71913890df /plugins/TabSRMM/src/buttonsbar.cpp
parentf4a41df7b0b39972ebff39377363718d49201159 (diff)
memory leak in CB module
git-svn-id: http://svn.miranda-ng.org/main/trunk@16827 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/TabSRMM/src/buttonsbar.cpp')
-rw-r--r--plugins/TabSRMM/src/buttonsbar.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/plugins/TabSRMM/src/buttonsbar.cpp b/plugins/TabSRMM/src/buttonsbar.cpp
index 9707fcdf58..5f882b5faa 100644
--- a/plugins/TabSRMM/src/buttonsbar.cpp
+++ b/plugins/TabSRMM/src/buttonsbar.cpp
@@ -245,38 +245,37 @@ static INT_PTR CB_SetButtonState(WPARAM wParam, LPARAM lParam)
static INT_PTR CB_RemoveButton(WPARAM, LPARAM lParam)
{
- BBButton *bbdi = (BBButton *)lParam;
+ BBButton *bbdi = (BBButton*)lParam;
if (!bbdi)
return 1;
- DWORD tempCID = 0;
- DWORD dwFlags = 0;
+ CustomButtonData *pFound = NULL;
{
mir_cslock lck(csToolBar);
for (int i = LButtonsList.getCount() - 1; i >= 0; i--) {
CustomButtonData *cbd = LButtonsList[i];
if (!mir_strcmp(cbd->m_pszModuleName, bbdi->pszModuleName) && cbd->m_dwButtonOrigID == bbdi->dwButtonID) {
- tempCID = cbd->m_dwButtonCID;
- dwFlags = cbd->m_bLSided ? BBBF_ISLSIDEBUTTON : BBBF_ISRSIDEBUTTON;
+ pFound = cbd;
LButtonsList.remove(i);
}
}
- if (!tempCID) {
+ if (!pFound) {
for (int i = RButtonsList.getCount() - 1; i >= 0; i--) {
CustomButtonData *cbd = RButtonsList[i];
if (!mir_strcmp(cbd->m_pszModuleName, bbdi->pszModuleName) && cbd->m_dwButtonOrigID == bbdi->dwButtonID) {
- tempCID = cbd->m_dwButtonCID;
- dwFlags = cbd->m_bLSided ? BBBF_ISLSIDEBUTTON : BBBF_ISRSIDEBUTTON;
+ pFound = cbd;
RButtonsList.remove(i);
}
}
}
}
- if (tempCID)
- M.BroadcastMessage(DM_CBDESTROY, (WPARAM)tempCID, (LPARAM)dwFlags);
+ if (pFound) {
+ M.BroadcastMessage(DM_CBDESTROY, pFound->m_dwButtonCID, pFound->m_bLSided ? BBBF_ISLSIDEBUTTON : BBBF_ISRSIDEBUTTON);
+ delete pFound;
+ }
return 0;
}