summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.cpp8
-rw-r--r--jabber_account.cpp10
-rw-r--r--jabber_account.h2
-rw-r--r--utilities.cpp2
4 files changed, 18 insertions, 4 deletions
diff --git a/init.cpp b/init.cpp
index 93a812e..6d2b2ce 100644
--- a/init.cpp
+++ b/init.cpp
@@ -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();