diff options
author | George Hazan <george.hazan@gmail.com> | 2013-06-18 22:03:24 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2013-06-18 22:03:24 +0000 |
commit | be538312417a60f4fbdfcc81b93744af72aa9df3 (patch) | |
tree | 6252b7ed4262dfb2fc0673b5ce9641dd659f5eb9 /src/modules/srmm | |
parent | 044b929e389a80fee57ba216ccb6ad5e73fcf03d (diff) |
various icon issues
git-svn-id: http://svn.miranda-ng.org/main/trunk@5031 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'src/modules/srmm')
-rw-r--r-- | src/modules/srmm/statusicon.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
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;
}
|