From 9f1350bd4fb0df56a4115e80343285eef8acb954 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 13 Jul 2012 19:24:27 +0000 Subject: fix for rare crash git-svn-id: http://svn.miranda-ng.org/main/trunk@955 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/NewXstatusNotify/xstatus.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'plugins/NewXstatusNotify/xstatus.cpp') diff --git a/plugins/NewXstatusNotify/xstatus.cpp b/plugins/NewXstatusNotify/xstatus.cpp index c427a8d427..94415dbb21 100644 --- a/plugins/NewXstatusNotify/xstatus.cpp +++ b/plugins/NewXstatusNotify/xstatus.cpp @@ -193,19 +193,20 @@ void ShowPopup(XSTATUSCHANGE *xsc) break; } - - _tcscpy(ppd.lptzContactName, (TCHAR *)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)xsc->hContact, GSMDF_TCHAR)); - if (opt.ShowGroup) //add group name to popup title - { - if (!DBGetContactSettingTString(xsc->hContact, "CList", "Group", &dbv)) - { - _tcscat(ppd.lptzContactName, _T(" (")); - _tcscat(ppd.lptzContactName, dbv.ptszVal); - _tcscat(ppd.lptzContactName, _T(")")); + TCHAR *ptszGroup = NULL, + *ptszNick = (TCHAR *)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)xsc->hContact, GSMDF_TCHAR); + if (opt.ShowGroup) { //add group name to popup title + if (!DBGetContactSettingTString(xsc->hContact, "CList", "Group", &dbv)) { + ptszGroup = NEWTSTR_ALLOCA(dbv.ptszVal); DBFreeVariant(&dbv); } } + if (ptszGroup) + mir_sntprintf(ppd.lptzContactName, SIZEOF(ppd.lptzContactName),_T("%s (%s)"), ptszNick, ptszGroup); + else + _tcsncpy(ppd.lptzContactName, ptszNick, SIZEOF(ppd.lptzContactName)); + // cut message if needed if (opt.PTruncateMsg && (opt.PMsgLen > 0) && xsc->stzText && (_tcslen(xsc->stzText) > opt.PMsgLen)) { -- cgit v1.2.3