diff options
-rw-r--r-- | init.cpp | 8 | ||||
-rw-r--r-- | jabber_account.cpp | 10 | ||||
-rw-r--r-- | jabber_account.h | 2 | ||||
-rw-r--r-- | utilities.cpp | 2 |
4 files changed, 18 insertions, 4 deletions
@@ -156,12 +156,14 @@ static int OnModulesLoaded(WPARAM wParam,LPARAM lParam) void FirstRun();
FirstRun();
InitCheck();
-
- GetJabberInterface(0,0);
+
+ if(bJabberAPI)
+ GetJabberInterface(0,0);
HookEvent(ME_OPT_INITIALISE, GpgOptInit);
HookEvent(ME_DB_EVENT_FILTER_ADD, HookSendMsg);
- HookEvent(ME_PROTO_ACCLISTCHANGED, GetJabberInterface);
+ if(bJabberAPI)
+ HookEvent(ME_PROTO_ACCLISTCHANGED, GetJabberInterface);
// HookEvent(ME_NETLIB_FASTSEND, TestHook);
hOnPreBuildContactMenu = HookEvent(ME_CLIST_PREBUILDCONTACTMENU, OnPreBuildContactMenu);
diff --git a/jabber_account.cpp b/jabber_account.cpp index 25cdcb5..836ff03 100644 --- a/jabber_account.cpp +++ b/jabber_account.cpp @@ -49,3 +49,13 @@ HANDLE JabberAccount::getSendHandler() { return hSendHandler; } + +JabberAccount::JabberAccount() +{ + AccountName = NULL; +} +JabberAccount::~JabberAccount() +{ + if(AccountName) + mir_free(AccountName); +}
\ No newline at end of file diff --git a/jabber_account.h b/jabber_account.h index c04d156..9f5f228 100644 --- a/jabber_account.h +++ b/jabber_account.h @@ -27,6 +27,8 @@ public: int getAccountNumber(); IJabberInterface *getJabberInterface(); HANDLE getSendHandler(); + ~JabberAccount(); + JabberAccount(); private: TCHAR *AccountName; int AccountNumber; diff --git a/utilities.cpp b/utilities.cpp index eb14cae..b658e57 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -326,8 +326,8 @@ int GetJabberInterface(WPARAM w, LPARAM l) //get interface for all jabber accoun (*p)->setAccountNumber(a); (*p)->setSendHandler(INVALID_HANDLE_VALUE); a++; - p++; Accounts.push_back(new JabberAccount); + p++; } } Accounts.pop_back(); |