diff options
Diffstat (limited to 'Plugins')
-rw-r--r-- | Plugins/extraicons/Docs/extraicons_changelog.txt | 3 | ||||
-rw-r--r-- | Plugins/extraicons/Docs/extraicons_version.txt | 2 | ||||
-rw-r--r-- | Plugins/extraicons/extraicons.cpp | 2 | ||||
-rw-r--r-- | Plugins/extraicons/options.cpp | 3 | ||||
-rw-r--r-- | Plugins/extraicons/usedIcons.cpp | 21 |
5 files changed, 16 insertions, 15 deletions
diff --git a/Plugins/extraicons/Docs/extraicons_changelog.txt b/Plugins/extraicons/Docs/extraicons_changelog.txt index 789981b..984bb20 100644 --- a/Plugins/extraicons/Docs/extraicons_changelog.txt +++ b/Plugins/extraicons/Docs/extraicons_changelog.txt @@ -2,6 +2,9 @@ Extra Icons Service Changelog:
+. 0.2.5.0
+ * Fix for crash on reseting icons
+
. 0.2.4.0
* Fix for removing grouped icon
diff --git a/Plugins/extraicons/Docs/extraicons_version.txt b/Plugins/extraicons/Docs/extraicons_version.txt index 9ce190c..ffcd6fd 100644 --- a/Plugins/extraicons/Docs/extraicons_version.txt +++ b/Plugins/extraicons/Docs/extraicons_version.txt @@ -1 +1 @@ -Extra Icons Service 0.2.4.0
\ No newline at end of file +Extra Icons Service 0.2.5.0
\ No newline at end of file diff --git a/Plugins/extraicons/extraicons.cpp b/Plugins/extraicons/extraicons.cpp index 26dd9b5..4e445d3 100644 --- a/Plugins/extraicons/extraicons.cpp +++ b/Plugins/extraicons/extraicons.cpp @@ -24,7 +24,7 @@ PLUGININFOEX pluginInfo = {
sizeof(PLUGININFOEX),
"Extra Icons Service",
- PLUGIN_MAKE_VERSION(0,2,4,0),
+ PLUGIN_MAKE_VERSION(0,2,5,0),
"Extra Icons Service",
"Ricardo Pescuma Domenecci",
"",
diff --git a/Plugins/extraicons/options.cpp b/Plugins/extraicons/options.cpp index 965cb2a..88ae210 100644 --- a/Plugins/extraicons/options.cpp +++ b/Plugins/extraicons/options.cpp @@ -40,8 +40,7 @@ int InitOptionsCallback(WPARAM wParam, LPARAM lParam) odp.hInstance = hInst;
odp.pszGroup = LPGENT("Contact List");
odp.pszTitle = LPGENT("Extra icons");
- // odp.pszTitle = LPGENT("Contact List");
- // odp.pszTab = LPGENT("Extra icons");
+ odp.pszTab = LPGENT("General");
odp.pfnDlgProc = OptionsDlgProc;
odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPTIONS);
odp.flags = ODPF_BOLDGROUPS | ODPF_EXPERTONLY;
diff --git a/Plugins/extraicons/usedIcons.cpp b/Plugins/extraicons/usedIcons.cpp index 9726381..de58069 100644 --- a/Plugins/extraicons/usedIcons.cpp +++ b/Plugins/extraicons/usedIcons.cpp @@ -83,29 +83,28 @@ HANDLE AddIcon(const char *icolibName) void RemoveIcon(const char *icolibName)
{
- for (vector<Icon>::iterator it = usedIcons.begin(); it != usedIcons.end(); it++)
+ for (unsigned int i = 0; i < usedIcons.size(); ++i)
{
- Icon *icon = &*it;
+ Icon *icon = &usedIcons[i];
if (icon->name != icolibName)
continue;
icon->refCount--;
-
break;
}
}
+static bool NotUsedIcon(const Icon &icon)
+{
+ return icon.refCount <= 0;
+}
+
void ResetIcons()
{
- for (vector<Icon>::iterator it = usedIcons.begin(); it != usedIcons.end(); it++)
- {
- Icon *icon = &*it;
+ usedIcons.erase(std::remove_if(usedIcons.begin(), usedIcons.end(), NotUsedIcon), usedIcons.end());
- if (icon->refCount <= 0)
- usedIcons.erase(it);
- else
- icon->hImage = NULL;
- }
+ for (unsigned int i = 0; i < usedIcons.size(); ++i)
+ usedIcons[i].hImage = NULL;
}
|