From fa523c177800d7036197754b50a5b4e86346e718 Mon Sep 17 00:00:00 2001 From: Chinh Nguyen Date: Thu, 26 Oct 2017 08:19:49 +1100 Subject: Bug [#1979]. Fix Cocoa hang when Scintilla loaded from SMB share on macOS 10.13. --- cocoa/InfoBar.mm | 14 ++++++++++---- doc/ScintillaHistory.html | 22 +++++++++++++++++++++- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/cocoa/InfoBar.mm b/cocoa/InfoBar.mm index eb37124a8..9ac3c3a98 100644 --- a/cocoa/InfoBar.mm +++ b/cocoa/InfoBar.mm @@ -81,6 +81,10 @@ NSBundle *bundle = [NSBundle bundleForClass: [InfoBar class]]; NSString *path = [bundle pathForResource: @"info_bar_bg" ofType: @"tiff" inDirectory: nil]; + // macOS 10.13 introduced bug where pathForResource: fails on SMB share + if (path == nil) { + path = [bundle.bundlePath stringByAppendingPathComponent: @"Resources/info_bar_bg.tiff"]; + } mBackground = [[NSImage alloc] initWithContentsOfFile: path]; if (!mBackground.valid) NSLog(@"Background image for info bar is invalid."); @@ -221,10 +225,12 @@ static float BarFontSize = 10.0; - (void) drawRect: (NSRect) rect { // Since the background is seamless, we don't need to take care for the proper offset. // Simply tile the background over the invalid rectangle. - NSPoint target = {rect.origin.x, 0}; - while (target.x < rect.origin.x + rect.size.width) { - [mBackground drawAtPoint: target fromRect: NSZeroRect operation: NSCompositeCopy fraction: 1]; - target.x += mBackground.size.width; + if (mBackground.size.width != 0) { + NSPoint target = {rect.origin.x, 0}; + while (target.x < rect.origin.x + rect.size.width) { + [mBackground drawAtPoint: target fromRect: NSZeroRect operation: NSCompositeCopy fraction: 1]; + target.x += mBackground.size.width; + } } // Draw separator lines between items. diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 137c5abba..71d653a86 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -526,6 +526,18 @@ Icons Copyright(C) 1998 by Dean S. Jones
+

+ Release 4.0.2 +

+

Release 4.0.1

@@ -812,7 +824,15 @@
  • SciTE on Windows Find strip Find button works in incremental no-close mode. - Bug #1926. + < + + + + + + + +href="http://sourceforge.net/p/scintilla/bugs/1926/">Bug #1926.
  • -- cgit v1.2.3