diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llui/lllineeditor.cpp | 77 | ||||
-rw-r--r-- | linden/indra/llui/lltexteditor.cpp | 77 | ||||
-rw-r--r-- | linden/indra/newview/app_settings/viewerversion.xml | 2 | ||||
-rw-r--r-- | linden/indra/newview/lgghunspell_wrapper.cpp | 7 | ||||
-rw-r--r-- | linden/indra/newview/lltexturecache.cpp | 5 | ||||
-rw-r--r-- | linden/indra/newview/primbackup.cpp | 31 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml | 2 |
7 files changed, 76 insertions, 125 deletions
diff --git a/linden/indra/llui/lllineeditor.cpp b/linden/indra/llui/lllineeditor.cpp index b3da7fd..e73b287 100644 --- a/linden/indra/llui/lllineeditor.cpp +++ b/linden/indra/llui/lllineeditor.cpp | |||
@@ -231,38 +231,22 @@ LLLineEditor::LLLineEditor(const std::string& name, const LLRect& rect, | |||
231 | menu->appendSeparator("Transep"); | 231 | menu->appendSeparator("Transep"); |
232 | LLMenuGL* translatemenu = new LLMenuGL("Translate To"); | 232 | LLMenuGL* translatemenu = new LLMenuGL("Translate To"); |
233 | translatemenu->setCanTearOff(FALSE); | 233 | translatemenu->setCanTearOff(FALSE); |
234 | SpellMenuBind* t=new SpellMenuBind;t->origin=this;t->word="en"; | 234 | translatemenu->append(new LLMenuItemCallGL("en", "English", context_translate, context_enable_translate, this)); |
235 | translatemenu->append(new LLMenuItemCallGL("English", context_translate, context_enable_translate, t)); | 235 | translatemenu->append(new LLMenuItemCallGL("da", "Danish", context_translate, context_enable_translate, this)); |
236 | t=new SpellMenuBind;t->origin=this;t->word="da"; | 236 | translatemenu->append(new LLMenuItemCallGL("de", "Deutsch(German)", context_translate, context_enable_translate, this)); |
237 | translatemenu->append(new LLMenuItemCallGL("Danish", context_translate, context_enable_translate, t)); | 237 | translatemenu->append(new LLMenuItemCallGL("es", "Spanish", context_translate, context_enable_translate, this)); |
238 | t=new SpellMenuBind;t->origin=this;t->word="de"; | 238 | translatemenu->append(new LLMenuItemCallGL("fr", "French", context_translate, context_enable_translate, this)); |
239 | translatemenu->append(new LLMenuItemCallGL("Deutsch(German)", context_translate, context_enable_translate, t)); | 239 | translatemenu->append(new LLMenuItemCallGL("it", "Italian", context_translate, context_enable_translate, this)); |
240 | t=new SpellMenuBind;t->origin=this;t->word="es"; | 240 | translatemenu->append(new LLMenuItemCallGL("hu", "Hungarian", context_translate, context_enable_translate, this)); |
241 | translatemenu->append(new LLMenuItemCallGL("Spanish", context_translate, context_enable_translate, t)); | 241 | translatemenu->append(new LLMenuItemCallGL("nl", "Dutch", context_translate, context_enable_translate, this)); |
242 | t=new SpellMenuBind;t->origin=this;t->word="fr"; | 242 | translatemenu->append(new LLMenuItemCallGL("pl", "Polish", context_translate, context_enable_translate, this)); |
243 | translatemenu->append(new LLMenuItemCallGL("French", context_translate, context_enable_translate, t)); | 243 | translatemenu->append(new LLMenuItemCallGL("pt", "Portugese", context_translate, context_enable_translate, this)); |
244 | t=new SpellMenuBind;t->origin=this;t->word="it"; | 244 | translatemenu->append(new LLMenuItemCallGL("ru", "Russian", context_translate, context_enable_translate, this)); |
245 | translatemenu->append(new LLMenuItemCallGL("Italian", context_translate, context_enable_translate, t)); | 245 | translatemenu->append(new LLMenuItemCallGL("tr", "Turkish", context_translate, context_enable_translate, this)); |
246 | t=new SpellMenuBind;t->origin=this;t->word="hu"; | 246 | translatemenu->append(new LLMenuItemCallGL("uk", "Ukrainian", context_translate, context_enable_translate, this)); |
247 | translatemenu->append(new LLMenuItemCallGL("Hungarian", context_translate, context_enable_translate, t)); | 247 | translatemenu->append(new LLMenuItemCallGL("zh", "Chinese", context_translate, context_enable_translate, this)); |
248 | t=new SpellMenuBind;t->origin=this;t->word="nl"; | 248 | translatemenu->append(new LLMenuItemCallGL("ja", "Japanese", context_translate, context_enable_translate, this)); |
249 | translatemenu->append(new LLMenuItemCallGL("Dutch", context_translate, context_enable_translate, t)); | 249 | translatemenu->append(new LLMenuItemCallGL("ko", "Korean", context_translate, context_enable_translate, this)); |
250 | t=new SpellMenuBind;t->origin=this;t->word="pl"; | ||
251 | translatemenu->append(new LLMenuItemCallGL("Polish", context_translate, context_enable_translate, t)); | ||
252 | t=new SpellMenuBind;t->origin=this;t->word="pt"; | ||
253 | translatemenu->append(new LLMenuItemCallGL("Portugese", context_translate, context_enable_translate, t)); | ||
254 | t=new SpellMenuBind;t->origin=this;t->word="ru"; | ||
255 | translatemenu->append(new LLMenuItemCallGL("Russian", context_translate, context_enable_translate, t)); | ||
256 | t=new SpellMenuBind;t->origin=this;t->word="tr"; | ||
257 | translatemenu->append(new LLMenuItemCallGL("Turkish", context_translate, context_enable_translate, t)); | ||
258 | t=new SpellMenuBind;t->origin=this;t->word="uk"; | ||
259 | translatemenu->append(new LLMenuItemCallGL("Ukrainian", context_translate, context_enable_translate, t)); | ||
260 | t=new SpellMenuBind;t->origin=this;t->word="zh"; | ||
261 | translatemenu->append(new LLMenuItemCallGL("Chinese", context_translate, context_enable_translate, t)); | ||
262 | t=new SpellMenuBind;t->origin=this;t->word="ja"; | ||
263 | translatemenu->append(new LLMenuItemCallGL("Japanese", context_translate, context_enable_translate, t)); | ||
264 | t=new SpellMenuBind;t->origin=this;t->word="ko"; | ||
265 | translatemenu->append(new LLMenuItemCallGL("Korean", context_translate, context_enable_translate, t)); | ||
266 | 250 | ||
267 | menu->appendMenu(translatemenu); | 251 | menu->appendMenu(translatemenu); |
268 | menu->appendSeparator("Spelsep"); | 252 | menu->appendSeparator("Spelsep"); |
@@ -555,15 +539,20 @@ void LLLineEditor::spell_correct(void* data) | |||
555 | 539 | ||
556 | BOOL LLLineEditor::context_enable_translate(void* data) | 540 | BOOL LLLineEditor::context_enable_translate(void* data) |
557 | { | 541 | { |
558 | SpellMenuBind* t = (SpellMenuBind*)data; | 542 | LLLineEditor* line = (LLLineEditor*)data; |
559 | return (t && t->origin && t->origin->canTranslate()); | 543 | return line && line->canTranslate(); |
560 | } | 544 | } |
561 | 545 | ||
562 | void LLLineEditor::context_translate(void * data) | 546 | void LLLineEditor::context_translate(void * data) |
563 | { | 547 | { |
564 | SpellMenuBind* t = (SpellMenuBind*)data; | 548 | LLLineEditor* line = (LLLineEditor*)data; |
565 | LLLineEditor* line = t->origin; | 549 | LLMenuGL* menu = line ? (LLMenuGL*)(line->mPopupMenuHandle.get()) : NULL; |
566 | const std::string &toLang = t->word;//LLTranslate::getTranslateLanguage(); | 550 | LLMenuGL* translate_menu = menu ? menu->getChildMenuByName("Translate To", TRUE) : NULL; |
551 | if (!translate_menu) | ||
552 | { | ||
553 | return; | ||
554 | } | ||
555 | const std::string to_lang = translate_menu->getHighlightedItem()->getName(); | ||
567 | 556 | ||
568 | bool has_text = false; | 557 | bool has_text = false; |
569 | S32 start, length; | 558 | S32 start, length; |
@@ -584,8 +573,8 @@ void LLLineEditor::context_translate(void * data) | |||
584 | if (has_text) | 573 | if (has_text) |
585 | { | 574 | { |
586 | std::string to_translate = wstring_to_utf8str(line->getWText().substr(start, length)); | 575 | std::string to_translate = wstring_to_utf8str(line->getWText().substr(start, length)); |
587 | LLHTTPClient::ResponderPtr result = LineChatTranslationReceiver::build(toLang, line, start, length); | 576 | LLHTTPClient::ResponderPtr result = LineChatTranslationReceiver::build(to_lang, line, start, length); |
588 | LLTranslate::translateMessage(result,"", toLang, to_translate); | 577 | LLTranslate::translateMessage(result,"", to_lang, to_translate); |
589 | } | 578 | } |
590 | } | 579 | } |
591 | 580 | ||
@@ -790,7 +779,7 @@ BOOL LLLineEditor::handleRightMouseDown( S32 x, S32 y, MASK mask ) | |||
790 | 779 | ||
791 | //setCursorAtLocalPos( x); | 780 | //setCursorAtLocalPos( x); |
792 | S32 wordStart = 0; | 781 | S32 wordStart = 0; |
793 | S32 wordEnd = 0; | 782 | S32 wordLen = 0; |
794 | S32 pos = calculateCursorFromMouse(x); | 783 | S32 pos = calculateCursorFromMouse(x); |
795 | 784 | ||
796 | LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get(); | 785 | LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get(); |
@@ -819,11 +808,11 @@ BOOL LLLineEditor::handleRightMouseDown( S32 x, S32 y, MASK mask ) | |||
819 | if (!mReadOnly && mSpellCheckable) | 808 | if (!mReadOnly && mSpellCheckable) |
820 | { | 809 | { |
821 | // search for word matches | 810 | // search for word matches |
822 | bool is_word_part = getWordBoundriesAt(pos, &wordStart, &wordEnd); | 811 | bool is_word_part = getWordBoundriesAt(pos, &wordStart, &wordLen); |
823 | if (is_word_part) | 812 | if (is_word_part) |
824 | { | 813 | { |
825 | const LLWString& text = mText.getWString(); | 814 | const LLWString& text = mText.getWString(); |
826 | std::string selectedWord(std::string(text.begin(), text.end()).substr(wordStart,wordEnd-wordStart)); | 815 | std::string selectedWord(std::string(text.begin(), text.end()).substr(wordStart,wordLen)); |
827 | 816 | ||
828 | if (!glggHunSpell->isSpelledRight(selectedWord)) | 817 | if (!glggHunSpell->isSpelledRight(selectedWord)) |
829 | { | 818 | { |
@@ -835,7 +824,7 @@ BOOL LLLineEditor::handleRightMouseDown( S32 x, S32 y, MASK mask ) | |||
835 | SpellMenuBind * tempStruct = new SpellMenuBind; | 824 | SpellMenuBind * tempStruct = new SpellMenuBind; |
836 | tempStruct->origin = this; | 825 | tempStruct->origin = this; |
837 | tempStruct->word = suggs[i]; | 826 | tempStruct->word = suggs[i]; |
838 | tempStruct->wordPositionEnd = wordEnd; | 827 | tempStruct->wordPositionEnd = wordStart + wordLen; |
839 | tempStruct->wordPositionStart=wordStart; | 828 | tempStruct->wordPositionStart=wordStart; |
840 | LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( | 829 | LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( |
841 | tempStruct->word, spell_correct, NULL, tempStruct); | 830 | tempStruct->word, spell_correct, NULL, tempStruct); |
@@ -847,7 +836,7 @@ BOOL LLLineEditor::handleRightMouseDown( S32 x, S32 y, MASK mask ) | |||
847 | SpellMenuBind * tempStruct = new SpellMenuBind; | 836 | SpellMenuBind * tempStruct = new SpellMenuBind; |
848 | tempStruct->origin = this; | 837 | tempStruct->origin = this; |
849 | tempStruct->word = selectedWord; | 838 | tempStruct->word = selectedWord; |
850 | tempStruct->wordPositionEnd = wordEnd; | 839 | tempStruct->wordPositionEnd = wordStart + wordLen; |
851 | tempStruct->wordPositionStart=wordStart; | 840 | tempStruct->wordPositionStart=wordStart; |
852 | LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( | 841 | LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( |
853 | "Add Word", spell_add, NULL, tempStruct); | 842 | "Add Word", spell_add, NULL, tempStruct); |
diff --git a/linden/indra/llui/lltexteditor.cpp b/linden/indra/llui/lltexteditor.cpp index 8dcb014..fdf8bcf 100644 --- a/linden/indra/llui/lltexteditor.cpp +++ b/linden/indra/llui/lltexteditor.cpp | |||
@@ -398,38 +398,22 @@ LLTextEditor::LLTextEditor( | |||
398 | menu->appendSeparator("Transep"); | 398 | menu->appendSeparator("Transep"); |
399 | LLMenuGL* translatemenu = new LLMenuGL("Translate To"); | 399 | LLMenuGL* translatemenu = new LLMenuGL("Translate To"); |
400 | translatemenu->setCanTearOff(FALSE); | 400 | translatemenu->setCanTearOff(FALSE); |
401 | SpellMenuBind* t=new SpellMenuBind;t->origin=this;t->word="en"; | 401 | translatemenu->append(new LLMenuItemCallGL("en", "English", context_translate, context_enable_translate, this)); |
402 | translatemenu->append(new LLMenuItemCallGL("English", context_translate, context_enable_translate, t)); | 402 | translatemenu->append(new LLMenuItemCallGL("da", "Danish", context_translate, context_enable_translate, this)); |
403 | t=new SpellMenuBind;t->origin=this;t->word="da"; | 403 | translatemenu->append(new LLMenuItemCallGL("de", "Deutsch(German)", context_translate, context_enable_translate, this)); |
404 | translatemenu->append(new LLMenuItemCallGL("Danish", context_translate, context_enable_translate, t)); | 404 | translatemenu->append(new LLMenuItemCallGL("es", "Spanish", context_translate, context_enable_translate, this)); |
405 | t=new SpellMenuBind;t->origin=this;t->word="de"; | 405 | translatemenu->append(new LLMenuItemCallGL("fr", "French", context_translate, context_enable_translate, this)); |
406 | translatemenu->append(new LLMenuItemCallGL("Deutsch(German)", context_translate, context_enable_translate, t)); | 406 | translatemenu->append(new LLMenuItemCallGL("it", "Italian", context_translate, context_enable_translate, this)); |
407 | t=new SpellMenuBind;t->origin=this;t->word="es"; | 407 | translatemenu->append(new LLMenuItemCallGL("hu", "Hungarian", context_translate, context_enable_translate, this)); |
408 | translatemenu->append(new LLMenuItemCallGL("Spanish", context_translate, context_enable_translate, t)); | 408 | translatemenu->append(new LLMenuItemCallGL("nl", "Dutch", context_translate, context_enable_translate, this)); |
409 | t=new SpellMenuBind;t->origin=this;t->word="fr"; | 409 | translatemenu->append(new LLMenuItemCallGL("pl", "Polish", context_translate, context_enable_translate, this)); |
410 | translatemenu->append(new LLMenuItemCallGL("French", context_translate, context_enable_translate, t)); | 410 | translatemenu->append(new LLMenuItemCallGL("pt", "Portugese", context_translate, context_enable_translate, this)); |
411 | t=new SpellMenuBind;t->origin=this;t->word="it"; | 411 | translatemenu->append(new LLMenuItemCallGL("ru", "Russian", context_translate, context_enable_translate, this)); |
412 | translatemenu->append(new LLMenuItemCallGL("Italian", context_translate, context_enable_translate, t)); | 412 | translatemenu->append(new LLMenuItemCallGL("tr", "Turkish", context_translate, context_enable_translate, this)); |
413 | t=new SpellMenuBind;t->origin=this;t->word="hu"; | 413 | translatemenu->append(new LLMenuItemCallGL("uk", "Ukrainian", context_translate, context_enable_translate, this)); |
414 | translatemenu->append(new LLMenuItemCallGL("Hungarian", context_translate, context_enable_translate, t)); | 414 | translatemenu->append(new LLMenuItemCallGL("zh", "Chinese", context_translate, context_enable_translate, this)); |
415 | t=new SpellMenuBind;t->origin=this;t->word="nl"; | 415 | translatemenu->append(new LLMenuItemCallGL("ja", "Japanese", context_translate, context_enable_translate, this)); |
416 | translatemenu->append(new LLMenuItemCallGL("Dutch", context_translate, context_enable_translate, t)); | 416 | translatemenu->append(new LLMenuItemCallGL("ko", "Korean", context_translate, context_enable_translate, this)); |
417 | t=new SpellMenuBind;t->origin=this;t->word="pl"; | ||
418 | translatemenu->append(new LLMenuItemCallGL("Polish", context_translate, context_enable_translate, t)); | ||
419 | t=new SpellMenuBind;t->origin=this;t->word="pt"; | ||
420 | translatemenu->append(new LLMenuItemCallGL("Portugese", context_translate, context_enable_translate, t)); | ||
421 | t=new SpellMenuBind;t->origin=this;t->word="ru"; | ||
422 | translatemenu->append(new LLMenuItemCallGL("Russian", context_translate, context_enable_translate, t)); | ||
423 | t=new SpellMenuBind;t->origin=this;t->word="tr"; | ||
424 | translatemenu->append(new LLMenuItemCallGL("Turkish", context_translate, context_enable_translate, t)); | ||
425 | t=new SpellMenuBind;t->origin=this;t->word="uk"; | ||
426 | translatemenu->append(new LLMenuItemCallGL("Ukrainian", context_translate, context_enable_translate, t)); | ||
427 | t=new SpellMenuBind;t->origin=this;t->word="zh"; | ||
428 | translatemenu->append(new LLMenuItemCallGL("Chinese", context_translate, context_enable_translate, t)); | ||
429 | t=new SpellMenuBind;t->origin=this;t->word="ja"; | ||
430 | translatemenu->append(new LLMenuItemCallGL("Japanese", context_translate, context_enable_translate, t)); | ||
431 | t=new SpellMenuBind;t->origin=this;t->word="ko"; | ||
432 | translatemenu->append(new LLMenuItemCallGL("Korean", context_translate, context_enable_translate, t)); | ||
433 | 417 | ||
434 | menu->appendMenu(translatemenu); | 418 | menu->appendMenu(translatemenu); |
435 | menu->appendSeparator("Spelsep"); | 419 | menu->appendSeparator("Spelsep"); |
@@ -483,15 +467,20 @@ void LLTextEditor::context_copy(void* data) | |||
483 | 467 | ||
484 | BOOL LLTextEditor::context_enable_translate(void * data) | 468 | BOOL LLTextEditor::context_enable_translate(void * data) |
485 | { | 469 | { |
486 | SpellMenuBind* t = (SpellMenuBind*)data; | 470 | LLTextEditor* editor = (LLTextEditor*)data; |
487 | return (t && t->origin && t->origin->canTranslate()); | 471 | return editor && editor->canTranslate(); |
488 | } | 472 | } |
489 | 473 | ||
490 | void LLTextEditor::context_translate(void * data) | 474 | void LLTextEditor::context_translate(void * data) |
491 | { | 475 | { |
492 | SpellMenuBind* t = (SpellMenuBind*)data; | 476 | LLTextEditor* line = (LLTextEditor*)data; |
493 | LLTextEditor* line = t->origin; | 477 | LLMenuGL* menu = line ? (LLMenuGL*)(line->mPopupMenuHandle.get()) : NULL; |
494 | const std::string &toLang = t->word;//LLTranslate::getTranslateLanguage(); | 478 | LLMenuGL* translate_menu = menu ? menu->getChildMenuByName("Translate To", TRUE) : NULL; |
479 | if (!translate_menu) | ||
480 | { | ||
481 | return; | ||
482 | } | ||
483 | const std::string to_lang = translate_menu->getHighlightedItem()->getName(); | ||
495 | 484 | ||
496 | bool has_text = false; | 485 | bool has_text = false; |
497 | S32 start, length; | 486 | S32 start, length; |
@@ -512,8 +501,8 @@ void LLTextEditor::context_translate(void * data) | |||
512 | if (has_text) | 501 | if (has_text) |
513 | { | 502 | { |
514 | const std::string to_translate = wstring_to_utf8str(line->getWText().substr(start, length)); | 503 | const std::string to_translate = wstring_to_utf8str(line->getWText().substr(start, length)); |
515 | LLHTTPClient::ResponderPtr result = TextChatTranslationReceiver::build(toLang, line, start, length); | 504 | LLHTTPClient::ResponderPtr result = TextChatTranslationReceiver::build(to_lang, line, start, length); |
516 | LLTranslate::translateMessage(result,"", toLang, to_translate); | 505 | LLTranslate::translateMessage(result,"", to_lang, to_translate); |
517 | } | 506 | } |
518 | } | 507 | } |
519 | 508 | ||
@@ -1513,7 +1502,7 @@ BOOL LLTextEditor::handleRightMouseDown( S32 x, S32 y, MASK mask ) | |||
1513 | 1502 | ||
1514 | //setCursorAtLocalPos( x, y, TRUE ); | 1503 | //setCursorAtLocalPos( x, y, TRUE ); |
1515 | S32 wordStart = 0; | 1504 | S32 wordStart = 0; |
1516 | S32 wordEnd = 0; | 1505 | S32 wordLen = 0; |
1517 | S32 pos = getCursorPosFromLocalCoord(x,y,TRUE); | 1506 | S32 pos = getCursorPosFromLocalCoord(x,y,TRUE); |
1518 | 1507 | ||
1519 | LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get(); | 1508 | LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get(); |
@@ -1537,11 +1526,11 @@ BOOL LLTextEditor::handleRightMouseDown( S32 x, S32 y, MASK mask ) | |||
1537 | menu->setItemVisible("Spelsep", !mReadOnly && mSpellCheckable); | 1526 | menu->setItemVisible("Spelsep", !mReadOnly && mSpellCheckable); |
1538 | if (!mReadOnly && mSpellCheckable) | 1527 | if (!mReadOnly && mSpellCheckable) |
1539 | { | 1528 | { |
1540 | bool is_word_part = getWordBoundriesAt(pos, &wordStart, &wordEnd); | 1529 | bool is_word_part = getWordBoundriesAt(pos, &wordStart, &wordLen); |
1541 | if (is_word_part) | 1530 | if (is_word_part) |
1542 | { | 1531 | { |
1543 | const LLWString &text = mWText; | 1532 | const LLWString &text = mWText; |
1544 | std::string selectedWord(std::string(text.begin(), text.end()).substr(wordStart,wordEnd-wordStart)); | 1533 | std::string selectedWord(std::string(text.begin(), text.end()).substr(wordStart,wordLen)); |
1545 | 1534 | ||
1546 | if (!glggHunSpell->isSpelledRight(selectedWord)) | 1535 | if (!glggHunSpell->isSpelledRight(selectedWord)) |
1547 | { | 1536 | { |
@@ -1553,7 +1542,7 @@ BOOL LLTextEditor::handleRightMouseDown( S32 x, S32 y, MASK mask ) | |||
1553 | SpellMenuBind * tempStruct = new SpellMenuBind; | 1542 | SpellMenuBind * tempStruct = new SpellMenuBind; |
1554 | tempStruct->origin = this; | 1543 | tempStruct->origin = this; |
1555 | tempStruct->word = suggs[i]; | 1544 | tempStruct->word = suggs[i]; |
1556 | tempStruct->wordPositionEnd = wordEnd; | 1545 | tempStruct->wordPositionEnd = wordStart + wordLen; |
1557 | tempStruct->wordPositionStart=wordStart; | 1546 | tempStruct->wordPositionStart=wordStart; |
1558 | tempStruct->wordY=y; | 1547 | tempStruct->wordY=y; |
1559 | LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( | 1548 | LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( |
@@ -1565,7 +1554,7 @@ BOOL LLTextEditor::handleRightMouseDown( S32 x, S32 y, MASK mask ) | |||
1565 | SpellMenuBind * tempStruct = new SpellMenuBind; | 1554 | SpellMenuBind * tempStruct = new SpellMenuBind; |
1566 | tempStruct->origin = this; | 1555 | tempStruct->origin = this; |
1567 | tempStruct->word = selectedWord; | 1556 | tempStruct->word = selectedWord; |
1568 | tempStruct->wordPositionEnd = wordEnd; | 1557 | tempStruct->wordPositionEnd = wordStart + wordLen; |
1569 | tempStruct->wordPositionStart=wordStart; | 1558 | tempStruct->wordPositionStart=wordStart; |
1570 | tempStruct->wordY=y; | 1559 | tempStruct->wordY=y; |
1571 | LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( | 1560 | LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( |
diff --git a/linden/indra/newview/app_settings/viewerversion.xml b/linden/indra/newview/app_settings/viewerversion.xml index e482bf7..555b244 100644 --- a/linden/indra/newview/app_settings/viewerversion.xml +++ b/linden/indra/newview/app_settings/viewerversion.xml | |||
@@ -20,6 +20,6 @@ need to be changed manually - MC | |||
20 | <viewer version_patch="0" /> | 20 | <viewer version_patch="0" /> |
21 | 21 | ||
22 | <!--string--> | 22 | <!--string--> |
23 | <viewer version_test="Experimental 2010.10.02" /> | 23 | <viewer version_test="Experimental 2010.10.06-hotfix" /> |
24 | 24 | ||
25 | </viewer_version> | 25 | </viewer_version> |
diff --git a/linden/indra/newview/lgghunspell_wrapper.cpp b/linden/indra/newview/lgghunspell_wrapper.cpp index aa4507c..9548c4f 100644 --- a/linden/indra/newview/lgghunspell_wrapper.cpp +++ b/linden/indra/newview/lgghunspell_wrapper.cpp | |||
@@ -472,7 +472,7 @@ static char * languageCodesraw[]={ | |||
472 | lggHunSpell_Wrapper::lggHunSpell_Wrapper() | 472 | lggHunSpell_Wrapper::lggHunSpell_Wrapper() |
473 | { | 473 | { |
474 | //languageCodes(begin(languageCodesraw), end(languageCodesraw)); | 474 | //languageCodes(begin(languageCodesraw), end(languageCodesraw)); |
475 | mSpellCheckHighlight = rebind_llcontrol<BOOL>("EmeraldSpellDisplay", &gSavedSettings, false); | 475 | mSpellCheckHighlight = rebind_llcontrol<BOOL>("EmeraldSpellDisplay", &gSavedSettings, true); |
476 | } | 476 | } |
477 | 477 | ||
478 | lggHunSpell_Wrapper::~lggHunSpell_Wrapper() | 478 | lggHunSpell_Wrapper::~lggHunSpell_Wrapper() |
@@ -963,8 +963,5 @@ void lggHunSpell_Wrapper::editCustomButton() | |||
963 | 963 | ||
964 | void lggHunSpell_Wrapper::setSpellCheckHighlight(BOOL highlight) | 964 | void lggHunSpell_Wrapper::setSpellCheckHighlight(BOOL highlight) |
965 | { | 965 | { |
966 | if (mSpellCheckHighlight) | 966 | gSavedSettings.setBOOL("EmeraldSpellDisplay", highlight); |
967 | { | ||
968 | *mSpellCheckHighlight = highlight; | ||
969 | } | ||
970 | } | 967 | } |
diff --git a/linden/indra/newview/lltexturecache.cpp b/linden/indra/newview/lltexturecache.cpp index 46c125f..0c35b32 100644 --- a/linden/indra/newview/lltexturecache.cpp +++ b/linden/indra/newview/lltexturecache.cpp | |||
@@ -372,9 +372,10 @@ bool LLTextureCacheRemoteWorker::doRead() | |||
372 | if (!done && (mState == LOCAL)) | 372 | if (!done && (mState == LOCAL)) |
373 | { | 373 | { |
374 | llassert(local_size != 0); // we're assuming there is a non empty local file here... | 374 | llassert(local_size != 0); // we're assuming there is a non empty local file here... |
375 | if (!mDataSize || mDataSize > local_size) | 375 | llassert(mReadData == NULL); |
376 | if (!mDataSize || mDataSize > (local_size - mOffset)) | ||
376 | { | 377 | { |
377 | mDataSize = local_size; | 378 | mDataSize = local_size - mOffset; |
378 | } | 379 | } |
379 | // Allocate read buffer | 380 | // Allocate read buffer |
380 | mReadData = new U8[mDataSize]; | 381 | mReadData = new U8[mDataSize]; |
diff --git a/linden/indra/newview/primbackup.cpp b/linden/indra/newview/primbackup.cpp index adbc4de..63043f0 100644 --- a/linden/indra/newview/primbackup.cpp +++ b/linden/indra/newview/primbackup.cpp | |||
@@ -350,34 +350,6 @@ void primbackup::pre_export_object() | |||
350 | bool primbackup::check_perms( LLSelectNode* node ) | 350 | bool primbackup::check_perms( LLSelectNode* node ) |
351 | { | 351 | { |
352 | LLPermissions *perms = node->mPermissions; | 352 | LLPermissions *perms = node->mPermissions; |
353 | // We check to see if there are megaprims in SL we can export. | ||
354 | // Cludgy, but the only option considering LL's TPV policy. | ||
355 | if (gHippoGridManager->getConnectedGrid()->isSecondLife()) | ||
356 | { | ||
357 | bool is_sl_megaprim = false; | ||
358 | for (int i = 0; i < 3; ++i) | ||
359 | { | ||
360 | if (node->getObject()->getScale().mV[i] > 10) | ||
361 | { | ||
362 | is_sl_megaprim = true; | ||
363 | break; | ||
364 | } | ||
365 | } | ||
366 | |||
367 | if (is_sl_megaprim) | ||
368 | { | ||
369 | // The following avatars in Second Life have given Imprudence permission for their full-perm | ||
370 | // megaprims to be exported even if that means changing the creator from themselves: | ||
371 | // McCabe_Maxsted ("3fc0478f-1c40-48a1-b8a7-3b7062efeda1"); | ||
372 | // Gene_Replacement ("adfacb56-390b-4fdc-9216-3494f1c59862"); | ||
373 | return ((perms->getCreator() == LLUUID("3fc0478f-1c40-48a1-b8a7-3b7062efeda1") || | ||
374 | perms->getCreator() == LLUUID("adfacb56-390b-4fdc-9216-3494f1c59862") || | ||
375 | perms->getCreator() == gAgent.getID()) && | ||
376 | perms->getOwner() == gAgent.getID() && | ||
377 | (PERM_ITEM_UNRESTRICTED & perms->getMaskOwner()) == PERM_ITEM_UNRESTRICTED); | ||
378 | } | ||
379 | } | ||
380 | |||
381 | return (gAgent.getID() == perms->getOwner() && | 353 | return (gAgent.getID() == perms->getOwner() && |
382 | gAgent.getID() == perms->getCreator() && | 354 | gAgent.getID() == perms->getCreator() && |
383 | (PERM_ITEM_UNRESTRICTED & | 355 | (PERM_ITEM_UNRESTRICTED & |
@@ -1139,4 +1111,7 @@ void primbackup::upload_next_asset() | |||
1139 | "Uploaded texture", | 1111 | "Uploaded texture", |
1140 | NULL, | 1112 | NULL, |
1141 | NULL); | 1113 | NULL); |
1114 | |||
1115 | |||
1142 | } | 1116 | } |
1117 | |||
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml index a0c9e28..c3ee726 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml | |||
@@ -139,7 +139,7 @@ | |||
139 | name="EmeraldHelp_SpellCheck" tool_tip="Click here for help regarding the settings in this page." | 139 | name="EmeraldHelp_SpellCheck" tool_tip="Click here for help regarding the settings in this page." |
140 | right="490" width="18"/> | 140 | right="490" width="18"/> |
141 | <check_box bottom="-25" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | 141 | <check_box bottom="-25" enabled="true" follows="left|top" font="SansSerifSmall" height="16" |
142 | label="Show misspelled words in red (requires restart)" left="12" mouse_opaque="true" name="EmeraldSpellDisplay" | 142 | label="Show misspelled words in red" left="12" mouse_opaque="true" name="EmeraldSpellDisplay" |
143 | control_name="EmeraldSpellDisplay" width="126"/> | 143 | control_name="EmeraldSpellDisplay" width="126"/> |
144 | <text bottom_delta="-30" follows="left|top" font="SansSerifSmall" height="16" left="12" | 144 | <text bottom_delta="-30" follows="left|top" font="SansSerifSmall" height="16" left="12" |
145 | name="EmSpell_txt1" width="512"> | 145 | name="EmSpell_txt1" width="512"> |