From 2372899bd100889437edf20d10ca91cfb97db7e3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 9 Apr 2024 15:37:56 +0300 Subject: =?UTF-8?q?fixes=20#4323=20(Clist=5Fmodern:=20=D0=BF=D0=BB=D0=B0?= =?UTF-8?q?=D0=B3=D0=B8=D0=BD=20=D0=BD=D0=B5=20=D0=BF=D0=BE=D0=B7=D0=B2?= =?UTF-8?q?=D0=BE=D0=BB=D1=8F=D0=B5=D1=82=20=D0=BF=D0=B5=D1=80=D0=B5=D1=82?= =?UTF-8?q?=D0=B0=D1=89=D0=B8=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B0=D0=BA=D1=82,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B9=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=B2=20=D1=81=D0=B5=D1=82=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/Clist_modern/src/modern_clc.cpp | 2 +- src/mir_app/src/clcfiledrop.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/Clist_modern/src/modern_clc.cpp b/plugins/Clist_modern/src/modern_clc.cpp index b57b583774..7dba34ffba 100644 --- a/plugins/Clist_modern/src/modern_clc.cpp +++ b/plugins/Clist_modern/src/modern_clc.cpp @@ -1333,7 +1333,6 @@ static LRESULT clcOnIntmIconChanged(ClcData *dat, HWND hwnd, UINT, WPARAM wParam int contacticon = Clist_GetContactIcon(wParam); MCONTACT hSelItem = 0; - ClcGroup *selgroup; ClcContact *selcontact = nullptr; char *szProto = Proto_GetBaseAccountName(wParam); @@ -1401,6 +1400,7 @@ static LRESULT clcOnIntmIconChanged(ClcData *dat, HWND hwnd, UINT, WPARAM wParam } if (hSelItem) { + ClcGroup *selgroup; if (Clist_FindItem(hwnd, dat, hSelItem, &selcontact, &selgroup)) dat->selection = g_clistApi.pfnGetRowsPriorTo(&dat->list, selgroup, selgroup->cl.indexOf(selcontact)); else diff --git a/src/mir_app/src/clcfiledrop.cpp b/src/mir_app/src/clcfiledrop.cpp index 6ee2cb1d8a..4e708e2b40 100644 --- a/src/mir_app/src/clcfiledrop.cpp +++ b/src/mir_app/src/clcfiledrop.cpp @@ -85,8 +85,12 @@ static MCONTACT HContactFromPoint(HWND hwnd, ClcData *dat, int x, int y, int *hi uint32_t protoCaps = CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1); if (!(protoCaps & PF1_FILESEND)) return 0; - if (ID_STATUS_OFFLINE == db_get_w(contact->hContact, szProto, "Status", ID_STATUS_OFFLINE)) - return 0; + + if (ID_STATUS_OFFLINE == db_get_w(contact->hContact, szProto, "Status", ID_STATUS_OFFLINE)) { + protoCaps = CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_4); + if (!(protoCaps & PF4_OFFLINEFILES)) + return 0; + } if (hitLine) *hitLine = hit; return contact->hContact; -- cgit v1.2.3