Hi, so - your patch indeed fixes it for Windows (where the native common controls dialog is used for Win 10). But - there's more logic behind it I think.
For Linux (and Probably other platforms, too), independent of the widget set, in LCLTaskDialog.pas there's TCommonButton = ( cbOK, cbYes, cbNo, cbCancel, cbRetry, cbClose); and const TD_BTNMOD: array[TCommonButton] of Integer = ( mrOk, mrYes, mrNo, mrCancel, mrRetry, mrAbort); TD_BTNMOD is used exactly once again, where it serves to pass the ModalResult to the Button. So the "Close" button really gets assigned with "mrAbort" in Linux, where in Windows, the difference in idClose and mrClose is the culprit? Also, LCLTaskDialog seems to execute the native Windows Dialog independently of the selected Widgetset; though I don't think Qt or GTK is widely used on Windows anyway? I won't dig further on the latter, but should I file a bug about the Close/Abort thing? All the best, Alex
signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ lazarus mailing list [email protected] https://lists.lazarus-ide.org/listinfo/lazarus
