diff options
Diffstat (limited to 'cocoa/ScintillaCocoa.mm')
| -rw-r--r-- | cocoa/ScintillaCocoa.mm | 16 | 
1 files changed, 7 insertions, 9 deletions
| diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index f018aa351..01310e9aa 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -1476,19 +1476,18 @@ bool ScintillaCocoa::GetPasteboardData(NSPasteboard* board, SelectionText* selec        CFStringGetBytes((CFStringRef)data, rangeAll, encoding, '?',                         false, NULL, 0, &usedLen); -      UInt8 *buffer = new UInt8[usedLen]; +      std::vector<UInt8> buffer(usedLen);        CFStringGetBytes((CFStringRef)data, rangeAll, encoding, '?', -                       false, buffer,usedLen, NULL); +                       false, buffer.data(),usedLen, NULL);        bool rectangular = bestType == ScintillaRecPboardType;        int len = static_cast<int>(usedLen); -      char *dest = Document::TransformLineEnds(&len, (char *)buffer, len, pdoc->eolMode); +      std::string dest = Document::TransformLineEnds((char *)buffer.data(), len, pdoc->eolMode); -      selectedText->Set(dest, len+1, pdoc->dbcsCodePage,  +      selectedText->Copy(dest.c_str(), dest.length()+1, pdoc->dbcsCodePage,                           vs.styles[STYLE_DEFAULT].characterSet , rectangular, false); -      delete []buffer;      }      return true;    } @@ -1912,13 +1911,12 @@ int ScintillaCocoa::InsertText(NSString* input)    CFStringGetBytes((CFStringRef)input, rangeAll, encoding, '?',                     false, NULL, 0, &usedLen); -  UInt8 *buffer = new UInt8[usedLen]; +  std::vector<UInt8> buffer(usedLen);    CFStringGetBytes((CFStringRef)input, rangeAll, encoding, '?', -                     false, buffer,usedLen, NULL); +                     false, buffer.data(),usedLen, NULL); -  AddCharUTF((char*) buffer, static_cast<unsigned int>(usedLen), false); -  delete []buffer; +  AddCharUTF((char*) buffer.data(), static_cast<unsigned int>(usedLen), false);    return static_cast<int>(usedLen);  } | 
