diff options
Diffstat (limited to 'tipper/popwin.cpp')
-rw-r--r-- | tipper/popwin.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/tipper/popwin.cpp b/tipper/popwin.cpp index fadbfe3..ccac277 100644 --- a/tipper/popwin.cpp +++ b/tipper/popwin.cpp @@ -97,9 +97,19 @@ LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa } if(status >= ID_STATUS_OFFLINE && status <= ID_STATUS_IDLE) { - char *status_msg = (char *)CallService(MS_AWAYMSG_GETSTATUSMSG, status, 0); - if(status_msg) { - TCHAR *swzText = a2t(status_msg); + TCHAR *swzText = 0; + char *status_msg = 0; + if(ServiceExists(MS_AWAY_GETPROTOSTATUSMESSAGET)) + swzText = _tcsdup((TCHAR *)CallService(MS_AWAY_GETPROTOSTATUSMESSAGET, (LPARAM)status, (WPARAM)pwd->clcit.proto)); + else if(ServiceExists(MS_AWAY_GETPROTOSTATUSMESSAGE)) + status_msg = (char *)CallService(MS_AWAY_GETPROTOSTATUSMESSAGE, (LPARAM)status, (WPARAM)pwd->clcit.proto); + else + status_msg = (char *)CallService(MS_AWAYMSG_GETSTATUSMSG, status, 0); + + if(status_msg) + swzText = a2t(status_msg); + + if(swzText) { StripBBCodesInPlace(swzText); pwd->rows = (RowData *) realloc(pwd->rows, sizeof(RowData) * (pwd->row_count + 1)); |