summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/SmileyAdd/src/services.cpp2
-rw-r--r--plugins/SmileyAdd/src/smileys.cpp10
2 files changed, 9 insertions, 3 deletions
diff --git a/plugins/SmileyAdd/src/services.cpp b/plugins/SmileyAdd/src/services.cpp
index 773c7cccc9..dd3c679bad 100644
--- a/plugins/SmileyAdd/src/services.cpp
+++ b/plugins/SmileyAdd/src/services.cpp
@@ -301,7 +301,7 @@ int RebuildContactMenu(WPARAM wParam, LPARAM)
HGENMENU hMenu;
for (int i=0; i < smc.getCount(); i++) {
- if (smc[i].IsExt() || (smc[i].IsProto() && opt.UseOneForAll))
+ if (smc[i].IsExt() || (smc[i].IsProto() && opt.UseOneForAll) || smc[i].GetFilename().IsEmpty())
continue;
const int ind = i + 3;
diff --git a/plugins/SmileyAdd/src/smileys.cpp b/plugins/SmileyAdd/src/smileys.cpp
index 899e2580b1..c2a688ae97 100644
--- a/plugins/SmileyAdd/src/smileys.cpp
+++ b/plugins/SmileyAdd/src/smileys.cpp
@@ -734,8 +734,14 @@ void SmileyCategoryType::Load(void)
{
bool visiblecat = opt.UsePhysProto ? !IsAcc() : !IsPhysProto();
bool visible = opt.UseOneForAll ? !IsProto() : visiblecat;
- if (visible)
- m_pSmileyPackStore->AddSmileyPack(m_Filename, m_DisplayName);
+
+ if (visible && !m_Filename.IsEmpty()){
+ bool loaded = m_pSmileyPackStore->AddSmileyPack(m_Filename, m_DisplayName);
+ if (!loaded){
+ ClearFilename();
+ SaveSettings();
+ }
+ }
}