@@ -1557,6 +1557,7 @@ static HRESULT CALLBACK Buddy_TaskCallback(HWND TaskWindow, UINT Message, WPARAM
1557
1557
{
1558
1558
case TDN_CREATED :
1559
1559
Buddy -> ProgressWindow = TaskWindow ;
1560
+ SendMessageW (TaskWindow , TDM_SET_PROGRESS_BAR_MARQUEE , TRUE, 0 );
1560
1561
break ;
1561
1562
}
1562
1563
return S_OK ;
@@ -1588,6 +1589,9 @@ static void Buddy_SendFile(ScreenBuddy* Buddy, wchar_t* FileName)
1588
1589
}
1589
1590
else
1590
1591
{
1592
+ SHFILEINFOW FileInfo ;
1593
+ DWORD_PTR IconOk = SHGetFileInfoW (FileName , 0 , & FileInfo , sizeof (FileInfo ), SHGFI_ICON | SHGFI_USEFILEATTRIBUTES );
1594
+
1591
1595
PathStripPathW (FileName );
1592
1596
1593
1597
TASKDIALOGCONFIG Config =
@@ -1597,7 +1601,7 @@ static void Buddy_SendFile(ScreenBuddy* Buddy, wchar_t* FileName)
1597
1601
.dwFlags = TDF_USE_HICON_MAIN | TDF_ALLOW_DIALOG_CANCELLATION | TDF_SHOW_MARQUEE_PROGRESS_BAR | TDF_CAN_BE_MINIMIZED | TDF_SIZE_TO_CONTENT ,
1598
1602
.dwCommonButtons = TDCBF_CANCEL_BUTTON ,
1599
1603
.pszWindowTitle = BUDDY_TITLE ,
1600
- .hMainIcon = Buddy -> Icon ,
1604
+ .hMainIcon = IconOk ? FileInfo . hIcon : Buddy -> Icon ,
1601
1605
.pszMainInstruction = FileName ,
1602
1606
.pszContent = L"Sending file..." ,
1603
1607
.nDefaultButton = IDCANCEL ,
@@ -1610,6 +1614,11 @@ static void Buddy_SendFile(ScreenBuddy* Buddy, wchar_t* FileName)
1610
1614
1611
1615
Buddy -> ProgressWindow = NULL ;
1612
1616
Buddy -> FileHandle = NULL ;
1617
+
1618
+ if (IconOk )
1619
+ {
1620
+ DestroyIcon (FileInfo .hIcon );
1621
+ }
1613
1622
}
1614
1623
}
1615
1624
@@ -2242,6 +2251,9 @@ static void Buddy_NetworkEvent(ScreenBuddy* Buddy)
2242
2251
2243
2252
if (Buddy -> FileHandle )
2244
2253
{
2254
+ SHFILEINFOW FileInfo ;
2255
+ DWORD_PTR IconOk = SHGetFileInfoW (FileName , 0 , & FileInfo , sizeof (FileInfo ), SHGFI_ICON | SHGFI_USEFILEATTRIBUTES );
2256
+
2245
2257
PathStripPathW (FileName );
2246
2258
2247
2259
Buddy -> FileProgress = 0 ;
@@ -2258,7 +2270,7 @@ static void Buddy_NetworkEvent(ScreenBuddy* Buddy)
2258
2270
.dwFlags = TDF_USE_HICON_MAIN | TDF_ALLOW_DIALOG_CANCELLATION | TDF_SHOW_MARQUEE_PROGRESS_BAR | TDF_CAN_BE_MINIMIZED | TDF_SIZE_TO_CONTENT ,
2259
2271
.dwCommonButtons = TDCBF_CANCEL_BUTTON ,
2260
2272
.pszWindowTitle = BUDDY_TITLE ,
2261
- .hMainIcon = Buddy -> Icon ,
2273
+ .hMainIcon = IconOk ? FileInfo . hIcon : Buddy -> Icon ,
2262
2274
.pszMainInstruction = FileName ,
2263
2275
.pszContent = L"Receiving file..." ,
2264
2276
.nDefaultButton = IDCANCEL ,
@@ -2271,6 +2283,11 @@ static void Buddy_NetworkEvent(ScreenBuddy* Buddy)
2271
2283
TaskDialogIndirect (& Config , NULL , NULL , NULL );
2272
2284
Buddy -> ProgressWindow = NULL ;
2273
2285
2286
+ if (IconOk )
2287
+ {
2288
+ DestroyIcon (FileInfo .hIcon );
2289
+ }
2290
+
2274
2291
if (Buddy -> FileHandle )
2275
2292
{
2276
2293
CloseHandle (Buddy -> FileHandle );
0 commit comments