diff options
author | Neil Hodgson <nyamatongwe@gmail.com> | 2015-06-19 10:11:44 +1000 |
---|---|---|
committer | Neil Hodgson <nyamatongwe@gmail.com> | 2015-06-19 10:11:44 +1000 |
commit | f85a86f72d0f51ba13ecb9445468dbf2a8a89edd (patch) | |
tree | 45c8b921a3458d4eef9961161ffcece4aba5c29d /cocoa | |
parent | 87c616aca17c4f5b0fdd373641f9ec95c4bbe04b (diff) | |
download | scintilla-mirror-f85a86f72d0f51ba13ecb9445468dbf2a8a89edd.tar.gz |
Fix crash in drag and drop.
Diffstat (limited to 'cocoa')
-rw-r--r-- | cocoa/PlatCocoa.mm | 14 | ||||
-rw-r--r-- | cocoa/ScintillaCocoa.mm | 2 |
2 files changed, 13 insertions, 3 deletions
diff --git a/cocoa/PlatCocoa.mm b/cocoa/PlatCocoa.mm index fd3e97619..8a0f942f4 100644 --- a/cocoa/PlatCocoa.mm +++ b/cocoa/PlatCocoa.mm @@ -270,9 +270,17 @@ void SurfaceImpl::InitPixMap(int width, int height, Surface* surface_, WindowID CGContextFillRect( gc, CGRectMake( 0, 0, width, height ) ); } - SurfaceImpl *psurfOther = static_cast<SurfaceImpl *>(surface_); - unicodeMode = psurfOther->unicodeMode; - codePage = psurfOther->codePage; + if (surface_) + { + SurfaceImpl *psurfOther = static_cast<SurfaceImpl *>(surface_); + unicodeMode = psurfOther->unicodeMode; + codePage = psurfOther->codePage; + } + else + { + unicodeMode = true; + codePage = SC_CP_UTF8; + } } //-------------------------------------------------------------------------------------------------- diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index e3d0369b6..2fce53ded 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -1426,6 +1426,8 @@ void ScintillaCocoa::StartDrag() paintState = notPainting; pixmap->InitPixMap(static_cast<int>(imageRect.Width()), static_cast<int>(imageRect.Height()), NULL, NULL); + pixmap->SetUnicodeMode(IsUnicodeMode()); + pixmap->SetDBCSMode(CodePage()); CGContextRef gc = pixmap->GetContext(); // To make Paint() work on a bitmap, we have to flip our coordinates and translate the origin |