diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/linux_tools/client-readme-voice.txt | 91 | ||||
-rw-r--r-- | indra/newview/linux_tools/client-readme.txt | 21 | ||||
-rwxr-xr-x | indra/newview/linux_tools/wrapper.sh | 2 | ||||
-rw-r--r-- | indra/newview/llchatbar.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llcompilequeue.cpp | 12 | ||||
-rw-r--r-- | indra/newview/llfloateravatarpicker.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llfloaterland.cpp | 99 | ||||
-rw-r--r-- | indra/newview/llfloaterland.h | 11 | ||||
-rw-r--r-- | indra/newview/llfloaterlandholdings.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llfloaterreporter.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llfloatersnapshot.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llfloatertelehub.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llfloaterworldmap.cpp | 8 | ||||
-rw-r--r-- | indra/newview/llnamelistctrl.cpp | 22 | ||||
-rw-r--r-- | indra/newview/llpanelavatar.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llpanelgrouplandmoney.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llpanelgroupnotices.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llpanelgrouproles.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llpreviewscript.cpp | 12 | ||||
-rwxr-xr-x | indra/newview/viewer_manifest.py | 11 |
20 files changed, 171 insertions, 144 deletions
diff --git a/indra/newview/linux_tools/client-readme-voice.txt b/indra/newview/linux_tools/client-readme-voice.txt new file mode 100644 index 0000000000..ff1d4b23b9 --- /dev/null +++ b/indra/newview/linux_tools/client-readme-voice.txt @@ -0,0 +1,91 @@ +Second Life - Linux Voice Support README +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +WHAT IS IT? +-=-=-=-=-=- + +Linux Voice Support is a new feature in testing which allows users +of the Linux Second Life client to participate in voice-chat with other +residents and groups inside Second Life, with an appropriate +headset/microphone. + +Linux Voice Support is currently EXPERIMENTAL and is known to still +have some compatibility issues. + +REQUIREMENTS +-=-=-=-=-=-= + +* A headset/microphone supported by your chosen version of Linux +* The ALSA sound system (you probably already have this - + i.e. the alsa-base and alsa-utils packages on Ubuntu) + +Success with Linux Voice support has been reported on the following +systems: +* Ubuntu 7.04 (Feisty) with Intel HDA audio chipset +* Ubuntu 6.06 (Dapper) with Intel ICH5/CMI9761A+ audio chipset +* Ubuntu 6.06 (Dapper) with SigmaTel STAC2997 audio chipset +* Fedora Core 6 with (unknown) audio chipset + +Problems with Linux Voice support have been reported on the following +systems: +* Ubuntu 6.06 (Dapper) with Creative EMU10K1 audio chipset + +KNOWN PROBLEMS +-=-=-=-=-=-=-= + +* The 'Input Level' meter in the Voice Chat Device Settings dialog + does not respond to audio input. + +* The Input/Output options in the Voice Chat Device Settings dialog + do not list all of the available audio devices, so only the 'default' + device may be selected. + +TROUBLESHOOTING +-=-=-=-=-=-=-=- + +PROBLEM 1: I don't see a white dot over the head of my avatar or other + Voice-using avatars. +SOLUTION: +a. Ensure that 'Enable voice chat' is enabled in the Voice Chat + preferences window and that you are in a voice-enabled area (you + will see a blue headphone icon in the SL menu-bar). +b. If the above does not help, exit Second Life and ensure that any + remaining 'SLVoice' processes (as reported by 'ps', 'top' or similar) + are killed. + +PROBLEM 2: I have a white dot over my head but I never see (or hear!) anyone + except myself listed in the Active Speakers dialog when I'm sure that other + residents nearby are active Voice users. +SOLUTION: This is an incompatibility between the Voice support and your + system's audio (ALSA) driver version/configuration. +a. Back-up and remove your ~/.asoundrc file, re-test. +b. Check for updates to your kernel, kernel modules and ALSA-related + packages using your Linux distribution's package-manager - install these, + reboot and re-test. +c. Update to the latest version of ALSA manually. For a guide, see the + 'Update to the Latest Version of ALSA' section of this page: + <https://help.ubuntu.com/community/HdaIntelSoundHowto> or the official + documentation on the ALSA site: <http://www.alsa-project.org/> - reboot + and re-test. + +PROBLEM 3: I can hear other people, but they cannot hear me. +SOLUTION: +a. Ensure that you have the 'Talk' button activated while you are trying to + speak. +b. Ensure that your microphone jack is inserted into the correct socket of your + sound card, where appropriate. +c. Use your system mixer-setting program or the 'alsamixer' program to ensure + that microphone input is set as the active input source and is not muted. +d. Verify that audio input works in other applications, i.e. Audacity + +PROBLEM 4: Other people just hear bursts of loud noise when I speak. +SOLUTION: +a. Use your system mixer-setting program or the 'alsamixer' program to ensure + that microphone Gain/Boost is not set too high. + +FURTHER PROBLEMS? +-=-=-=-=-=-=-=-=- + +Please report further issues to the public Second Life issue-tracker +at <http://jira.secondlife.com/> (please note, however, that this is not +a support forum). diff --git a/indra/newview/linux_tools/client-readme.txt b/indra/newview/linux_tools/client-readme.txt index 832dff4209..89454e2ade 100644 --- a/indra/newview/linux_tools/client-readme.txt +++ b/indra/newview/linux_tools/client-readme.txt @@ -100,8 +100,6 @@ you wish. These are the most commonly-encountered known issues which are specific to the Alpha release of the Linux client. -* VOICE COMMUNICATION - this is not yet available in the Linux client. - * VISUAL EFFECTS AND PERFORMANCE - many Linux graphics drivers are not as robust as their counterparts for other operating systems, so some advanced Second Life graphical features have been DISABLED by default to aid @@ -112,7 +110,6 @@ the Alpha release of the Linux client. Linux client and are therefore known not to work properly: * Movie recording * Full Unicode font rendering - * Auto-updater * UPLOAD / SAVE / COLOR-PICKER DIALOGS - These only appear when the client is in 'windowed' mode, not 'fullscreen' mode. @@ -130,6 +127,9 @@ The client prints a lot of diagnostic information to the console it was run from. Most of this is also replicated in ~/.secondlife/logs/SecondLife.log - this is helpful to read when troubleshooting, especially 'WARNING' lines. +VOICE PROBLEMS? See the separate README-linux-voice.txt file for Voice +troubleshooting information. + PROBLEM 1:- Second Life fails to start up, with a warning on the console like: 'Error creating window.' or 'Unable to create window, be sure screen is set at 32-bit color' or @@ -249,11 +249,14 @@ the 'Search' button at the bottom of the window and then selecting the 'Groups' tab and searching for 'Linux'. This group is useful for discussing Linux issues with fellow Linux client users who are online. +The Second Life Issue Tracker: +<http://jira.secondlife.com/> +This is the right place for finding known issues and reporting new +bugs in all Second Life releases if you find that the Troubleshooting +section in this file hasn't helped (please note, however, that this is +not a support forum). + Linux Client Alpha Testers forum: <http://forums.secondlife.com/forumdisplay.php?forumid=263> -This is a good place for discussing Linux-specific Second Life problems -if you find that the Troubleshooting section in this file hasn't helped. -When reporting problems here, please include information about the -Second Life version you are running, your graphics card, graphics driver, -and Linux distribution. - +This is a forum where Linux Client users can help each other out and +discuss the latest updates. diff --git a/indra/newview/linux_tools/wrapper.sh b/indra/newview/linux_tools/wrapper.sh index 35efbc13b8..4ed06099fc 100755 --- a/indra/newview/linux_tools/wrapper.sh +++ b/indra/newview/linux_tools/wrapper.sh @@ -117,7 +117,5 @@ echo echo '*********************************************************' echo 'This is an ALPHA release of the Second Life linux client.' echo 'Thank you for testing!' -echo 'You can visit the Linux Client Alpha Testers forum at:' -echo 'http://forums.secondlife.com/forumdisplay.php?forumid=263' echo 'Please see README-linux.txt before reporting problems.' echo diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp index 78365e66f1..1798aea122 100644 --- a/indra/newview/llchatbar.cpp +++ b/indra/newview/llchatbar.cpp @@ -639,7 +639,7 @@ void LLChatBar::onCommitGesture(LLUICtrl* ctrl, void* data) { return; } - const std::string& trigger = gestures->getSimpleSelectedValue().asString(); + const std::string& trigger = gestures->getSelectedValue().asString(); // pretend the user chatted the trigger string, to invoke // substitution and logging. diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp index cebd51d4da..1a4d3c16fd 100644 --- a/indra/newview/llcompilequeue.cpp +++ b/indra/newview/llcompilequeue.cpp @@ -203,7 +203,7 @@ BOOL LLFloaterScriptQueue::start() snprintf(buffer, sizeof(buffer), "Starting %s of %d items.", mStartString, mObjectIDs.count()); /* Flawfinder: ignore */ LLScrollListCtrl* list = LLUICtrlFactory::getScrollListByName(this, "queue output"); - list->addSimpleItem(buffer); + list->addCommentText(buffer); return nextObject(); } @@ -241,7 +241,7 @@ BOOL LLFloaterScriptQueue::nextObject() mDone = TRUE; char buffer[MAX_STRING]; /*Flawfinder: ignore*/ snprintf(buffer, sizeof(buffer), "Done."); /* Flawfinder: ignore */ - list->addSimpleItem(buffer); + list->addCommentText(buffer); childSetEnabled("close",TRUE); } return successful_start; @@ -444,7 +444,7 @@ void LLFloaterCompileQueue::scriptArrived(LLVFS *vfs, const LLUUID& asset_id, if(queue) { LLScrollListCtrl* list = LLUICtrlFactory::getScrollListByName(queue, "queue output"); - list->addSimpleItem(buffer); + list->addCommentText(buffer); } delete data; } @@ -625,7 +625,7 @@ void LLFloaterResetQueue::handleInventory(LLViewerObject* viewer_obj, LLScrollListCtrl* list = LLUICtrlFactory::getScrollListByName(this, "queue output"); char buffer[MAX_STRING]; /*Flawfinder: ignore*/ snprintf(buffer, sizeof(buffer), "Resetting '%s'.", item->getName().c_str()); /* Flawfinder: ignore */ - list->addSimpleItem(buffer); + list->addCommentText(buffer); LLMessageSystem* msg = gMessageSystem; msg->newMessageFast(_PREHASH_ScriptReset); msg->nextBlockFast(_PREHASH_AgentData); @@ -688,7 +688,7 @@ void LLFloaterRunQueue::handleInventory(LLViewerObject* viewer_obj, LLScrollListCtrl* list = LLUICtrlFactory::getScrollListByName(this, "queue output"); char buffer[MAX_STRING]; /*Flawfinder: ignore*/ snprintf(buffer, sizeof(buffer), "Running '%s'.", item->getName().c_str()); /* Flawfinder: ignore */ - list->addSimpleItem(buffer); + list->addCommentText(buffer); LLMessageSystem* msg = gMessageSystem; msg->newMessageFast(_PREHASH_SetScriptRunning); @@ -753,7 +753,7 @@ void LLFloaterNotRunQueue::handleInventory(LLViewerObject* viewer_obj, LLScrollListCtrl* list = LLUICtrlFactory::getScrollListByName(this, "queue output"); char buffer[MAX_STRING]; /*Flawfinder: ignore*/ snprintf(buffer, sizeof(buffer), "Not running '%s'.", item->getName().c_str()); /* Flawfinder: ignore */ - list->addSimpleItem(buffer); + list->addCommentText(buffer); LLMessageSystem* msg = gMessageSystem; msg->newMessageFast(_PREHASH_SetScriptRunning); diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp index 8dcd38c0bb..2cfcc47af3 100644 --- a/indra/newview/llfloateravatarpicker.cpp +++ b/indra/newview/llfloateravatarpicker.cpp @@ -112,7 +112,7 @@ BOOL LLFloaterAvatarPicker::postBuild() if (mListNames) { - mListNames->addSimpleElement("No results"); + mListNames->addCommentText("No results"); } mInventoryPanel = (LLInventoryPanel*)this->getCtrlByNameAndType("Inventory Panel", WIDGET_TYPE_INVENTORY_PANEL); @@ -279,7 +279,7 @@ void LLFloaterAvatarPicker::find() if (mListNames) { mListNames->deleteAllItems(); - mListNames->addSimpleElement("Searching..."); + mListNames->addCommentText("Searching..."); } childSetEnabled("Select", FALSE); diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 2167e1f2ca..6dd55c169b 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -1069,44 +1069,8 @@ BOOL LLPanelLandObjects::postBuild() image_id.set( gViewerArt.getString("icon_group.tga") ); mIconGroup = gImageList.getImage(image_id, MIPMAP_FALSE, TRUE); - mCurrentSortColumn = 3; // sort by number of objects by default. - mCurrentSortAscending = FALSE; - - // Column widths for various columns - const S32 SORTER_WIDTH = 308; - const S32 DESC_BTN_WIDTH = 64; - const S32 ICON_WIDTH = 24; - mColWidth[0] = ICON_WIDTH; // type icon - mColWidth[1] = -1; // hidden type code - mColWidth[2] = SORTER_WIDTH - mColWidth[0] - DESC_BTN_WIDTH; - mColWidth[3] = DESC_BTN_WIDTH; // info - mColWidth[4] = -1; // type data 1 - mColWidth[5] = -1; - mColWidth[6] = -1; // type data 3 - mColWidth[7] = -1; // type data 4 - mColWidth[8] = -1; // type data 5 - - // Adjust description for other widths - S32 sum = 0; - for (S32 i = 0; i < 8; i++) - { - if (mColWidth[i] > 0) - { - sum += mColWidth[i]; - } - } - mColWidth[8] = mRect.getWidth() - HPAD - sum - HPAD - HPAD; - - mBtnType = LLUICtrlFactory::getButtonByName(this, "Type"); - mBtnType->setClickedCallback(onClickType, this); - - mBtnName = LLUICtrlFactory::getButtonByName(this, "Name"); - mBtnName->setClickedCallback(onClickName, this); - - mBtnDescription = LLUICtrlFactory::getButtonByName(this, "Count"); - mBtnDescription->setClickedCallback(onClickDesc, this); - mOwnerList = LLUICtrlFactory::getNameListByName(this, "owner list"); + mOwnerList->sortByColumn(3, FALSE); childSetCommitCallback("owner list", onCommitList, this); mOwnerList->setDoubleClickCallback(onDoubleClickOwner); @@ -1483,7 +1447,7 @@ void LLPanelLandObjects::onClickRefresh(void* userdata) // ready the list for results self->mOwnerList->deleteAllItems(); - self->mOwnerList->addSimpleItem("Searching..."); + self->mOwnerList->addCommentText("Searching..."); self->mOwnerList->setEnabled(FALSE); self->mFirstReply = TRUE; @@ -1544,24 +1508,24 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo LLScrollListItem *row = new LLScrollListItem( TRUE, NULL, owner_id); if (is_group_owned) { - row->addColumn(self->mIconGroup, self->mColWidth[0]); - row->addColumn(OWNER_GROUP, FONT, self->mColWidth[1]); + row->addColumn(self->mIconGroup.notNull() ? self->mIconGroup->getID() : LLUUID::null); + row->addColumn(OWNER_GROUP, FONT); } else if (is_online) { - row->addColumn(self->mIconAvatarOnline, self->mColWidth[0]); - row->addColumn(OWNER_ONLINE, FONT, self->mColWidth[1]); + row->addColumn(self->mIconAvatarOnline.notNull() ? self->mIconAvatarOnline->getID() : LLUUID::null); + row->addColumn(OWNER_ONLINE, FONT); } else // offline { - row->addColumn(self->mIconAvatarOffline, self->mColWidth[0]); - row->addColumn(OWNER_OFFLINE, FONT, self->mColWidth[1]); + row->addColumn(self->mIconAvatarOffline.notNull() ? self->mIconAvatarOffline->getID() : LLUUID::null); + row->addColumn(OWNER_OFFLINE, FONT); } // Placeholder for name. - row->addColumn(LLString::null, FONT, self->mColWidth[2]); + row->addColumn(LLString::null, FONT); snprintf(object_count_str, sizeof(object_count_str), "%d", object_count); /* Flawfinder: ignore */ - row->addColumn(object_count_str, FONT, self->mColWidth[3]); + row->addColumn(object_count_str, FONT); if (is_group_owned) { @@ -1575,12 +1539,10 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo lldebugs << "object owner " << owner_id << " (" << (is_group_owned ? "group" : "agent") << ") owns " << object_count << " objects." << llendl; } - self->mOwnerList->sortByColumn(self->mCurrentSortColumn, self->mCurrentSortAscending); - // check for no results if (0 == self->mOwnerList->getItemCount()) { - self->mOwnerList->addSimpleItem("None found."); + self->mOwnerList->addCommentText("None found."); } else { @@ -1588,21 +1550,6 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo } } -void LLPanelLandObjects::sortBtnCore(S32 column) -{ - if (column == (S32)mCurrentSortColumn) // is this already our sorted column? - { - mCurrentSortAscending = !mCurrentSortAscending; - } - else // default to ascending first time a column is clicked - { - mCurrentSortColumn = column; - mCurrentSortAscending = TRUE; - } - - mOwnerList->sortByColumn(column, mCurrentSortAscending); -} - // static void LLPanelLandObjects::onCommitList(LLUICtrl* ctrl, void* data) { @@ -1640,28 +1587,6 @@ void LLPanelLandObjects::onCommitList(LLUICtrl* ctrl, void* data) } // static -void LLPanelLandObjects::onClickType(void* userdata) -{ - // Sort on hidden type column - LLPanelLandObjects* self = (LLPanelLandObjects*)userdata; - self->sortBtnCore(1); -} - -// static -void LLPanelLandObjects::onClickDesc(void* userdata) -{ - LLPanelLandObjects* self = (LLPanelLandObjects*)userdata; - self->sortBtnCore(3); -} - -// static -void LLPanelLandObjects::onClickName(void* userdata) -{ - LLPanelLandObjects* self = (LLPanelLandObjects*)userdata; - self->sortBtnCore(2); -} - -// static void LLPanelLandObjects::clickShowCore(LLPanelLandObjects* self, S32 return_type, uuid_list_t* list) { LLParcel* parcel = self->mParcel->getParcel(); @@ -2893,7 +2818,7 @@ void LLPanelLandAccess::onCommitAny(LLUICtrl *ctrl, void *userdata) LLCtrlSelectionInterface* passcombo = self->childGetSelectionInterface("pass_combo"); if (passcombo) { - if (passcombo->getSimpleSelectedValue().asString() == "group") + if (passcombo->getSelectedValue().asString() == "group") { use_access_list = FALSE; } diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h index 4407e0b5b4..8b77bb990a 100644 --- a/indra/newview/llfloaterland.h +++ b/indra/newview/llfloaterland.h @@ -250,9 +250,6 @@ public: static void onClickReturnOtherObjects(void*); static void onClickReturnOwnerList(void*); static void onClickRefresh(void*); - static void onClickType(void*); - static void onClickName(void*); - static void onClickDesc(void*); static void onDoubleClickOwner(void*); @@ -264,7 +261,6 @@ public: virtual BOOL postBuild(); protected: - void sortBtnCore(S32 column); LLTextBox *mParcelObjectBonus; LLTextBox *mSWTotalObjects; @@ -284,19 +280,12 @@ protected: S32 mOtherTime; LLButton *mBtnRefresh; LLButton *mBtnReturnOwnerList; - LLButton *mBtnType; // column 0 - LLButton *mBtnName; // column 2 - LLButton *mBtnDescription; // column 3 LLNameListCtrl *mOwnerList; LLPointer<LLViewerImage> mIconAvatarOnline; LLPointer<LLViewerImage> mIconAvatarOffline; LLPointer<LLViewerImage> mIconGroup; - U32 mCurrentSortColumn; - BOOL mCurrentSortAscending; - S32 mColWidth[12]; - BOOL mFirstReply; uuid_list_t mSelectedOwners; diff --git a/indra/newview/llfloaterlandholdings.cpp b/indra/newview/llfloaterlandholdings.cpp index bccabb356f..b150c873fe 100644 --- a/indra/newview/llfloaterlandholdings.cpp +++ b/indra/newview/llfloaterlandholdings.cpp @@ -256,7 +256,7 @@ void LLFloaterLandHoldings::buttonCore(S32 which) S32 index = list->getFirstSelectedIndex(); if (index < 0) return; - LLString location = list->getSimpleSelectedItem(3); + LLString location = list->getSelectedItemLabel(3); F32 global_x = 0.f; F32 global_y = 0.f; diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp index 6128909528..2da9ed4e14 100644 --- a/indra/newview/llfloaterreporter.cpp +++ b/indra/newview/llfloaterreporter.cpp @@ -665,7 +665,7 @@ LLSD LLFloaterReporter::gatherReport() LLComboBox* combo = LLUICtrlFactory::getComboBoxByName(this, "category_combo"); if (combo) { - category_name = combo->getSimpleSelectedItem(); // want label, not value + category_name = combo->getSelectedItemLabel(); // want label, not value } #if LL_WINDOWS diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 71e94cce93..da298c56c4 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -1123,7 +1123,7 @@ void LLFloaterSnapshot::Impl::onCommitResolution(LLUICtrl* ctrl, void* data) combo = LLUICtrlFactory::getComboBoxByName(view, "local_size_combo"); gSavedSettings.setS32("SnapshotLocalLastResolution", combo->getCurrentIndex()); - std::string sdstring = combobox->getSimpleSelectedValue(); + std::string sdstring = combobox->getSelectedValue(); LLSD sdres; std::stringstream sstream(sdstring); LLSDSerialize::fromNotation(sdres, sstream); diff --git a/indra/newview/llfloatertelehub.cpp b/indra/newview/llfloatertelehub.cpp index 95a47bb2ac..9c837135d8 100644 --- a/indra/newview/llfloatertelehub.cpp +++ b/indra/newview/llfloatertelehub.cpp @@ -305,7 +305,7 @@ void LLFloaterTelehub::unpackTelehubInfo(LLMessageSystem* msg) mSpawnPointPos[i].mV[VX], mSpawnPointPos[i].mV[VY], mSpawnPointPos[i].mV[VZ]); - list->addSimpleItem(pos); + list->addSimpleElement(pos); } list->selectNthItem(mNumSpawn - 1); } diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index b1bbb341fd..ce5a94520c 100644 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -1569,11 +1569,11 @@ void LLFloaterWorldMap::updateSims(bool found_null_sim) return; } - LLCtrlListInterface *list = childGetListInterface("search_results"); + LLScrollListCtrl *list = gUICtrlFactory->getScrollListByName(this, "search_results"); if (!list) return; list->operateOnAll(LLCtrlListInterface::OP_DELETE); - LLSD selected_value = list->getSimpleSelectedValue(); + LLSD selected_value = list->getSelectedValue(); S32 name_length = mCompletingRegionName.length(); @@ -1628,7 +1628,7 @@ void LLFloaterWorldMap::updateSims(bool found_null_sim) } else { - list->addSimpleElement("None found."); + list->addCommentText("None found."); list->operateOnAll(LLCtrlListInterface::OP_DESELECT); } } @@ -1659,7 +1659,7 @@ void LLFloaterWorldMap::onCommitSearchResult(LLUICtrl*, void* userdata) LLCtrlListInterface *list = self->childGetListInterface("search_results"); if (!list) return; - LLSD selected_value = list->getSimpleSelectedValue(); + LLSD selected_value = list->getSelectedValue(); LLString sim_name = selected_value.asString(); if (sim_name.empty()) { diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp index a47721be9d..9dd37cf47d 100644 --- a/indra/newview/llnamelistctrl.cpp +++ b/indra/newview/llnamelistctrl.cpp @@ -332,9 +332,6 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto BOOL draw_heading = FALSE; node->getAttributeBOOL("draw_heading", draw_heading); - BOOL collapse_empty_columns = FALSE; - node->getAttributeBOOL("collapse_empty_columns", collapse_empty_columns); - S32 name_column_index = 0; node->getAttributeS32("name_column_index", name_column_index); @@ -355,7 +352,6 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto node->getAttributeS32("heading_height", heading_height); name_list->setHeadingHeight(heading_height); } - name_list->setCollapseEmptyColumns(collapse_empty_columns); BOOL allow_calling_card_drop = FALSE; if (node->getAttributeBOOL("allow_calling_card_drop", allow_calling_card_drop)) @@ -369,6 +365,7 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto LLSD columns; S32 index = 0; + S32 total_static = 0; LLXMLNodePtr child; for (child = node->getFirstChild(); child.notNull(); child = child->getNextSibling()) { @@ -380,6 +377,13 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto LLString columnname(labelname); child->getAttributeString("name", columnname); + BOOL columndynamicwidth = FALSE; + child->getAttributeBOOL("dynamicwidth", columndynamicwidth); + + LLString sortname(columnname); + child->getAttributeString("sort", sortname); + + S32 columnwidth = -1; if (child->hasAttribute("relwidth")) { F32 columnrelwidth = 0.f; @@ -388,7 +392,6 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto } else { - S32 columnwidth = -1; child->getAttributeS32("width", columnwidth); columns[index]["width"] = columnwidth; } @@ -396,14 +399,21 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto LLFontGL::HAlign h_align = LLFontGL::LEFT; h_align = LLView::selectFontHAlign(child); + if(!columndynamicwidth) total_static += llmax(0, columnwidth); + columns[index]["name"] = columnname; columns[index]["label"] = labelname; columns[index]["halign"] = (S32)h_align; + columns[index]["dynamicwidth"] = columndynamicwidth; + columns[index]["sort"] = sortname; + index++; } } + name_list->setTotalStaticColumnWidth(total_static); name_list->setColumnHeadings(columns); + for (child = node->getFirstChild(); child.notNull(); child = child->getNextSibling()) { if (child->hasName("row")) @@ -453,7 +463,7 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto while(token_iter != tokens.end()) { const char* line = token_iter->c_str(); - name_list->addSimpleItem(line); + name_list->addCommentText(line); ++token_iter; } diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index 4ee155931c..0146214c4b 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -2010,7 +2010,7 @@ void LLPanelAvatar::processAvatarGroupsReply(LLMessageSystem *msg, void**) S32 group_count = msg->getNumberOfBlocksFast(_PREHASH_GroupData); if (0 == group_count) { - if(group_list) group_list->addSimpleItem("None"); + if(group_list) group_list->addCommentText("None"); } else { diff --git a/indra/newview/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp index dbe24d40e0..7f12555fe2 100644 --- a/indra/newview/llpanelgrouplandmoney.cpp +++ b/indra/newview/llpanelgrouplandmoney.cpp @@ -665,7 +665,7 @@ BOOL LLPanelGroupLandMoney::postBuild() { if ( mImplementationp->mGroupParcelsp ) { - mImplementationp->mGroupParcelsp->addSimpleItem( + mImplementationp->mGroupParcelsp->addCommentText( mImplementationp->mCantViewParcelsText); mImplementationp->mGroupParcelsp->setEnabled(FALSE); } diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp index c7c7912bf2..9ac88a3cc2 100644 --- a/indra/newview/llpanelgroupnotices.cpp +++ b/indra/newview/llpanelgroupnotices.cpp @@ -473,7 +473,7 @@ void LLPanelGroupNotices::processNotices(LLMessageSystem* msg) if (1 == count && id.isNull()) { // Only one entry, the dummy entry. - mNoticesList->addSimpleItem(mNoNoticesStr,ADD_BOTTOM,FALSE); + mNoticesList->addCommentText(mNoNoticesStr); mNoticesList->setEnabled(FALSE); return; } diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index a67692afa6..1556f24afa 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -1681,7 +1681,7 @@ void LLPanelGroupMembersSubTab::update(LLGroupChange gc) retrieved << "Retrieving role member mappings..."; } mMembersList->setEnabled(FALSE); - mMembersList->addSimpleItem(retrieved.str()); + mMembersList->addCommentText(retrieved.str()); } } @@ -1761,7 +1761,7 @@ void LLPanelGroupMembersSubTab::updateMembers() else { mMembersList->setEnabled(FALSE); - mMembersList->addSimpleItem("No match."); + mMembersList->addCommentText("No match."); } } else @@ -2674,7 +2674,7 @@ void LLPanelGroupActionsSubTab::handleActionSelect() if (!rmd) continue; if ((rmd->getRoleData().mRolePowers & power_mask) == power_mask) { - mActionRoles->addSimpleItem(rmd->getRoleData().mRoleName); + mActionRoles->addSimpleElement(rmd->getRoleData().mRoleName); } } } diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 06286927d4..c6d721faeb 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -1134,8 +1134,8 @@ LLPreviewLSL::LLPreviewLSL(const std::string& name, const LLRect& rect, void LLPreviewLSL::callbackLSLCompileSucceeded() { llinfos << "LSL Bytecode saved" << llendl; - mScriptEd->mErrorList->addSimpleItem("Compile successful!"); - mScriptEd->mErrorList->addSimpleItem("Save complete."); + mScriptEd->mErrorList->addCommentText("Compile successful!"); + mScriptEd->mErrorList->addCommentText("Save complete."); closeIfNeeded(); } @@ -1681,8 +1681,8 @@ void LLLiveLSLEditor::callbackLSLCompileSucceeded(const LLUUID& task_id, bool is_script_running) { lldebugs << "LSL Bytecode saved" << llendl; - mScriptEd->mErrorList->addSimpleItem("Compile successful!"); - mScriptEd->mErrorList->addSimpleItem("Save complete."); + mScriptEd->mErrorList->addCommentText("Compile successful!"); + mScriptEd->mErrorList->addCommentText("Save complete."); closeIfNeeded(); } @@ -2207,7 +2207,7 @@ void LLLiveLSLEditor::uploadAssetLegacy(const std::string& filename, else { llinfos << "Compile worked!" << llendl; - mScriptEd->mErrorList->addSimpleItem("Compile successful, saving..."); + mScriptEd->mErrorList->addCommentText("Compile successful, saving..."); if(gAssetStorage) { llinfos << "LLLiveLSLEditor::saveAsset " @@ -2281,7 +2281,7 @@ void LLLiveLSLEditor::onSaveBytecodeComplete(const LLUUID& asset_uuid, void* use if(self) { // Tell the user that the compile worked. - self->mScriptEd->mErrorList->addSimpleItem("Save complete."); + self->mScriptEd->mErrorList->addCommentText("Save complete."); // close the window if this completes both uploads self->getWindow()->decBusyCount(); self->mPendingUploads--; diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index c7d2cb7318..6acaabe028 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -448,6 +448,7 @@ class LinuxManifest(ViewerManifest): self.path("res/ll_icon.ico","secondlife.ico") if self.prefix("linux_tools", ""): self.path("client-readme.txt","README-linux.txt") + self.path("client-readme-voice.txt","README-linux-voice.txt") self.path("wrapper.sh","secondlife") self.path("handle_secondlifeprotocol.sh") self.path("register_secondlifeprotocol.sh") @@ -517,6 +518,16 @@ class Linux_i686Manifest(LinuxManifest): self.path("libllkdu.so", "../bin/libllkdu.so") # llkdu goes in bin for some reason self.end_prefix("lib") + # Vivox runtimes + if self.prefix(src="vivox-runtime/i686-linux", dst=""): + self.path("SLVoice") + self.end_prefix() + if self.prefix(src="vivox-runtime/i686-linux", dst="lib"): + self.path("libopenal.so.1") + self.path("libortp.so") + self.path("libvivoxsdk.so") + self.path("libalut.so") + self.end_prefix("lib") class Linux_x86_64Manifest(LinuxManifest): def construct(self): |