From be538312417a60f4fbdfcc81b93744af72aa9df3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 18 Jun 2013 22:03:24 +0000 Subject: various icon issues git-svn-id: http://svn.miranda-ng.org/main/trunk@5031 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/modules/srmm/statusicon.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/modules/srmm/statusicon.cpp b/src/modules/srmm/statusicon.cpp index 0915df7d46..4be925e5eb 100644 --- a/src/modules/srmm/statusicon.cpp +++ b/src/modules/srmm/statusicon.cpp @@ -27,6 +27,10 @@ struct StatusIconChild : public MZeroedObject { ~StatusIconChild() { + if (hIcon) + DestroyIcon(hIcon); + if (hIconDisabled) + DestroyIcon(hIconDisabled); mir_free(tszTooltip); } @@ -96,6 +100,10 @@ INT_PTR ModifyStatusIcon(WPARAM wParam, LPARAM lParam) pc->hContact = hContact; p->arChildren.insert(pc); } + else { + if (pc->hIcon) + DestroyIcon(pc->hIcon); + } pc->flags = sid->flags; pc->hIcon = sid->hIcon; @@ -165,7 +173,10 @@ static INT_PTR GetNthIcon(WPARAM wParam, LPARAM lParam) memcpy(&res, &p, sizeof(res)); if (pc) { if (pc->hIcon) res.hIcon = pc->hIcon; - if (pc->hIconDisabled) res.hIconDisabled = pc->hIconDisabled; + if (pc->hIconDisabled) + res.hIconDisabled = pc->hIconDisabled; + else if (pc->hIcon) + res.hIconDisabled = pc->hIcon; if (pc->tszTooltip) res.tszTooltip = pc->tszTooltip; res.flags = pc->flags; } -- cgit v1.2.3