diff --git a/indra/llwindow/llwindowmacosx-objc.mm b/indra/llwindow/llwindowmacosx-objc.mm index 729f359c06..06b9c0ae0b 100755 --- a/indra/llwindow/llwindowmacosx-objc.mm +++ b/indra/llwindow/llwindowmacosx-objc.mm @@ -91,10 +91,11 @@ const unsigned short *copyFromPBoard() NSArray *objToPaste = [pboard readObjectsForClasses:classArray options:[NSDictionary dictionary]]; str = [objToPaste objectAtIndex:0]; } - unichar* temp = (unichar*)calloc([str length], sizeof(unichar)); - [str getCharacters:temp]; + NSUInteger len = [str length]; + unichar* buffer = (unichar*)calloc(len, sizeof(unichar)); + [str getCharacters:buffer range:NSMakeRange(0, len)]; [pool release]; - return temp; + return buffer; } CursorRef createImageCursor(const char *fullpath, int hotspotX, int hotspotY) diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index 79e4f706fd..2de5ed7c88 100755 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -1153,8 +1153,8 @@ BOOL LLWindowMacOSX::isClipboardTextAvailable() BOOL LLWindowMacOSX::pasteTextFromClipboard(LLWString &dst) { - llutf16string str(copyFromPBoard()); - dst = utf16str_to_wstring(str); + //llutf16string str(copyFromPBoard()); + dst = utf16str_to_wstring(copyFromPBoard()); LLWStringUtil::removeCRLF(dst); // if (dst != L"") {