diff options
Diffstat (limited to 'protocols/ICQ-WIM/src/proto.cpp')
-rw-r--r-- | protocols/ICQ-WIM/src/proto.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/protocols/ICQ-WIM/src/proto.cpp b/protocols/ICQ-WIM/src/proto.cpp index 3e41302dd5..1d70e7a59f 100644 --- a/protocols/ICQ-WIM/src/proto.cpp +++ b/protocols/ICQ-WIM/src/proto.cpp @@ -176,11 +176,14 @@ INT_PTR CIcqProto::UploadGroups(WPARAM, LPARAM) if (isChatRoom(it)) continue; - CMStringW wszIcqGroup(getMStringW(it, "IcqGroup")); + ptrW wszIcqGroup(getWStringA(it, "IcqGroup")); + if (wszIcqGroup == nullptr) + continue; + ptrW wszMirGroup(Clist_GetGroup(it)); if (!wszMirGroup) wszMirGroup = mir_wstrdup(L"General"); - if (wszIcqGroup != wszMirGroup) + if (mir_wstrcmp(wszIcqGroup, wszMirGroup)) MoveContactToGroup(it, wszIcqGroup, wszMirGroup); } return 0; @@ -357,7 +360,7 @@ int CIcqProto::OnGroupChange(WPARAM hContact, LPARAM lParam) << AIMSID(this) << GROUP_PARAM("oldGroup", pParam->pszOldName) << GROUP_PARAM("newGroup", pParam->pszNewName)); } } - else MoveContactToGroup(hContact, getMStringW(hContact, "IcqGroup"), pParam->pszNewName); + else MoveContactToGroup(hContact, ptrW(getWStringA(hContact, "IcqGroup")), pParam->pszNewName); return 0; } |