summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2007-10-11 08:42:39 +0000
committersje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2007-10-11 08:42:39 +0000
commit283b4ae7cb3ca185b9a9eb1e629b9f7278be55de (patch)
tree00594b091ea9e0ede85ee57bc7e425b77837597f
parent2858844b5063f5f2a753f162d0fa475bae4a48b0 (diff)
more fixes for hard-coded metacontact protocol name
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@365 4f64403b-2f21-0410-a795-97e2b3489a10
-rw-r--r--otr/common.h2
-rw-r--r--otr/dllmain.cpp11
-rw-r--r--otr/menu.cpp2
-rw-r--r--otr/options.cpp4
-rw-r--r--otr/otr.mdsp15
-rw-r--r--otr/otr_private.h2
6 files changed, 23 insertions, 13 deletions
diff --git a/otr/common.h b/otr/common.h
index 5d7edb0..27b9612 100644
--- a/otr/common.h
+++ b/otr/common.h
@@ -63,6 +63,8 @@ extern OtrlUserState otr_user_state;
extern char private_key_filename[MAX_PATH];
extern char fingerprint_store_filename[MAX_PATH];
+extern char *metaproto;
+
// read the files named above
void ReadPrivkeyFiles();
diff --git a/otr/dllmain.cpp b/otr/dllmain.cpp
index 24f41ea..f4f13b7 100644
--- a/otr/dllmain.cpp
+++ b/otr/dllmain.cpp
@@ -34,6 +34,8 @@ OtrlUserState otr_user_state = 0;
UINT_PTR TIMER_ID_CLEAR_FINISHED = 0;
+char *metaproto = 0;
+
// plugin stuff
PLUGININFOEX pluginInfo={
sizeof(PLUGININFOEX),
@@ -652,7 +654,7 @@ int OTRSendMessage(WPARAM wParam,LPARAM lParam){
//MessageBox(0, (char *)ccs->lParam, "OTR - sending raw message", MB_OK);
char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)ccs->hContact, 0);
- if(proto && strcmp(proto, "MetaContacts") == 0) // bypass for metacontacts
+ if(proto && metaproto && strcmp(proto, metaproto) == 0) // bypass for metacontacts
return CallService(MS_PROTO_CHAINSEND, wParam, lParam);
if(!proto) return 1; // error
@@ -830,7 +832,7 @@ int RecvMessage(WPARAM wParam,LPARAM lParam){
OtrlTLV *tlv = 0;
char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)ccs->hContact, 0);
- if(proto && strcmp(proto, "MetaContacts") == 0) // bypass for metacontacts
+ if(proto && metaproto && strcmp(proto, metaproto) == 0) // bypass for metacontacts
return CallService(MS_PROTO_CHAINRECV, wParam, lParam);
if(strlen(oldmessage) > INLINE_PREFIX_LEN && strncmp(oldmessage, INLINE_PREFIX, INLINE_PREFIX_LEN) == 0) // bypass for our inline messages
@@ -1013,7 +1015,7 @@ int OnDatabaseEventPreAdd(WPARAM wParam, LPARAM lParam) {
return 0;
}
- if(ServiceExists(MS_MC_GETPROTOCOLNAME) && strcmp(proto, (char *)CallService(MS_MC_GETPROTOCOLNAME, 0, 0)) == 0) {
+ if(metaproto && strcmp(proto, metaproto) == 0) {
HANDLE hSubContact = (HANDLE)CallService(MS_MC_GETMOSTONLINECONTACT, (WPARAM)hContact, 0);
if(!hSubContact)
return 0;
@@ -1245,6 +1247,9 @@ void ReadPrivkeyFiles() {
}
int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
+ if(ServiceExists(MS_MC_GETPROTOCOLNAME))
+ metaproto = (char *)CallService(MS_MC_GETPROTOCOLNAME, 0, 0);
+
if(ServiceExists(MS_UPDATE_REGISTER)) {
// register with updater
Update update = {0};
diff --git a/otr/menu.cpp b/otr/menu.cpp
index 026f0fe..ee917d7 100644
--- a/otr/menu.cpp
+++ b/otr/menu.cpp
@@ -32,7 +32,7 @@ int PrebuildContactMenu(WPARAM wParam, LPARAM lParam) {
goto hide_all;
}
- if(strcmp(proto, "MetaContacts") == 0) {
+ if(proto && metaproto && strcmp(proto, metaproto) == 0) {
// make menu act as per most online subcontact
hContact = (HANDLE)CallService(MS_MC_GETMOSTONLINECONTACT, (WPARAM)hContact, 0);
if(!hContact)
diff --git a/otr/options.cpp b/otr/options.cpp
index 4334362..055507a 100644
--- a/otr/options.cpp
+++ b/otr/options.cpp
@@ -229,7 +229,7 @@ INT_PTR CALLBACK DlgProcOpts1(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPar
CallService(MS_PROTO_ENUMPROTOCOLS, (LPARAM)&num_protocols, (WPARAM)&pppDesc);
HWND hw = GetDlgItem(hwndDlg, IDC_LIST_PROTOS);
for(int i = 0; i < num_protocols; i++) {
- if(pppDesc[i]->type == PROTOTYPE_PROTOCOL && strcmp(pppDesc[i]->szName, "MetaContacts") != 0
+ if(pppDesc[i]->type == PROTOTYPE_PROTOCOL && (metaproto == 0 || strcmp(pppDesc[i]->szName, metaproto) != 0)
&& CallProtoService(pppDesc[i]->szName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IM == PF1_IM)
{
SendMessage(hw, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)pppDesc[i]->szName);
@@ -265,7 +265,7 @@ INT_PTR CALLBACK DlgProcOpts1(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPar
{
proto = ( char* )CallService( MS_PROTO_GETCONTACTBASEPROTO, ( WPARAM )hContact,0 );
if(proto && DBGetContactSettingByte(hContact, proto, "ChatRoom", 0) == 0 && CallService(MS_PROTO_ISPROTOONCONTACT, (WPARAM)hContact, (LPARAM)MODULE) // ignore chatrooms
- && (proto && strcmp(proto, "MetaContacts") != 0)) // and MetaContacts
+ && (metaproto == 0 || strcmp(proto, metaproto) != 0)) // and MetaContacts
{
lvI.iSubItem = 0;
lvI.lParam = (LPARAM)hContact;
diff --git a/otr/otr.mdsp b/otr/otr.mdsp
index c112bf0..bc11823 100644
--- a/otr/otr.mdsp
+++ b/otr/otr.mdsp
@@ -124,11 +124,14 @@ extraResourceOptions=
25=..\..\..\..\..\..\..\msys\home\sje\libotr\src\userstate.h
26=..\..\..\..\..\..\..\msys\home\sje\libotr\src\version.h
[History]
-dllmain.cpp,35185
-..\..\..\..\..\..\..\msys\home\sje\libotr\src\message.h,9228
-..\..\..\..\..\..\..\msys\home\sje\libotr\src\proto.h,0
-common.h,844
-..\..\..\..\..\..\..\msys\home\sje\libotr\src\proto.c,1504
-..\..\..\..\..\..\..\msys\home\sje\libotr\src\version.h,0
..\..\..\..\..\..\..\msys\home\sje\libotr\src\context.h,1839
+..\..\..\..\..\..\..\msys\home\sje\libotr\src\version.h,0
+..\..\..\..\..\..\..\msys\home\sje\libotr\src\proto.c,1504
+common.h,1593
+..\..\..\..\..\..\..\msys\home\sje\libotr\src\proto.h,0
+..\..\..\..\..\..\..\msys\home\sje\libotr\src\message.h,9228
+dllmain.cpp,35022
+menu.cpp,1044
+options.cpp,9854
+.svn\text-base\dllmain.cpp.svn-base,34942
otr_private.h,171
diff --git a/otr/otr_private.h b/otr/otr_private.h
index 804a57c..25bca84 100644
--- a/otr/otr_private.h
+++ b/otr/otr_private.h
@@ -5,7 +5,7 @@
#define VER_MAJOR 0
#define VER_MINOR 6
#define VER_RELEASE 0
-#define VER_BUILD 1
+#define VER_BUILD 2
#define __STRINGIZE(x) #x
#define VER_STRING __STRINGIZE( VER_MAJOR.VER_MINOR.VER_RELEASE.VER_BUILD )