pulling fixes back from viewer-beta
commit
33f745b237
|
|
@ -46,9 +46,6 @@ viewer-beta.viewer_channel = "Second Life Beta Viewer"
|
|||
viewer-beta.login_channel = "Second Life Beta Viewer"
|
||||
viewer-beta.build_debug_release_separately = true
|
||||
viewer-beta.build_viewer_update_version_manager = true
|
||||
# Settings to test new code ticket service
|
||||
viewer-beta.codeticket_server_url = "http://pdp75.lindenlab.com:8000/codeticket/linden/"
|
||||
viewer-beta.codeticket_add_context = true
|
||||
|
||||
# ========================================
|
||||
# Viewer Release
|
||||
|
|
|
|||
|
|
@ -265,14 +265,7 @@ int LLProcessLauncher::launch(void)
|
|||
delete[] fake_argv;
|
||||
|
||||
mProcessID = id;
|
||||
|
||||
// At this point, the child process will have been created (since that's how vfork works -- the child borrowed our execution context until it forked)
|
||||
// If the process doesn't exist at this point, the exec failed.
|
||||
if(!isRunning())
|
||||
{
|
||||
result = -1;
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -114,11 +114,109 @@ public:
|
|||
LLAgentHandler gAgentHandler;
|
||||
|
||||
|
||||
//-- LLPanelProfile::ChildStack begins ----------------------------------------
|
||||
LLPanelProfile::ChildStack::ChildStack()
|
||||
: mParent(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
void LLPanelProfile::ChildStack::setParent(LLPanel* parent)
|
||||
{
|
||||
llassert_always(parent != NULL);
|
||||
mParent = parent;
|
||||
}
|
||||
|
||||
/// Save current parent's child views and remove them from the child list.
|
||||
bool LLPanelProfile::ChildStack::push()
|
||||
{
|
||||
view_list_t vlist = *mParent->getChildList();
|
||||
|
||||
for (view_list_t::const_iterator it = vlist.begin(); it != vlist.end(); ++it)
|
||||
{
|
||||
LLView* viewp = *it;
|
||||
mParent->removeChild(viewp);
|
||||
}
|
||||
|
||||
mStack.push_back(vlist);
|
||||
dump();
|
||||
return true;
|
||||
}
|
||||
|
||||
/// Restore saved children (adding them back to the child list).
|
||||
bool LLPanelProfile::ChildStack::pop()
|
||||
{
|
||||
if (mStack.size() == 0)
|
||||
{
|
||||
llwarns << "Empty stack" << llendl;
|
||||
llassert(mStack.size() == 0);
|
||||
return false;
|
||||
}
|
||||
|
||||
view_list_t& top = mStack.back();
|
||||
for (view_list_t::const_iterator it = top.begin(); it != top.end(); ++it)
|
||||
{
|
||||
LLView* viewp = *it;
|
||||
mParent->addChild(viewp);
|
||||
}
|
||||
|
||||
mStack.pop_back();
|
||||
dump();
|
||||
return true;
|
||||
}
|
||||
|
||||
/// Temporarily add all saved children back.
|
||||
void LLPanelProfile::ChildStack::preParentReshape()
|
||||
{
|
||||
mSavedStack = mStack;
|
||||
while(mStack.size() > 0)
|
||||
{
|
||||
pop();
|
||||
}
|
||||
}
|
||||
|
||||
/// Add the temporarily saved children back.
|
||||
void LLPanelProfile::ChildStack::postParentReshape()
|
||||
{
|
||||
mStack = mSavedStack;
|
||||
mSavedStack = stack_t();
|
||||
|
||||
for (stack_t::const_iterator stack_it = mStack.begin(); stack_it != mStack.end(); ++stack_it)
|
||||
{
|
||||
const view_list_t& vlist = (*stack_it);
|
||||
for (view_list_t::const_iterator list_it = vlist.begin(); list_it != vlist.end(); ++list_it)
|
||||
{
|
||||
LLView* viewp = *list_it;
|
||||
lldebugs << "removing " << viewp->getName() << llendl;
|
||||
mParent->removeChild(viewp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanelProfile::ChildStack::dump()
|
||||
{
|
||||
unsigned lvl = 0;
|
||||
lldebugs << "child stack dump:" << llendl;
|
||||
for (stack_t::const_iterator stack_it = mStack.begin(); stack_it != mStack.end(); ++stack_it, ++lvl)
|
||||
{
|
||||
std::ostringstream dbg_line;
|
||||
dbg_line << "lvl #" << lvl << ":";
|
||||
const view_list_t& vlist = (*stack_it);
|
||||
for (view_list_t::const_iterator list_it = vlist.begin(); list_it != vlist.end(); ++list_it)
|
||||
{
|
||||
dbg_line << " " << (*list_it)->getName();
|
||||
}
|
||||
lldebugs << dbg_line.str() << llendl;
|
||||
}
|
||||
}
|
||||
|
||||
//-- LLPanelProfile::ChildStack ends ------------------------------------------
|
||||
|
||||
LLPanelProfile::LLPanelProfile()
|
||||
: LLPanel()
|
||||
, mTabCtrl(NULL)
|
||||
, mAvatarId(LLUUID::null)
|
||||
{
|
||||
mChildStack.setParent(this);
|
||||
}
|
||||
|
||||
BOOL LLPanelProfile::postBuild()
|
||||
|
|
@ -136,6 +234,15 @@ BOOL LLPanelProfile::postBuild()
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLPanelProfile::reshape(S32 width, S32 height, BOOL called_from_parent)
|
||||
{
|
||||
// Temporarily add saved children back and reshape them.
|
||||
mChildStack.preParentReshape();
|
||||
LLPanel::reshape(width, height, called_from_parent);
|
||||
mChildStack.postParentReshape();
|
||||
}
|
||||
|
||||
void LLPanelProfile::onOpen(const LLSD& key)
|
||||
{
|
||||
// open the desired panel
|
||||
|
|
@ -177,7 +284,6 @@ void LLPanelProfile::onOpen(const LLSD& key)
|
|||
}
|
||||
}
|
||||
|
||||
//*TODO redo panel toggling
|
||||
void LLPanelProfile::togglePanel(LLPanel* panel, const LLSD& key)
|
||||
{
|
||||
// TRUE - we need to open/expand "panel"
|
||||
|
|
@ -204,21 +310,10 @@ void LLPanelProfile::onTabSelected(const LLSD& param)
|
|||
}
|
||||
}
|
||||
|
||||
void LLPanelProfile::setAllChildrenVisible(BOOL visible)
|
||||
{
|
||||
const child_list_t* child_list = getChildList();
|
||||
child_list_const_iter_t child_it = child_list->begin();
|
||||
for (; child_it != child_list->end(); ++child_it)
|
||||
{
|
||||
LLView* viewp = *child_it;
|
||||
viewp->setVisible(visible);
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanelProfile::openPanel(LLPanel* panel, const LLSD& params)
|
||||
{
|
||||
// Hide currently visible panel (STORM-690).
|
||||
setAllChildrenVisible(FALSE);
|
||||
mChildStack.push();
|
||||
|
||||
// Add the panel or bring it to front.
|
||||
if (panel->getParent() != this)
|
||||
|
|
@ -231,7 +326,7 @@ void LLPanelProfile::openPanel(LLPanel* panel, const LLSD& params)
|
|||
}
|
||||
|
||||
panel->setVisible(TRUE);
|
||||
|
||||
panel->setFocus(TRUE); // prevent losing focus by the floater
|
||||
panel->onOpen(params);
|
||||
|
||||
LLRect new_rect = getRect();
|
||||
|
|
@ -249,15 +344,17 @@ void LLPanelProfile::closePanel(LLPanel* panel)
|
|||
removeChild(panel);
|
||||
|
||||
// Make the underlying panel visible.
|
||||
mChildStack.pop();
|
||||
|
||||
// Prevent losing focus by the floater
|
||||
const child_list_t* child_list = getChildList();
|
||||
if (child_list->size() > 0)
|
||||
{
|
||||
child_list->front()->setVisible(TRUE);
|
||||
child_list->front()->setFocus(TRUE); // prevent losing focus by the floater
|
||||
child_list->front()->setFocus(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
llwarns << "No underlying panel to make visible." << llendl;
|
||||
llwarns << "No underlying panel to focus." << llendl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ class LLPanelProfile : public LLPanel
|
|||
|
||||
public:
|
||||
/*virtual*/ BOOL postBuild();
|
||||
|
||||
/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
|
||||
/*virtual*/ void onOpen(const LLSD& key);
|
||||
|
||||
virtual void togglePanel(LLPanel*, const LLSD& key = LLSD());
|
||||
|
|
@ -58,8 +58,6 @@ protected:
|
|||
|
||||
virtual void onTabSelected(const LLSD& param);
|
||||
|
||||
virtual void setAllChildrenVisible(BOOL visible);
|
||||
|
||||
LLTabContainer* getTabCtrl() { return mTabCtrl; }
|
||||
|
||||
const LLUUID& getAvatarId() { return mAvatarId; }
|
||||
|
|
@ -72,8 +70,34 @@ protected:
|
|||
|
||||
private:
|
||||
|
||||
//-- ChildStack begins ----------------------------------------------------
|
||||
class ChildStack
|
||||
{
|
||||
LOG_CLASS(LLPanelProfile::ChildStack);
|
||||
public:
|
||||
ChildStack();
|
||||
void setParent(LLPanel* parent);
|
||||
|
||||
bool push();
|
||||
bool pop();
|
||||
void preParentReshape();
|
||||
void postParentReshape();
|
||||
|
||||
private:
|
||||
void dump();
|
||||
|
||||
typedef LLView::child_list_t view_list_t;
|
||||
typedef std::list<view_list_t> stack_t;
|
||||
|
||||
stack_t mStack;
|
||||
stack_t mSavedStack;
|
||||
LLPanel* mParent;
|
||||
};
|
||||
//-- ChildStack ends ------------------------------------------------------
|
||||
|
||||
LLTabContainer* mTabCtrl;
|
||||
profile_tabs_t mTabContainer;
|
||||
ChildStack mChildStack;
|
||||
LLUUID mAvatarId;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -5,5 +5,6 @@
|
|||
# to a marker file which should be created if the installer fails.q
|
||||
#
|
||||
|
||||
open ../Resources/mac-updater.app --args -dmg "$1" -name "Second Life Viewer 2" -marker "$2"
|
||||
cd "$(dirname "$0")"
|
||||
../Resources/mac-updater.app/Contents/MacOS/mac-updater -dmg "$1" -name "Second Life Viewer 2" -marker "$2" &
|
||||
exit 0
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#! /bin/bash
|
||||
INSTALL_DIR=$(cd "$(dirname $0)/.." ; pwd)
|
||||
export LD_LIBRARY_PATH=$INSTALL_DIR/lib
|
||||
INSTALL_DIR=$(cd "$(dirname "$0")/.." ; pwd)
|
||||
export LD_LIBRARY_PATH="$INSTALL_DIR/lib"
|
||||
bin/linux-updater.bin --file "$1" --dest "$INSTALL_DIR" --name "Second Life Viewer 2" --stringsdir "$INSTALL_DIR/skins/default/xui/en" --stringsfile "strings.xml"
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then touch $2
|
||||
then touch "$2"
|
||||
fi
|
||||
|
||||
rm -f $1
|
||||
rm -f "$1"
|
||||
|
|
|
|||
Loading…
Reference in New Issue