diff options
| -rw-r--r-- | cocoa/ScintillaCocoa.mm | 22 | 
1 files changed, 20 insertions, 2 deletions
| diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index 7fc0a8c89..e4237fb1b 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -800,6 +800,20 @@ sptr_t scintilla_send_message(void *sci, unsigned int iMessage, uptr_t wParam, s  //-------------------------------------------------------------------------------------------------- +namespace { + +/** + * The animated find indicator fails with a "bogus layer size" message on macOS 10.13. + */ + +bool SupportAnimatedFind() { +	return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_12_2; +} + +} + +//-------------------------------------------------------------------------------------------------- +  /**   * That's our fake window procedure. On Windows each window has a dedicated procedure to handle   * commands (also used to synchronize UI and background threads), which is not the case in Cocoa. @@ -838,11 +852,15 @@ sptr_t ScintillaCocoa::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPar  			break;  		case SCI_FINDINDICATORSHOW: -			ShowFindIndicatorForRange(NSMakeRange(wParam, lParam-wParam), YES); +			if (SupportAnimatedFind()) { +				ShowFindIndicatorForRange(NSMakeRange(wParam, lParam-wParam), YES); +			}  			return 0;  		case SCI_FINDINDICATORFLASH: -			ShowFindIndicatorForRange(NSMakeRange(wParam, lParam-wParam), NO); +			if (SupportAnimatedFind()) { +				ShowFindIndicatorForRange(NSMakeRange(wParam, lParam-wParam), NO); +			}  			return 0;  		case SCI_FINDINDICATORHIDE: | 
