diff options
-rw-r--r-- | plugins/Clist_modern/src/modern_clc.cpp | 2 | ||||
-rw-r--r-- | 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;
|