Merge up to 25972:7fceba778ee6 (V/Dev)
commit
6ef7838cd2
1
.hgtags
1
.hgtags
|
|
@ -239,6 +239,7 @@ bd6bcde2584491fd9228f1fa51c4575f4e764e19 3.2.4-release
|
|||
65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d DRTVWR-107_3.2.5-beta2
|
||||
65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d 3.2.5-beta2
|
||||
2174ed1c7129562428a5cfe8651ed77b8d26ae18 3.2.6-start
|
||||
4891c46a56fed7512c783b9cbe7cb7260727bf0c 3.2.7-start
|
||||
425f96b1e81e01644bf5e951961e7d1023bffb89 RLVa-1.2.0
|
||||
fc0cbb86f5bd6e7737159e35aea2c4cf9f619b62 RLVa-1.2.1
|
||||
43cb7dc1804de1a25c0b2b3f0715584af1f8b470 RLVa-1.2.2
|
||||
|
|
|
|||
|
|
@ -1366,11 +1366,21 @@ BOOL gzip_file(const std::string& srcfile, const std::string& dstfile)
|
|||
src = LLFile::fopen(srcfile, "rb"); /* Flawfinder: ignore */
|
||||
if (! src) goto err;
|
||||
|
||||
do
|
||||
while ((bytes = (S32)fread(buffer, sizeof(U8), COMPRESS_BUFFER_SIZE, src)) > 0)
|
||||
{
|
||||
bytes = (S32)fread(buffer, sizeof(U8), COMPRESS_BUFFER_SIZE,src);
|
||||
gzwrite(dst, buffer, bytes);
|
||||
} while(feof(src) == 0);
|
||||
if (gzwrite(dst, buffer, bytes) <= 0)
|
||||
{
|
||||
llwarns << "gzwrite failed: " << gzerror(dst, NULL) << llendl;
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
||||
if (ferror(src))
|
||||
{
|
||||
llwarns << "Error reading " << srcfile << llendl;
|
||||
goto err;
|
||||
}
|
||||
|
||||
gzclose(dst);
|
||||
dst = NULL;
|
||||
#if LL_WINDOWS
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
const S32 LL_VERSION_MAJOR = 3;
|
||||
const S32 LL_VERSION_MINOR = 2;
|
||||
const S32 LL_VERSION_PATCH = 7;
|
||||
const S32 LL_VERSION_PATCH = 8;
|
||||
const S32 LL_VERSION_BUILD = 0;
|
||||
|
||||
const char * const LL_CHANNEL = "Firestorm-private";
|
||||
|
|
|
|||
|
|
@ -151,14 +151,20 @@ void LLToolBar::createContextMenu()
|
|||
if (menu)
|
||||
{
|
||||
menu->setBackgroundColor(LLUIColorTable::instance().getColor("MenuPopupBgColor"));
|
||||
|
||||
mPopupMenuHandle = menu->getHandle();
|
||||
mRemoveButtonHandle = menu->getChild<LLView>("Remove button")->getHandle();
|
||||
}
|
||||
else
|
||||
{
|
||||
llwarns << "Unable to load toolbars context menu." << llendl;
|
||||
}
|
||||
}
|
||||
|
||||
if (mRemoveButtonHandle.get())
|
||||
{
|
||||
// Disable/Enable the "Remove button" menu item depending on whether or not a button was clicked
|
||||
mRemoveButtonHandle.get()->setEnabled(mRightMouseTargetButton != NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void LLToolBar::initFromParams(const LLToolBar::Params& p)
|
||||
|
|
@ -401,6 +407,7 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask)
|
|||
{
|
||||
// Determine which button the mouse was over during the click in case the context menu action
|
||||
// is intended to affect the button.
|
||||
mRightMouseTargetButton = NULL;
|
||||
BOOST_FOREACH(LLToolBarButton* button, mButtons)
|
||||
{
|
||||
LLRect button_rect;
|
||||
|
|
|
|||
|
|
@ -271,6 +271,7 @@ private:
|
|||
LLLayoutStack* mCenteringStack;
|
||||
LLPanel* mButtonPanel;
|
||||
LLHandle<class LLContextMenu> mPopupMenuHandle;
|
||||
LLHandle<class LLView> mRemoveButtonHandle;
|
||||
|
||||
LLToolBarButton* mRightMouseTargetButton;
|
||||
|
||||
|
|
|
|||
|
|
@ -282,9 +282,6 @@ void LLView::moveChildToBackOfTabGroup(LLUICtrl* child)
|
|||
// virtual
|
||||
bool LLView::addChild(LLView* child, S32 tab_group)
|
||||
{
|
||||
// NOTE: Changed this to not crash in release mode
|
||||
llassert(mInDraw == false);
|
||||
|
||||
if (!child)
|
||||
{
|
||||
return false;
|
||||
|
|
@ -334,10 +331,11 @@ bool LLView::addChildInBack(LLView* child, S32 tab_group)
|
|||
// remove the specified child from the view, and set it's parent to NULL.
|
||||
void LLView::removeChild(LLView* child)
|
||||
{
|
||||
llassert_always(mInDraw == false);
|
||||
//llassert_always(sDepth == 0); // Avoid re-ordering while drawing; it can cause subtle iterator bugs
|
||||
if (child->mParentView == this)
|
||||
{
|
||||
// if we are removing an item we are currently iterating over, that would be bad
|
||||
llassert(child->mInDraw == false);
|
||||
mChildList.remove( child );
|
||||
child->mParentView = NULL;
|
||||
if (child->isCtrl())
|
||||
|
|
@ -1092,7 +1090,6 @@ void LLView::draw()
|
|||
|
||||
void LLView::drawChildren()
|
||||
{
|
||||
mInDraw = true;
|
||||
if (!mChildList.empty())
|
||||
{
|
||||
LLView* rootp = LLUI::getRootView();
|
||||
|
|
@ -1111,7 +1108,10 @@ void LLView::drawChildren()
|
|||
LLUI::pushMatrix();
|
||||
{
|
||||
LLUI::translate((F32)viewp->getRect().mLeft, (F32)viewp->getRect().mBottom, 0.f);
|
||||
// flag the fact we are in draw here, in case overridden draw() method attempts to remove this widget
|
||||
viewp->mInDraw = true;
|
||||
viewp->draw();
|
||||
viewp->mInDraw = false;
|
||||
|
||||
if (sDebugRects)
|
||||
{
|
||||
|
|
@ -1131,7 +1131,6 @@ void LLView::drawChildren()
|
|||
}
|
||||
--sDepth;
|
||||
}
|
||||
mInDraw = false;
|
||||
}
|
||||
|
||||
void LLView::dirtyRect()
|
||||
|
|
|
|||
|
|
@ -1084,6 +1084,37 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
// (EXP-1765) dump pixel data to see if there is a pattern that leads to unreproducible crash
|
||||
LL_INFOS("Window") << "--- begin pixel format dump ---" << llendl ;
|
||||
LL_INFOS("Window") << "pixel_format is " << pixel_format << llendl ;
|
||||
LL_INFOS("Window") << "pfd.nSize: " << pfd.nSize << llendl ;
|
||||
LL_INFOS("Window") << "pfd.nVersion: " << pfd.nVersion << llendl ;
|
||||
LL_INFOS("Window") << "pfd.dwFlags: 0x" << std::hex << pfd.dwFlags << std::dec << llendl ;
|
||||
LL_INFOS("Window") << "pfd.iPixelType: " << (int)pfd.iPixelType << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cColorBits: " << (int)pfd.cColorBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cRedBits: " << (int)pfd.cRedBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cRedShift: " << (int)pfd.cRedShift << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cGreenBits: " << (int)pfd.cGreenBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cGreenShift: " << (int)pfd.cGreenShift << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cBlueBits: " << (int)pfd.cBlueBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cBlueShift: " << (int)pfd.cBlueShift << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cAlphaBits: " << (int)pfd.cAlphaBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cAlphaShift: " << (int)pfd.cAlphaShift << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cAccumBits: " << (int)pfd.cAccumBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cAccumRedBits: " << (int)pfd.cAccumRedBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cAccumGreenBits: " << (int)pfd.cAccumGreenBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cAccumBlueBits: " << (int)pfd.cAccumBlueBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cAccumAlphaBits: " << (int)pfd.cAccumAlphaBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cDepthBits: " << (int)pfd.cDepthBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cStencilBits: " << (int)pfd.cStencilBits << llendl ;
|
||||
LL_INFOS("Window") << "pfd.cAuxBuffers: " << (int)pfd.cAuxBuffers << llendl ;
|
||||
LL_INFOS("Window") << "pfd.iLayerType: " << (int)pfd.iLayerType << llendl ;
|
||||
LL_INFOS("Window") << "pfd.bReserved: " << (int)pfd.bReserved << llendl ;
|
||||
LL_INFOS("Window") << "pfd.dwLayerMask: " << pfd.dwLayerMask << llendl ;
|
||||
LL_INFOS("Window") << "pfd.dwVisibleMask: " << pfd.dwVisibleMask << llendl ;
|
||||
LL_INFOS("Window") << "pfd.dwDamageMask: " << pfd.dwDamageMask << llendl ;
|
||||
LL_INFOS("Window") << "--- end pixel format dump ---" << llendl ;
|
||||
|
||||
if (pfd.cColorBits < 32)
|
||||
{
|
||||
close();
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@
|
|||
const S32 PREVIEW_BORDER_WIDTH = 2;
|
||||
const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH;
|
||||
const S32 PREVIEW_HPAD = PREVIEW_RESIZE_HANDLE_SIZE;
|
||||
const S32 PREVIEW_VPAD = -24; // yuk, hard coded
|
||||
const S32 PREF_BUTTON_HEIGHT = 16 + 7 + 16;
|
||||
const S32 PREVIEW_TEXTURE_HEIGHT = 320;
|
||||
|
||||
|
|
@ -101,7 +102,7 @@ BOOL LLFloaterImagePreview::postBuild()
|
|||
childSetCommitCallback("clothing_type_combo", onPreviewTypeCommit, this);
|
||||
|
||||
mPreviewRect.set(PREVIEW_HPAD,
|
||||
PREVIEW_TEXTURE_HEIGHT,
|
||||
PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD,
|
||||
getRect().getWidth() - PREVIEW_HPAD,
|
||||
PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
mPreviewImageRect.set(0.f, 1.f, 1.f, 0.f);
|
||||
|
|
@ -279,13 +280,13 @@ void LLFloaterImagePreview::draw()
|
|||
gGL.begin( LLRender::QUADS );
|
||||
{
|
||||
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mTop);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
|
||||
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mBottom);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mBottom);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mTop);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
|
||||
}
|
||||
gGL.end();
|
||||
|
||||
|
|
@ -311,13 +312,13 @@ void LLFloaterImagePreview::draw()
|
|||
gGL.begin( LLRender::QUADS );
|
||||
{
|
||||
gGL.texCoord2f(0.f, 1.f);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
|
||||
gGL.texCoord2f(0.f, 0.f);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
gGL.texCoord2f(1.f, 0.f);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
gGL.texCoord2f(1.f, 1.f);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
|
||||
}
|
||||
gGL.end();
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ class LLInventoryCollectFunctor;
|
|||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
class LLInventoryModel
|
||||
{
|
||||
LOG_CLASS(LLInventoryModel);
|
||||
public:
|
||||
friend class LLInventoryModelFetchDescendentsResponder;
|
||||
|
||||
|
|
|
|||
|
|
@ -1209,7 +1209,8 @@ void LLViewerWindow::handleMouseMove(LLWindow *window, LLCoordGL pos, MASK mask
|
|||
|
||||
mWindow->showCursorFromMouseMove();
|
||||
|
||||
if (gAwayTimer.getElapsedTimeF32() > LLAgent::MIN_AFK_TIME)
|
||||
if (gAwayTimer.getElapsedTimeF32() > LLAgent::MIN_AFK_TIME
|
||||
&& !gDisconnected)
|
||||
{
|
||||
gAgent.clearAFK();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@
|
|||
height="22"
|
||||
top_pad="15"
|
||||
width="505"
|
||||
name="header_panel"
|
||||
name="choose_file_header_panel"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
background_opaque="true"
|
||||
|
|
@ -117,7 +117,7 @@
|
|||
width="200"
|
||||
left="10"
|
||||
top="3"
|
||||
name="header_text"
|
||||
name="choose_file_header_text"
|
||||
text_color="White"
|
||||
height="10"
|
||||
font="SansSerifBig"
|
||||
|
|
@ -130,7 +130,7 @@
|
|||
left="15"
|
||||
height="310"
|
||||
width="505"
|
||||
name="content"
|
||||
name="choose_file_content"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
background_opaque="true">
|
||||
|
|
@ -287,7 +287,7 @@
|
|||
<panel
|
||||
height="22"
|
||||
top_pad="15"
|
||||
name="header_panel"
|
||||
name="optimize_header_panel"
|
||||
width="505"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
|
|
@ -296,7 +296,7 @@
|
|||
<text
|
||||
width="200"
|
||||
left="10"
|
||||
name="header_text"
|
||||
name="optimize_header_text"
|
||||
top="3"
|
||||
text_color="White"
|
||||
height="10"
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
height="20"
|
||||
font="SansSerifSmall"
|
||||
layout="topleft"
|
||||
name="description"
|
||||
name="optimize_description"
|
||||
word_wrap="true"
|
||||
left_delta="5">
|
||||
We have optimized the model for performance. Adjust it further if you wish.
|
||||
|
|
@ -322,7 +322,7 @@
|
|||
left="15"
|
||||
height="270"
|
||||
width="505"
|
||||
name="content"
|
||||
name="optimize_content"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
background_opaque="true">
|
||||
|
|
@ -497,7 +497,7 @@ Higher prim weight</text>
|
|||
<panel
|
||||
height="22"
|
||||
top_pad="15"
|
||||
name="header_panel"
|
||||
name="physics_header_panel"
|
||||
width="505"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
|
|
@ -506,7 +506,7 @@ Higher prim weight</text>
|
|||
<text
|
||||
width="200"
|
||||
left="10"
|
||||
name="header_text"
|
||||
name="physics_header_text"
|
||||
top="3"
|
||||
height="10"
|
||||
font="SansSerifBig"
|
||||
|
|
@ -521,7 +521,7 @@ Higher prim weight</text>
|
|||
height="50"
|
||||
font="SansSerifSmall"
|
||||
layout="topleft"
|
||||
name="description"
|
||||
name="physics_description"
|
||||
word_wrap="true"
|
||||
left_delta="5">
|
||||
We will create a shape for the outer hull of the model. Adjust the shape's detail level as needed for the intended purpose of your model.
|
||||
|
|
@ -531,7 +531,7 @@ Higher prim weight</text>
|
|||
left="15"
|
||||
height="270"
|
||||
width="505"
|
||||
name="content"
|
||||
name="physics_content"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
background_opaque="true">
|
||||
|
|
@ -635,7 +635,7 @@ Buildings</text>
|
|||
<panel
|
||||
height="22"
|
||||
top_pad="15"
|
||||
name="header_panel"
|
||||
name="review_header_panel"
|
||||
width="505"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
|
|
@ -644,7 +644,7 @@ Buildings</text>
|
|||
<text
|
||||
width="200"
|
||||
left="10"
|
||||
name="header_text"
|
||||
name="review_header_text"
|
||||
text_color="White"
|
||||
top="3"
|
||||
height="10"
|
||||
|
|
@ -658,7 +658,7 @@ Buildings</text>
|
|||
left="15"
|
||||
height="310"
|
||||
width="505"
|
||||
name="content"
|
||||
name="review_content"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
background_opaque="true">
|
||||
|
|
@ -706,7 +706,7 @@ Buildings</text>
|
|||
<panel
|
||||
height="22"
|
||||
top_pad="15"
|
||||
name="header_panel"
|
||||
name="upload_header_panel"
|
||||
width="505"
|
||||
bg_opaque_color="DkGray2"
|
||||
background_visible="true"
|
||||
|
|
@ -715,7 +715,7 @@ Buildings</text>
|
|||
<text
|
||||
width="200"
|
||||
left="10"
|
||||
name="header_text"
|
||||
name="upload_header_text"
|
||||
top="3"
|
||||
text_color="White"
|
||||
height="10"
|
||||
|
|
|
|||
Loading…
Reference in New Issue