summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/cmake/Boost.cmake6
-rw-r--r--indra/llui/llsearcheditor.cpp4
-rw-r--r--indra/llui/lltabcontainer.cpp2
-rw-r--r--indra/llwindow/llwindowsdl.cpp79
-rw-r--r--indra/newview/llbottomtray.cpp2
-rw-r--r--indra/newview/llpanelobjectinventory.cpp6
-rw-r--r--indra/newview/llpanelvolumepulldown.cpp5
-rw-r--r--indra/newview/llstatusbar.cpp28
-rw-r--r--indra/newview/llviewertexture.cpp22
-rw-r--r--indra/newview/llviewertexture.h2
-rw-r--r--indra/newview/llvovolume.cpp3
-rw-r--r--indra/newview/skins/default/textures/icons/Generic_Group.pngbin3354 -> 1523 bytes
-rw-r--r--indra/newview/skins/default/xui/de/menu_viewer.xml9
-rw-r--r--indra/newview/skins/default/xui/en/floater_about_land.xml31
-rw-r--r--indra/newview/skins/default/xui/en/panel_online_status_toast.xml35
-rw-r--r--indra/newview/skins/default/xui/en/panel_outfits_inventory.xml2
-rw-r--r--install.xml16
17 files changed, 184 insertions, 68 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/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
index fdd65b49e1..9d76f75d0f 100644
--- a/indra/newview/skins/default/textures/icons/Generic_Group.png
+++ b/indra/newview/skins/default/textures/icons/Generic_Group.png
Binary files differ
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"
diff --git a/install.xml b/install.xml
index 2461ac8786..4c377a9f3e 100644
--- a/install.xml
+++ b/install.xml
@@ -193,16 +193,16 @@
<key>darwin</key>
<map>
<key>md5sum</key>
- <string>84821102cb819257a66c8f38732647fc</string>
+ <string>5ff1e212bb9bcde21cb174228e2437f6</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-darwin-20100119.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-darwin-20100219.tar.bz2</uri>
</map>
<key>linux</key>
<map>
<key>md5sum</key>
- <string>ee8e1b4bbcf137a84d6a85a1c51386ff</string>
+ <string>9d4cbaac12d0068b3bb8ee73fcfbe9d7</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-linux-20100119.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-linux-20100219.tar.bz2</uri>
</map>
<key>linux64</key>
<map>
@@ -214,9 +214,9 @@
<key>windows</key>
<map>
<key>md5sum</key>
- <string>acbf7a4165a917a4e087879d1756b355</string>
+ <string>94fd43f534e2055858d524086384907d</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-windows-20100119.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-windows-20100219.tar.bz2</uri>
</map>
</map>
</map>
@@ -436,9 +436,9 @@
<key>linux</key>
<map>
<key>md5sum</key>
- <string>978ad7c67fe4a2419bfc841e2956ff9f</string>
+ <string>9de3f44be65645c7f6af236139596942</string>
<key>url</key>
- <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.3.9-linux-20090521c.tar.bz2</uri>
+ <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.3.9-linux-2010-02-19a-nommap.tar.bz2</uri>
</map>
<key>linux64</key>
<map>