From 75ee8558abb662b6a0a6b559c61a9549818d2962 Mon Sep 17 00:00:00 2001 From: Steven Bennetts Date: Mon, 28 Apr 2008 22:19:05 +0000 Subject: merge release-QAR-499 Viewer 1.20 RC 2 (additional changes) merge Branch_1-20-Viewer -r 85100 : 85278 -> release --- indra/newview/llappviewer.cpp | 23 +++++++++++++------ indra/newview/llfloaterchat.cpp | 17 +++++++++++++- indra/newview/llfloaterchat.h | 2 ++ indra/newview/llfloaterchatterbox.cpp | 7 ++++++ indra/newview/llfloaterchatterbox.h | 1 + indra/newview/llfloaterimagepreview.cpp | 2 +- indra/newview/llpanelobject.cpp | 2 +- indra/newview/llvoavatar.cpp | 39 ++++++++++++++++++--------------- 8 files changed, 65 insertions(+), 28 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 8c62969bec..572927f918 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -296,6 +296,7 @@ BOOL gPrintMessagesThisFrame = FALSE; BOOL gRandomizeFramerate = FALSE; BOOL gPeriodicSlowFrame = FALSE; +BOOL gCrashOnStartup = FALSE; BOOL gLLErrorActivated = FALSE; BOOL gLogoutInProgress = FALSE; //////////////////////////////////////////////////////////// @@ -1621,12 +1622,6 @@ bool LLAppViewer::initConfiguration() // - selectively apply settings - // If we have specified crash on startup, might as well do it now. - if(clp.hasOption("crashonstartup")) - { - LLAppViewer::instance()->forceErrorLLError(); - } - // If the user has specified a alternate settings file name. // Load it now before loading the user_settings/settings.xml if(clp.hasOption("settings")) @@ -1726,7 +1721,13 @@ bool LLAppViewer::initConfiguration() initGridChoice(); - // Handle slurl use. NOTE: Don't let SL-55321 reappear. + // If we have specified crash on startup, set the global so we'll trigger the crash at the right time + if(clp.hasOption("crashonstartup")) + { + gCrashOnStartup = TRUE; + } + + // Handle slurl use. NOTE: Don't let SL-55321 reappear. // *FIX: This init code should be made more robust to prevent // the issue SL-55321 from returning. One thought is to allow @@ -2021,6 +2022,7 @@ bool LLAppViewer::initConfiguration() }; gLastRunVersion = gSavedSettings.getString("LastRunVersion"); + return true; // Config was successful. } @@ -2076,6 +2078,12 @@ bool LLAppViewer::initWindow() gSavedSettings.saveToFile( gSavedSettings.getString("ClientSettingsFile"), TRUE ); } + //If we have a startup crash, it's usually near GL initialization, so simulate that. + if(gCrashOnStartup) + { + LLAppViewer::instance()->forceErrorLLError(); + } + LLUI::sWindow = gViewerWindow->getWindow(); LLAlertDialog::parseAlerts("alerts.xml"); @@ -2089,6 +2097,7 @@ bool LLAppViewer::initWindow() // show viewer window gViewerWindow->mWindow->show(); + return true; } diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp index 5ff75c4969..22e418d60d 100644 --- a/indra/newview/llfloaterchat.cpp +++ b/indra/newview/llfloaterchat.cpp @@ -162,7 +162,7 @@ void LLFloaterChat::onClose(bool app_quitting) void LLFloaterChat::onVisibilityChange(BOOL new_visibility) { // Hide the chat overlay when our history is visible. - gConsole->setVisible( !new_visibility ); + updateConsoleVisibility(); // stop chat history tab from flashing when it appears if (new_visibility) @@ -173,6 +173,21 @@ void LLFloaterChat::onVisibilityChange(BOOL new_visibility) LLFloater::onVisibilityChange(new_visibility); } +void LLFloaterChat::setMinimized(BOOL minimized) +{ + LLFloater::setMinimized(minimized); + updateConsoleVisibility(); +} + + +void LLFloaterChat::updateConsoleVisibility() +{ + // determine whether we should show console due to not being visible + gConsole->setVisible( !isInVisibleChain() // are we not in part of UI being drawn? + || isMinimized() // are we minimized? + || (getHost() && getHost()->isMinimized() )); // are we hosted in a minimized floater? +} + void add_timestamped_line(LLViewerTextEditor* edit, const LLString& line, const LLColor4& color) { bool prepend_newline = true; diff --git a/indra/newview/llfloaterchat.h b/indra/newview/llfloaterchat.h index 987fa2b4c5..118e6bbe6d 100644 --- a/indra/newview/llfloaterchat.h +++ b/indra/newview/llfloaterchat.h @@ -62,6 +62,8 @@ public: virtual BOOL postBuild(); virtual void onClose(bool app_quitting); virtual void onVisibilityChange(BOOL cur_visibility); + virtual void setMinimized(BOOL); + void updateConsoleVisibility(); static void setHistoryCursorAndScrollToEnd(); diff --git a/indra/newview/llfloaterchatterbox.cpp b/indra/newview/llfloaterchatterbox.cpp index 71de859703..44019d1227 100644 --- a/indra/newview/llfloaterchatterbox.cpp +++ b/indra/newview/llfloaterchatterbox.cpp @@ -210,6 +210,13 @@ void LLFloaterChatterBox::onClose(bool app_quitting) gSavedSettings.setBOOL("ShowCommunicate", FALSE); } +void LLFloaterChatterBox::setMinimized(BOOL minimized) +{ + LLFloater::setMinimized(minimized); + // HACK: potentially need to toggle console + LLFloaterChat::getInstance()->updateConsoleVisibility(); +} + void LLFloaterChatterBox::removeFloater(LLFloater* floaterp) { if (floaterp->getName() == "chat floater") diff --git a/indra/newview/llfloaterchatterbox.h b/indra/newview/llfloaterchatterbox.h index e74a2e3ffd..1d15362435 100644 --- a/indra/newview/llfloaterchatterbox.h +++ b/indra/newview/llfloaterchatterbox.h @@ -51,6 +51,7 @@ public: /*virtual*/ void draw(); /*virtual*/ void onOpen(); /*virtual*/ void onClose(bool app_quitting); + /*virtual*/ void setMinimized(BOOL minimized); /*virtual*/ void removeFloater(LLFloater* floaterp); /*virtual*/ void addFloater(LLFloater* floaterp, diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp index 3607aad7ef..51e67dcf2b 100644 --- a/indra/newview/llfloaterimagepreview.cpp +++ b/indra/newview/llfloaterimagepreview.cpp @@ -907,7 +907,7 @@ BOOL LLImagePreviewSculpted::render() gGL.color3f(0.4f, 0.4f, 0.4f); glVertexPointer(3, GL_FLOAT, 0, (void *)vertices); glNormalPointer(GL_FLOAT, 0, (void *)normals); - glDrawRangeElements(GL_TRIANGLES, 0, num_indices-1, num_indices, GL_UNSIGNED_SHORT, (void *)indices); + glDrawRangeElements(GL_TRIANGLES, 0, num_vertices-1, num_indices, GL_UNSIGNED_SHORT, (void *)indices); gGL.popMatrix(); glDisableClientState(GL_NORMAL_ARRAY); diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index d6ac5908dc..62115be473 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -1815,7 +1815,7 @@ void LLPanelObject::clearCtrls() mLabelRadiusOffset->setEnabled( FALSE ); mLabelRevolutions->setEnabled( FALSE ); - childSetVisible("select_single", TRUE); + childSetVisible("select_single", FALSE); childSetVisible("edit_object", TRUE); childSetEnabled("edit_object", FALSE); diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 0783468bb7..e785c93f19 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -9687,25 +9687,28 @@ U32 calc_shame(LLVOVolume* volume, std::set &textures) invisi = 1; } - if (te->getBumpmap()) + if (te) { - bump = 1; - } - if (te->getShiny()) - { - shiny = 1; - } - if (te->getGlow() > 0.f) - { - glow = 1; - } - if (face->mTextureMatrix != NULL) - { - animtex++; - } - if (te->getTexGen()) - { - planar++; + if (te->getBumpmap()) + { + bump = 1; + } + if (te->getShiny()) + { + shiny = 1; + } + if (te->getGlow() > 0.f) + { + glow = 1; + } + if (face->mTextureMatrix != NULL) + { + animtex++; + } + if (te->getTexGen()) + { + planar++; + } } } -- cgit v1.2.3