From 2128df33ec894d1b5ac1a0e0ad7023fe483abfe3 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Mon, 16 Nov 2009 17:13:02 +0000 Subject: Be more generous with the voicechannel states that trigger the Calling popup. Huh, the voicechannel state machine isn't much of a state machine. --- indra/newview/llvoicechannel.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index ae32ec7d11..871f302c3d 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -873,6 +873,8 @@ void LLVoiceChannelP2P::setState(EState state) // *HACK: Open/close the call window if needed. toggleCallWindowIfNeeded(state); + llinfos << "CALL STATE CHANGE: incoming=" << int(mReceivedCall) << " oldstate=" << mState << " newstate=" << state << llendl; + if (mReceivedCall) // incoming call { // you only "answer" voice invites in p2p mode @@ -889,7 +891,8 @@ void LLVoiceChannelP2P::setState(EState state) mCallDialogPayload["session_id"] = mSessionID; mCallDialogPayload["session_name"] = mSessionName; mCallDialogPayload["other_user_id"] = mOtherUserID; - if (state == STATE_RINGING) + if (state == STATE_RINGING || + state == STATE_CALL_STARTED) { // *HACK: open outgoing call floater if needed, might be better done elsewhere. // *TODO: should move this squirrelly ui-fudging crap into LLOutgoingCallDialog itself -- cgit v1.2.3 From 5b6002f5cc9bd209372fb7453728ec3bd4842430 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Mon, 16 Nov 2009 17:36:07 +0000 Subject: speculative attempt at a 'no answer' dialog state, and some more debug spew. --- indra/newview/llvoicechannel.cpp | 26 +++++++++++++++++----- .../skins/default/xui/en/floater_outgoing_call.xml | 11 +++++++++ 2 files changed, 32 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index 871f302c3d..9e48e80ca0 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -747,6 +747,8 @@ LLVoiceChannelP2P::LLVoiceChannelP2P(const LLUUID& session_id, const std::string void LLVoiceChannelP2P::handleStatusChange(EStatusType type) { + llinfos << "CALL CHANNEL STATUS CHANGE: " << type << llendl; + // status updates switch(type) { @@ -904,6 +906,7 @@ void LLVoiceChannelP2P::setState(EState state) ocd->getChild("calling")->setVisible(true); ocd->getChild("leaving")->setVisible(true); ocd->getChild("connecting")->setVisible(false); + ocd->getChild("noanswer")->setVisible(false); } } } @@ -915,16 +918,29 @@ void LLVoiceChannelP2P::setState(EState state) ocd->getChild("calling")->setVisible(false); ocd->getChild("leaving")->setVisible(false); ocd->getChild("connecting")->setVisible(true); + ocd->getChild("noanswer")->setVisible(false); } }*/ + else if (state == STATE_ERROR) + { + LLOutgoingCallDialog *ocd = dynamic_cast(LLFloaterReg::showInstance("outgoing_call", mCallDialogPayload, TRUE)); + if (ocd) + { + ocd->getChild("calling")->setVisible(false); + ocd->getChild("leaving")->setVisible(false); + ocd->getChild("connecting")->setVisible(false); + ocd->getChild("noanswer")->setVisible(true); + } + } else if (state == STATE_HUNG_UP || state == STATE_CONNECTED) { - LLOutgoingCallDialog *ocd = dynamic_cast(LLFloaterReg::showInstance("outgoing_call", mCallDialogPayload, TRUE)); - if (ocd) - { - ocd->closeFloater(); - } + // hide popup + LLOutgoingCallDialog *ocd = dynamic_cast(LLFloaterReg::showInstance("outgoing_call", mCallDialogPayload, TRUE)); + if (ocd) + { + ocd->closeFloater(); + } } } diff --git a/indra/newview/skins/default/xui/en/floater_outgoing_call.xml b/indra/newview/skins/default/xui/en/floater_outgoing_call.xml index 82417de8a7..ae4d5042ef 100644 --- a/indra/newview/skins/default/xui/en/floater_outgoing_call.xml +++ b/indra/newview/skins/default/xui/en/floater_outgoing_call.xml @@ -57,6 +57,17 @@ Connecting to [CALLEE_NAME] width="315" word_wrap="true"> Calling [CALLEE_NAME] + + +No Answer. Please try again later. Date: Mon, 16 Nov 2009 17:53:17 +0000 Subject: better debug spew yes, it looks like we really don't get much detail from llvoiceclient, it's not just llvoicechannel that's dumbed-down! --- indra/newview/llvoicechannel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index 9e48e80ca0..7036d9ebb6 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -747,7 +747,7 @@ LLVoiceChannelP2P::LLVoiceChannelP2P(const LLUUID& session_id, const std::string void LLVoiceChannelP2P::handleStatusChange(EStatusType type) { - llinfos << "CALL CHANNEL STATUS CHANGE: " << type << llendl; + llinfos << "P2P CALL CHANNEL STATUS CHANGE: incoming=" << int(mReceivedCall) << " newstatus=" << LLVoiceClientStatusObserver::status2string(type) << " (mState=" << mState << ")" << llendl; // status updates switch(type) @@ -875,7 +875,7 @@ void LLVoiceChannelP2P::setState(EState state) // *HACK: Open/close the call window if needed. toggleCallWindowIfNeeded(state); - llinfos << "CALL STATE CHANGE: incoming=" << int(mReceivedCall) << " oldstate=" << mState << " newstate=" << state << llendl; + llinfos << "P2P CALL STATE CHANGE: incoming=" << int(mReceivedCall) << " oldstate=" << mState << " newstate=" << state << llendl; if (mReceivedCall) // incoming call { -- cgit v1.2.3 From 63192ae2b9cb767b683672bba9a057dc4fb1ee10 Mon Sep 17 00:00:00 2001 From: Steve Bennetts Date: Mon, 16 Nov 2009 15:46:53 -0800 Subject: EXT-2264 - Statistics window puts items in wrong categories --- .../newview/skins/default/xui/en/floater_stats.xml | 322 ++++++++++----------- 1 file changed, 161 insertions(+), 161 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index 68a4867167..f9dacf0207 100644 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -405,179 +405,179 @@ show_bar="false" show_mean="false" > + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + Date: Mon, 16 Nov 2009 16:18:59 -0800 Subject: EXT-2110 - Help -> Abuse Report produces noticeable 3-10 second hang Only happens with small windows because of some code that does font resizing on high res. Changed the scale factor threshold to cover vast majority of cases. --- indra/newview/llviewerwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 90a79698f6..bb57226050 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3944,7 +3944,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei return FALSE ; } - BOOL high_res = scale_factor > 1.f; + BOOL high_res = scale_factor >= 2.f; // Font scaling is slow, only do so if rez is much higher if (high_res) { send_agent_pause(); -- cgit v1.2.3 From d8e1af97361a81dd571ccb64b859ae1e5157339e Mon Sep 17 00:00:00 2001 From: Steve Bennetts Date: Mon, 16 Nov 2009 16:48:58 -0800 Subject: Increasing texture cache version to force cache clear of possibly corrupted texture caches from previous 2.0 versions. Enabling Admin menu in God Mode independent of Advanced menu. --- indra/newview/lltexturecache.cpp | 2 +- indra/newview/llviewermenu.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index c33c652935..845e71378a 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -917,7 +917,7 @@ BOOL LLTextureCache::isInLocal(const LLUUID& id) //static const S32 MAX_REASONABLE_FILE_SIZE = 512*1024*1024; // 512 MB -F32 LLTextureCache::sHeaderCacheVersion = 1.3f; +F32 LLTextureCache::sHeaderCacheVersion = 1.4f; U32 LLTextureCache::sCacheMaxEntries = MAX_REASONABLE_FILE_SIZE / TEXTURE_CACHE_ENTRY_SIZE; S64 LLTextureCache::sCacheMaxTexturesSize = 0; // no limit const char* entries_filename = "texture.entries"; diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 68a9aaef75..6a6aa1061d 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5189,7 +5189,7 @@ void show_debug_menus() gMenuBarView->setItemEnabled("Develop", qamode); // Server ('Admin') menu hidden when not in godmode. - const bool show_server_menu = debug && (gAgent.getGodLevel() > GOD_NOT || gAgent.getAdminOverride()); + const bool show_server_menu = (gAgent.getGodLevel() > GOD_NOT || (debug && gAgent.getAdminOverride())); gMenuBarView->setItemVisible("Admin", show_server_menu); gMenuBarView->setItemEnabled("Admin", show_server_menu); } -- cgit v1.2.3 From 516b2fe7cdf23947600a0983ad80f9a44534cfe2 Mon Sep 17 00:00:00 2001 From: Steve Bennetts Date: Mon, 16 Nov 2009 17:41:31 -0800 Subject: EXT-525 - World Maps landmarks drop-down does not find the location --- indra/newview/skins/default/xui/en/floater_world_map.xml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml index 387ffbd5b3..c60cc163c8 100644 --- a/indra/newview/skins/default/xui/en/floater_world_map.xml +++ b/indra/newview/skins/default/xui/en/floater_world_map.xml @@ -340,6 +340,8 @@ label="Landmarks" name="item1" value="None" /> + Date: Mon, 16 Nov 2009 17:46:43 -0800 Subject: Eliminated redundant selection callback for LLComboBox (mSelectionCallback). --- indra/newview/llfloateruipreview.cpp | 4 ++-- indra/newview/llnavigationbar.cpp | 2 +- indra/newview/llpanelplaces.cpp | 2 +- indra/newview/llsearchcombobox.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp index 3613ac803e..a1c6704657 100644 --- a/indra/newview/llfloateruipreview.cpp +++ b/indra/newview/llfloateruipreview.cpp @@ -431,9 +431,9 @@ BOOL LLFloaterUIPreview::postBuild() // get pointers to buttons and link to callbacks mLanguageSelection = main_panel_tmp->getChild("language_select_combo"); - mLanguageSelection->setSelectionCallback(boost::bind(&LLFloaterUIPreview::onLanguageComboSelect, this, mLanguageSelection)); + mLanguageSelection->setCommitCallback(boost::bind(&LLFloaterUIPreview::onLanguageComboSelect, this, mLanguageSelection)); mLanguageSelection_2 = main_panel_tmp->getChild("language_select_combo_2"); - mLanguageSelection_2->setSelectionCallback(boost::bind(&LLFloaterUIPreview::onLanguageComboSelect, this, mLanguageSelection)); + mLanguageSelection_2->setCommitCallback(boost::bind(&LLFloaterUIPreview::onLanguageComboSelect, this, mLanguageSelection)); LLPanel* editor_panel_tmp = main_panel_tmp->getChild("editor_panel"); mDisplayFloaterBtn = main_panel_tmp->getChild("display_floater"); mDisplayFloaterBtn->setClickedCallback(boost::bind(&LLFloaterUIPreview::onClickDisplayFloater, this, PRIMARY_FLOATER)); diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 794d73a5ad..0c2782fd8a 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -217,7 +217,7 @@ BOOL LLNavigationBar::postBuild() mBtnHome->setClickedCallback(boost::bind(&LLNavigationBar::onHomeButtonClicked, this)); - mCmbLocation->setSelectionCallback(boost::bind(&LLNavigationBar::onLocationSelection, this)); + mCmbLocation->setCommitCallback(boost::bind(&LLNavigationBar::onLocationSelection, this)); mSearchComboBox->setCommitCallback(boost::bind(&LLNavigationBar::onSearchCommit, this)); diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index eb10d97b37..19a8ab58c0 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -223,7 +223,7 @@ BOOL LLPanelPlaces::postBuild() notes_editor->setKeystrokeCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this)); LLComboBox* folder_combo = mLandmarkInfo->getChild("folder_combo"); - folder_combo->setSelectionCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this)); + folder_combo->setCommitCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this)); return TRUE; } diff --git a/indra/newview/llsearchcombobox.cpp b/indra/newview/llsearchcombobox.cpp index f95671685b..93a70b6471 100644 --- a/indra/newview/llsearchcombobox.cpp +++ b/indra/newview/llsearchcombobox.cpp @@ -82,7 +82,7 @@ LLSearchComboBox::LLSearchComboBox(const Params&p) setButtonVisible(p.dropdown_button_visible); mTextEntry->setCommitCallback(boost::bind(&LLComboBox::onTextCommit, this, _2)); mTextEntry->setKeystrokeCallback(boost::bind(&LLComboBox::onTextEntry, this, _1), NULL); - setSelectionCallback(boost::bind(&LLSearchComboBox::onSelectionCommit, this)); + setCommitCallback(boost::bind(&LLSearchComboBox::onSelectionCommit, this)); setPrearrangeCallback(boost::bind(&LLSearchComboBox::onSearchPrearrange, this, _2)); mSearchButton->setCommitCallback(boost::bind(&LLSearchComboBox::onTextCommit, this, _2)); } -- cgit v1.2.3 From 78bb530dab950639db239ec752ab842a91d58aed Mon Sep 17 00:00:00 2001 From: CG Linden Date: Tue, 17 Nov 2009 18:20:33 -0800 Subject: Fix llkdu.dll inclusion problem llkdu.dll was referenced via "configuration", but sharedlibs prefix already included "configuration" --- indra/newview/viewer_manifest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 7e5c30a978..f2597c8bbb 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -241,7 +241,7 @@ class WindowsManifest(ViewerManifest): # Get kdu dll, continue if missing. try: - self.path('%s/llkdu.dll' % self.args['configuration'], dst='llkdu.dll') + self.path('llkdu.dll', dst='llkdu.dll') except RuntimeError: print "Skipping llkdu.dll" -- cgit v1.2.3 From 1875d5e37ba1591ba9b75014a7618f38427f0d2f Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Wed, 18 Nov 2009 14:48:05 -0500 Subject: EXT-2539 confirm we're not sending local texture IDs in appearance msg created a throwaway function to temporarily set local texture IDs in the avatar object to IMG_DEFAULT_AVATAR immediately before sending the TE message, and restore the IDs when we're done. Will implement a more elegant solution for 2.1. This is the least risky implementation, though it isn't elegant. Code reviewed by Seraph --- indra/newview/llagent.cpp | 2 +- indra/newview/llvoavatar.cpp | 2 +- indra/newview/llvoavatar.h | 2 +- indra/newview/llvoavatarself.cpp | 43 ++++++++++++++++++++++++++++++++++++++++ indra/newview/llvoavatarself.h | 1 + 5 files changed, 47 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 7a540a45c4..fb2ecb3bed 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -6326,7 +6326,7 @@ void LLAgent::sendAgentSetAppearance() msg->addU8Fast(_PREHASH_TextureIndex, (U8)texture_index); } msg->nextBlockFast(_PREHASH_ObjectData); - mAvatarObject->packTEMessage( gMessageSystem ); + mAvatarObject->sendAppearanceMessage( gMessageSystem ); } else { diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index b6c1ee2f11..75e35e5221 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6267,7 +6267,7 @@ LLColor4 LLVOAvatar::getDummyColor() return DUMMY_COLOR; } -void LLVOAvatar::dumpAvatarTEs( const std::string& context ) +void LLVOAvatar::dumpAvatarTEs( const std::string& context ) const { /* const char* te_name[] = { "TEX_HEAD_BODYPAINT ", diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 2fd1a506a9..4b3e850e7a 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -889,7 +889,7 @@ public: static void dumpArchetypeXML(void*); static void dumpBakedStatus(); const std::string getBakedStatusForPrintout() const; - void dumpAvatarTEs(const std::string& context); + void dumpAvatarTEs(const std::string& context) const; static F32 sUnbakedTime; // Total seconds with >=1 unbaked avatars static F32 sUnbakedUpdateTime; // Last time stats were updated (to prevent multiple updates per frame) diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 711e9f90fc..d9c5e932a2 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -2074,6 +2074,49 @@ void LLVOAvatarSelf::setInvisible(BOOL newvalue) } } +// HACK: this will null out the avatar's local texture IDs before the TE message is sent +// to ensure local texture IDs are not sent to other clients in the area. +// this is a short-term solution. The long term solution will be to not set the texture +// IDs in the avatar object, and keep them only in the wearable. +// This will involve further refactoring that is too risky for the initial release of 2.0. +bool LLVOAvatarSelf::sendAppearanceMessage(LLMessageSystem *mesgsys) const +{ + LLUUID texture_id[TEX_NUM_INDICES]; + // pack away current TEs to make sure we don't send them out + for (LLVOAvatarDictionary::Textures::const_iterator iter = LLVOAvatarDictionary::getInstance()->getTextures().begin(); + iter != LLVOAvatarDictionary::getInstance()->getTextures().end(); + ++iter) + { + const ETextureIndex index = iter->first; + const LLVOAvatarDictionary::TextureEntry *texture_dict = iter->second; + if (!texture_dict->mIsBakedTexture) + { + LLTextureEntry* entry = getTE((U8) index); + texture_id[index] = entry->getID(); + entry->setID(IMG_DEFAULT_AVATAR); + } + } + + bool success = packTEMessage(mesgsys); + + // unpack TEs to make sure we don't re-trigger a bake + for (LLVOAvatarDictionary::Textures::const_iterator iter = LLVOAvatarDictionary::getInstance()->getTextures().begin(); + iter != LLVOAvatarDictionary::getInstance()->getTextures().end(); + ++iter) + { + const ETextureIndex index = iter->first; + const LLVOAvatarDictionary::TextureEntry *texture_dict = iter->second; + if (!texture_dict->mIsBakedTexture) + { + LLTextureEntry* entry = getTE((U8) index); + entry->setID(texture_id[index]); + } + } + + return success; +} + + //------------------------------------------------------------------------ // needsRenderBeam() //------------------------------------------------------------------------ diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index 6702f030fe..a1cad82eff 100644 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -310,6 +310,7 @@ public: public: static void onChangeSelfInvisible(BOOL newvalue); void setInvisible(BOOL newvalue); + bool sendAppearanceMessage(LLMessageSystem *mesgsys) const; /** Appearance ** ** -- cgit v1.2.3