diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/cmake/Boost.cmake | 6 | ||||
| -rw-r--r-- | indra/llui/llsearcheditor.cpp | 4 | ||||
| -rw-r--r-- | indra/llui/lltabcontainer.cpp | 2 | ||||
| -rw-r--r-- | indra/llwindow/llwindowsdl.cpp | 79 | ||||
| -rw-r--r-- | indra/newview/llbottomtray.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llpanelobjectinventory.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llpanelvolumepulldown.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llstartup.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llstatusbar.cpp | 28 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.h | 2 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/skins/default/textures/icons/Generic_Group.png | bin | 3354 -> 1523 bytes | |||
| -rw-r--r-- | indra/newview/skins/default/xui/de/menu_viewer.xml | 9 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_about_land.xml | 31 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_online_status_toast.xml | 35 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_outfits_inventory.xml | 2 | 
17 files changed, 176 insertions, 64 deletions
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index efe9ad74d3..3652508b6a 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -42,8 +42,8 @@ else (STANDALONE)      set(BOOST_REGEX_LIBRARY boost_regex-mt)      set(BOOST_SIGNALS_LIBRARY boost_signals-mt)    elseif (LINUX) -    set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt) -    set(BOOST_REGEX_LIBRARY boost_regex-mt) -    set(BOOST_SIGNALS_LIBRARY boost_signals-mt) +    set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-gcc41-mt) +    set(BOOST_REGEX_LIBRARY boost_regex-gcc41-mt) +    set(BOOST_SIGNALS_LIBRARY boost_signals-gcc41-mt)    endif (WINDOWS)  endif (STANDALONE) diff --git a/indra/llui/llsearcheditor.cpp b/indra/llui/llsearcheditor.cpp index e6c5e3f334..8075575bab 100644 --- a/indra/llui/llsearcheditor.cpp +++ b/indra/llui/llsearcheditor.cpp @@ -155,8 +155,8 @@ void LLSearchEditor::setFocus( BOOL b )  void LLSearchEditor::onClearButtonClick(const LLSD& data)  { -	mSearchEditor->selectAll(); -	mSearchEditor->doDelete(); // force keystroke callback +	setText(LLStringUtil::null); +	mSearchEditor->onCommit(); // force keystroke callback  }  void LLSearchEditor::handleKeystroke() diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index 9a715cca0b..07e4cc22e0 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -215,7 +215,7 @@ LLTabContainer::Params::Params()  	use_custom_icon_ctrl("use_custom_icon_ctrl", false),  	tab_icon_ctrl_pad("tab_icon_ctrl_pad", 0),  	use_ellipses("use_ellipses"), -	font_halign("font_halign") +	font_halign("halign")  {  	name(std::string("tab_container"));  	mouse_opaque = false; diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp index 7cd06c9c37..1f705f9e60 100644 --- a/indra/llwindow/llwindowsdl.cpp +++ b/indra/llwindow/llwindowsdl.cpp @@ -1597,12 +1597,83 @@ U32 LLWindowSDL::SDLCheckGrabbyKeys(SDLKey keysym, BOOL gain)  	return mGrabbyKeyFlags;  } + +void check_vm_bloat() +{ +#if LL_LINUX +	// watch our own VM and RSS sizes, warn if we bloated rapidly +	FILE *fp = fopen("/proc/self/stat", "r"); +	if (fp) +	{ +		static long long last_vm_size = 0; +		static long long last_rss_size = 0; +		const long long significant_vm_difference = 250 * 1024*1024; +		const long long significant_rss_difference = 50 * 1024*1024; + +		ssize_t res; +		size_t dummy; +		char *ptr; +		for (int i=0; i<22; ++i) // parse past the values we don't want +		{ +			ptr = NULL; +			res = getdelim(&ptr, &dummy, ' ', fp); +			free(ptr); +		} +		// 23rd space-delimited entry is vsize +		ptr = NULL; +		res = getdelim(&ptr, &dummy, ' ', fp); +		llassert(ptr); +		long long this_vm_size = atoll(ptr); +		free(ptr); +		// 24th space-delimited entry is RSS +		ptr = NULL; +		res = getdelim(&ptr, &dummy, ' ', fp); +		llassert(ptr); +		long long this_rss_size = getpagesize() * atoll(ptr); +		free(ptr); + +		llinfos << "VM SIZE IS NOW " << (this_vm_size/(1024*1024)) << " MB, RSS SIZE IS NOW " << (this_rss_size/(1024*1024)) << " MB" << llendl; + +		if (llabs(last_vm_size - this_vm_size) > +		    significant_vm_difference) +		{ +			if (this_vm_size > last_vm_size) +			{ +				llwarns << "VM size grew by " << (this_vm_size - last_vm_size)/(1024*1024) << " MB in last frame" << llendl; +			} +			else +			{ +				llinfos << "VM size shrank by " << (last_vm_size - this_vm_size)/(1024*1024) << " MB in last frame" << llendl; +			} +		} + +		if (llabs(last_rss_size - this_rss_size) > +		    significant_rss_difference) +		{ +			if (this_rss_size > last_rss_size) +			{ +				llwarns << "RSS size grew by " << (this_rss_size - last_rss_size)/(1024*1024) << " MB in last frame" << llendl; +			} +			else +			{ +				llinfos << "RSS size shrank by " << (last_rss_size - this_rss_size)/(1024*1024) << " MB in last frame" << llendl; +			} +		} + +		last_rss_size = this_rss_size; +		last_vm_size = this_vm_size; + +		fclose(fp); +	} +#endif // LL_LINUX +} + +  // virtual  void LLWindowSDL::processMiscNativeEvents()  {  #if LL_GTK  	// Pump GTK events to avoid starvation for: -	// * Embedded Gecko  	// * DBUS servicing  	// * Anything else which quietly hooks into the default glib/GTK loop      if (ll_try_gtk_init()) @@ -1628,6 +1699,12 @@ void LLWindowSDL::processMiscNativeEvents()  	    setlocale(LC_ALL, saved_locale.c_str() );      }  #endif // LL_GTK + +    // hack - doesn't belong here - but this is just for debugging +    if (getenv("LL_DEBUG_BLOAT")) +    { +	    check_vm_bloat(); +    }  }  void LLWindowSDL::gatherInput() diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 17313fc113..24b8ef3320 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -1017,7 +1017,7 @@ void LLBottomTray::processExtendButtons(S32* available_width)  		S32 panel_max_width = mObjectDefaultWidthMap[RS_BUTTON_SPEAK];  		S32 panel_width = mSpeakPanel->getRect().getWidth();  		S32 possible_extend_width = panel_max_width - panel_width; -		if (possible_extend_width > 0 && possible_extend_width <= *available_width) +		if (possible_extend_width >= 0 && possible_extend_width <= *available_width)  // HACK: this button doesn't change size so possible_extend_width will be 0  		{  			mSpeakBtn->setLabelVisible(true);  			mSpeakPanel->reshape(panel_max_width, mSpeakPanel->getRect().getHeight()); diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index d888f8d566..5ddbdf7f01 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -1583,10 +1583,16 @@ void LLPanelObjectInventory::reset()  	mFolders->getFilter()->setShowFolderState(LLInventoryFilter::SHOW_ALL_FOLDERS);  	mFolders->setCallbackRegistrar(&mCommitCallbackRegistrar); +	if (hasFocus()) +	{ +		LLEditMenuHandler::gEditMenuHandler = mFolders; +	} +  	LLRect scroller_rect(0, getRect().getHeight(), getRect().getWidth(), 0);  	LLScrollContainer::Params scroll_p;  	scroll_p.name("task inventory scroller");  	scroll_p.rect(scroller_rect); +	scroll_p.tab_stop(true);  	scroll_p.follows.flags(FOLLOWS_ALL);  	mScroller = LLUICtrlFactory::create<LLScrollContainer>(scroll_p);  	addChild(mScroller); diff --git a/indra/newview/llpanelvolumepulldown.cpp b/indra/newview/llpanelvolumepulldown.cpp index 247134ad63..559997254e 100644 --- a/indra/newview/llpanelvolumepulldown.cpp +++ b/indra/newview/llpanelvolumepulldown.cpp @@ -91,15 +91,10 @@ void LLPanelVolumePulldown::handleVisibilityChange ( BOOL new_visibility )  	if (new_visibility)	  	{  		mHoverTimer.start(); // timer will be stopped when mouse hovers over panel -		gFocusMgr.setTopCtrl(this);  	}  	else  	{  		mHoverTimer.stop(); -		if (gFocusMgr.getTopCtrl() == this) -		{ -			gFocusMgr.setTopCtrl(NULL); -		}  	}  } diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index fa07278cb9..83f773fadc 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -200,10 +200,6 @@  #include "lldxhardware.h"  #endif -#if (LL_LINUX || LL_SOLARIS) && LL_GTK -#include <glib/gspawn.h> -#endif -  //  // exported globals  // diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 923e1e42fb..e83c882866 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -239,25 +239,17 @@ BOOL LLStatusBar::postBuild()  	childSetActionTextbox("stat_btn", onClickStatGraph); +	LLView* popup_holder = gViewerWindow->getRootView()->getChildView("popup_holder"); +  	mPanelVolumePulldown = new LLPanelVolumePulldown(); -	addChild(mPanelVolumePulldown); +	popup_holder->addChild(mPanelVolumePulldown);  	mPanelNearByMedia = new LLPanelNearByMedia(); -	LLView* popup_holder = gViewerWindow->getRootView()->getChildView("popup_holder");  	popup_holder->addChild(mPanelNearByMedia);  	gViewerWindow->getRootView()->addMouseDownCallback(boost::bind(&LLStatusBar::onClickScreen, this, _1, _2));  	mPanelNearByMedia->setFollows(FOLLOWS_TOP|FOLLOWS_RIGHT);  	mPanelNearByMedia->setVisible(FALSE); -	LLRect volume_pulldown_rect = mPanelVolumePulldown->getRect(); -	LLButton* volbtn =  getChild<LLButton>( "volume_btn" ); -	volume_pulldown_rect.setLeftTopAndSize(volbtn->getRect().mLeft - -	     (volume_pulldown_rect.getWidth() - volbtn->getRect().getWidth())/2, -			       volbtn->calcScreenRect().mBottom, -			       volume_pulldown_rect.getWidth(), -			       volume_pulldown_rect.getHeight()); - -	mPanelVolumePulldown->setShape(volume_pulldown_rect);  	mPanelVolumePulldown->setFollows(FOLLOWS_TOP|FOLLOWS_RIGHT);  	mPanelVolumePulldown->setVisible(FALSE); @@ -531,8 +523,21 @@ static void onClickScriptDebug(void*)  void LLStatusBar::onMouseEnterVolume()  { +	LLButton* volbtn =  getChild<LLButton>( "volume_btn" ); +	LLRect vol_btn_screen_rect = volbtn->calcScreenRect(); +	LLRect volume_pulldown_rect = mPanelVolumePulldown->getRect(); +	volume_pulldown_rect.setLeftTopAndSize(vol_btn_screen_rect.mLeft - +	     (volume_pulldown_rect.getWidth() - vol_btn_screen_rect.getWidth())/2, +			       vol_btn_screen_rect.mBottom, +			       volume_pulldown_rect.getWidth(), +			       volume_pulldown_rect.getHeight()); + +	mPanelVolumePulldown->setShape(volume_pulldown_rect); + +  	// show the master volume pull-down  	mPanelVolumePulldown->setVisible(TRUE); +	mPanelNearByMedia->setVisible(FALSE);  }  void LLStatusBar::onMouseEnterNearbyMedia() @@ -552,6 +557,7 @@ void LLStatusBar::onMouseEnterNearbyMedia()  	// show the master volume pull-down  	mPanelNearByMedia->setShape(nearby_media_rect);  	mPanelNearByMedia->setVisible(TRUE); +	mPanelVolumePulldown->setVisible(FALSE);  } diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 28998d409e..6add8a7e92 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -293,6 +293,8 @@ void LLViewerTextureManager::init()  		}  	}  	imagep->createGLTexture(0, image_raw); +	//cache the raw image +	imagep->setCachedRawImage(0, image_raw) ;  	image_raw = NULL;  #else   	LLViewerFetchedTexture::sDefaultImagep = LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT, TRUE, LLViewerTexture::BOOST_UI); @@ -799,12 +801,18 @@ BOOL LLViewerTexture::createGLTexture(S32 discard_level, const LLImageRaw* image  	{  		mFullWidth = mGLTexturep->getCurrentWidth() ;  		mFullHeight = mGLTexturep->getCurrentHeight() ;  -		mComponents = mGLTexturep->getComponents() ; +		mComponents = mGLTexturep->getComponents() ;		  	}  	return ret ;  } +//virtual +void LLViewerTexture::setCachedRawImage(S32 discard_level, LLImageRaw* imageraw) +{ +	//nothing here. +} +  void LLViewerTexture::setExplicitFormat(LLGLint internal_format, LLGLenum primary_format, LLGLenum type_format, BOOL swap_bytes)  {  	llassert(mGLTexturep.notNull()) ; @@ -2354,6 +2362,18 @@ void LLViewerFetchedTexture::switchToCachedImage()  	}  } +//cache the imageraw forcefully. +//virtual  +void LLViewerFetchedTexture::setCachedRawImage(S32 discard_level, LLImageRaw* imageraw)  +{ +	if(imageraw != mRawImage.get()) +	{ +		mCachedRawImage = imageraw ; +		mCachedRawDiscardLevel = discard_level ; +		mCachedRawImageReady = TRUE ; +	} +} +  void LLViewerFetchedTexture::setCachedRawImage()  {	  	if(mRawImage == mCachedRawImage) diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index 85f03b5839..79db754072 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -198,6 +198,7 @@ public:  	LLGLuint   getTexName() const ;		  	BOOL       createGLTexture() ;  	BOOL       createGLTexture(S32 discard_level, const LLImageRaw* imageraw, S32 usename = 0, BOOL to_create = TRUE, S32 category = LLViewerTexture::OTHER); +	virtual void setCachedRawImage(S32 discard_level, LLImageRaw* imageraw) ;  	void       setFilteringOption(LLTexUnit::eTextureFilterOptions option);  	void       setExplicitFormat(LLGLint internal_format, LLGLenum primary_format, LLGLenum type_format = 0, BOOL swap_bytes = FALSE); @@ -423,6 +424,7 @@ public:  	LLImageRaw* reloadRawImage(S8 discard_level) ;  	void destroyRawImage(); +	/*virtual*/ void setCachedRawImage(S32 discard_level, LLImageRaw* imageraw) ;  	const std::string& getUrl() const {return mUrl;}  	//--------------- diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 9fbcd1d32a..14bedaa49c 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -1009,6 +1009,8 @@ void LLVOVolume::sculpt()  		if(!raw_image)  		{ +			llassert(discard_level < 0) ; +  			sculpt_width = 0;  			sculpt_height = 0;  			sculpt_data = NULL ; @@ -1040,7 +1042,6 @@ void LLVOVolume::sculpt()  			if (volume != this && volume->getVolume() == getVolume())  			{  				gPipeline.markRebuild(volume->mDrawable, LLDrawable::REBUILD_GEOMETRY, FALSE); -				volume->mSculptChanged = TRUE;  			}  		}  	} diff --git a/indra/newview/skins/default/textures/icons/Generic_Group.png b/indra/newview/skins/default/textures/icons/Generic_Group.png Binary files differindex fdd65b49e1..9d76f75d0f 100644 --- a/indra/newview/skins/default/textures/icons/Generic_Group.png +++ b/indra/newview/skins/default/textures/icons/Generic_Group.png diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index d5bc24149a..a04532376c 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -9,8 +9,8 @@  		<menu_item_call label="Mein Profil" name="Profile"/>  		<menu_item_call label="Mein Aussehen" name="Appearance"/>  		<menu_item_check label="Mein Inventar" name="Inventory"/> -		<menu_item_call label="Mein Inventar" name="ShowSidetrayInventory"/> -		<menu_item_call label="Meine Gesten" name="Gestures"/> +		<menu_item_check label="Mein Inventar" name="ShowSidetrayInventory"/> +		<menu_item_check label="Meine Gesten" name="Gestures"/>  		<menu label="Mein Status" name="Status">  			<menu_item_call label="Abwesend" name="Set Away"/>  			<menu_item_call label="Beschäftigt" name="Set Busy"/> @@ -24,7 +24,6 @@  		<menu_item_call label="Meine Gruppen" name="My Groups"/>  		<menu_item_check label="Chat in der Nähe" name="Nearby Chat"/>  		<menu_item_call label="Leute in der Nähe" name="Active Speakers"/> -		<menu_item_check label="Medien in der Nähe" name="Nearby Media"/>  	</menu>  	<menu label="Welt" name="World">  		<menu_item_check label="Minikarte" name="Mini-Map"/> @@ -40,6 +39,10 @@  		<menu label="Anzeigen" name="LandShow">  			<menu_item_check label="Bewegungssteuerung" name="Movement Controls"/>  			<menu_item_check label="Ansichtsteuerung" name="Camera Controls"/> +			<menu_item_check label="Bannlinien" name="Ban Lines"/> +			<menu_item_check label="Strahlen" name="beacons"/> +			<menu_item_check label="Grundstücksgrenzen" name="Property Lines"/> +			<menu_item_check label="Landeigentümer" name="Land Owners"/>  		</menu>  		<menu_item_call label="Teleport nach Hause" name="Teleport Home"/>  		<menu_item_call label="Hier als Zuhause wählen" name="Set Home to Here"/> diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 593bbe4b5e..58ea7cec9c 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1609,41 +1609,12 @@ Only large parcels can be listed in search.               name="set_media_url"               width="50"               top_delta="0"/> -            <text -             type="string" -             length="1" -             follows="left|top" -             height="20" -             layout="topleft" -             left="10" -             name="CurrentURL:" -             width="100" -             top_pad="10"> -                Current Page: -            </text> -            <button -             follows="top|right" -             height="23" -             image_overlay="Refresh_Off" -             layout="topleft" -             name="reset_media_url" -             left_pad="0" -             tool_tip="Refresh URL" -             width="23" -             top_delta="0"/> -            <text -             follows="left|top" -             height="16" -             layout="topleft" -             left_pad="10" -             name="current_url" -             width="300" />              <check_box               follows="top|left"               height="16"               label="Hide URL"               layout="topleft" -             left_delta="-36" +             left="110"               name="hide_media_url"               tool_tip="Checking this option will hide the media url to any non-authorized viewers of this parcel information. Note this is not available for HTML types."               width="50" diff --git a/indra/newview/skins/default/xui/en/panel_online_status_toast.xml b/indra/newview/skins/default/xui/en/panel_online_status_toast.xml new file mode 100644 index 0000000000..14cb5fffee --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_online_status_toast.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel + background_visible="false" + height="152" + label="friend_online_status" + layout="topleft" + left="0" + name="friend_online_status" + top="0" + width="305"> +    <avatar_icon +	 follows="top|left" +	 height="18" +	 image_name="Generic_Person" +	 layout="topleft" +	 left="3" +	 mouse_opaque="false" +	 name="avatar_icon" +	 top="10" +	 width="18" /> +    <text +     font="SansSerifSmall" +     follows="all" +     height="137" +     layout="topleft" +     left_pad="5" +     name="message" +     text_color="white" +     top="15" +     use_ellipses="true" +     value="" +     width="285" +     word_wrap="true" +     max_length="350" /> +</panel>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml index 86eaa79587..cc60b97f92 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml @@ -64,7 +64,7 @@  	<panel  	  background_visible="false"  	  follows="bottom|left" -	  height="50" +	  height="73"  	  layout="topleft"  	  left="9"  	  visible="true"  | 
