diff options
| -rw-r--r-- | indra/llcommon/lleventdispatcher.h | 3 | ||||
| -rw-r--r-- | indra/llui/llnotificationslistener.cpp | 18 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 22 | ||||
| -rw-r--r-- | indra/newview/gpu_table.txt | 2 | ||||
| -rw-r--r-- | indra/newview/llworldmapview.cpp | 10 | 
5 files changed, 41 insertions, 14 deletions
diff --git a/indra/llcommon/lleventdispatcher.h b/indra/llcommon/lleventdispatcher.h index c8c4fe0c3c..1e625bcee8 100644 --- a/indra/llcommon/lleventdispatcher.h +++ b/indra/llcommon/lleventdispatcher.h @@ -139,6 +139,9 @@ public:      /// Get information about a specific Callable      LLSD getMetadata(const std::string& name) const; +    /// Retrieve the LLSD key we use for one-arg <tt>operator()</tt> method +    std::string getDispatchKey() const { return mKey; } +  private:      template <class CLASS, typename METHOD>      void addMethod(const std::string& name, const std::string& desc, diff --git a/indra/llui/llnotificationslistener.cpp b/indra/llui/llnotificationslistener.cpp index 629964c322..ee6ec0f88f 100644 --- a/indra/llui/llnotificationslistener.cpp +++ b/indra/llui/llnotificationslistener.cpp @@ -188,9 +188,10 @@ public:          LLNotificationChannelPtr channelptr(llnotifications.getChannel(channel));          if (channelptr)          { -            // Try connecting at the front of the 'changed' signal. That way -            // we shouldn't get starved by preceding listeners. -            channelptr->connectAtFrontChanged(boost::bind(&Forwarder::handle, this, _1)); +            // Insert our processing as a "passed filter" listener. This way +            // we get to run before all the "changed" listeners, and we get to +            // swipe it (hide it from the other listeners) if desired. +            channelptr->connectPassedFilter(boost::bind(&Forwarder::handle, this, _1));          }      } @@ -251,6 +252,7 @@ bool LLNotificationsListener::Forwarder::handle(const LLSD& notification) const      if (notification["sigtype"].asString() == "delete")      {          LL_INFOS("LLNotificationsListener") << "ignoring delete" << LL_ENDL; +        // let other listeners see the "delete" operation          return false;      }      LLNotificationPtr note(mNotifications.find(notification["id"])); @@ -262,6 +264,8 @@ bool LLNotificationsListener::Forwarder::handle(const LLSD& notification) const      if (! matchType(mTypes, note->getType()))      {          LL_INFOS("LLNotificationsListener") << "didn't match types " << mTypes << LL_ENDL; +        // We're not supposed to intercept this particular notification. Let +        // other listeners process it.          return false;      }      LL_INFOS("LLNotificationsListener") << "sending via '" << mPumpName << "'" << LL_ENDL; @@ -282,7 +286,11 @@ bool LLNotificationsListener::Forwarder::handle(const LLSD& notification) const              mNotifications.cancel(note);          }      } -    return false;                   // let other listeners get same notification +    // If we've auto-responded to this notification, then it's going to be +    // deleted. Other listeners would get the change operation, try to look it +    // up and be baffled by lookup failure. So when we auto-respond, suppress +    // this notification: don't pass it to other listeners. +    return mRespond;  }  bool LLNotificationsListener::Forwarder::matchType(const LLSD& filter, const std::string& type) const @@ -314,7 +322,7 @@ bool LLNotificationsListener::Forwarder::matchType(const LLSD& filter, const std  LLSD LLNotificationsListener::asLLSD(LLNotificationPtr note)  {      LLSD notificationInfo(note->asLLSD()); -    // For some reason the following aren't included in asLLSD(). +    // For some reason the following aren't included in LLNotification::asLLSD().      notificationInfo["summary"] = note->summarize();      notificationInfo["id"]      = note->id();      notificationInfo["type"]    = note->getType(); diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index f3d399c616..7d8e9268e5 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1397,12 +1397,29 @@ if (WINDOWS)      # be met. I'm looking forward to a source-code split-up project next year that will address this kind of thing.      # In the meantime, if you have any ideas on how to easily maintain one list, either here or in viewer_manifest.py      # and have the build deps get tracked *please* tell me about it. + +    if(LLKDU_LIBRARY) +      # Configure a var for llkdu which may not exist for all builds. +      set(LLKDU_DLL_SOURCE ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/llkdu.dll) +    endif(LLKDU_LIBRARY) + +    if(USE_GOOGLE_PERFTOOLS) +      # Configure a var for tcmalloc location, if used. +      # Note the need to specify multiple names explicitly. +      set(GOOGLE_PERF_TOOLS_SOURCE +        ${SHARED_LIB_STAGING_DIR}/Release/libtcmalloc_minimal.dll +	${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libtcmalloc_minimal.dll +	${SHARED_LIB_STAGING_DIR}/Debug/libtcmalloc_minimal-debug.dll +	) +    endif(USE_GOOGLE_PERFTOOLS) +	   +      set(COPY_INPUT_DEPENDECIES        # The following commented dependencies are determined at variably at build time. Can't do this here. -      #llkdu.dll => llkdu.dll        #${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libtcmalloc_minimal.dll => None ... Skipping libtcmalloc_minimal.dll        ${CMAKE_SOURCE_DIR}/../etc/message.xml        ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg +      ${LLKDU_DLL_SOURCE}        ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/llcommon.dll        ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapr-1.dll        ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libaprutil-1.dll @@ -1426,6 +1443,7 @@ if (WINDOWS)        ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/zlib1.dll        ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxplatform.dll        ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxoal.dll +      ${GOOGLE_PERF_TOOLS_SOURCE}        ${CMAKE_CURRENT_SOURCE_DIR}/licenses-win32.txt        ${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt        ${CMAKE_CURRENT_SOURCE_DIR}/dbghelp.dll @@ -1501,7 +1519,7 @@ if (WINDOWS)      if(LLKDU_LIBRARY)        # kdu may not exist! -      add_dependencies(${VIEWER_BINARY_NAME} llkdu) +      add_dependencies(copy_w_viewer_manifest llkdu)      endif(LLKDU_LIBRARY)      if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts) diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt index 5c5c4e5b3c..cc8f6780e3 100644 --- a/indra/newview/gpu_table.txt +++ b/indra/newview/gpu_table.txt @@ -157,7 +157,7 @@ Intel Bear Lake					.*Intel.*Bear Lake.*				0		0  Intel Broadwater 				.*Intel.*Broadwater.*				0		0  Intel Brookdale					.*Intel.*Brookdale.*				0		0  Intel Cantiga					.*Intel.*Cantiga.*					0		0 -Intel Eaglelake					.*Intel.*Eaglelake.*				0		0 +Intel Eaglelake					.*Intel.*Eaglelake.*				0		1  Intel Montara					.*Intel.*Montara.*					0		0  Intel Springdale				.*Intel.*Springdale.*				0		0  Matrox							.*Matrox.*							0		0 diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index e6857ea780..1940d65ae4 100644 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -334,7 +334,6 @@ void LLWorldMapView::draw()  	gGL.setAlphaRejectSettings(LLRender::CF_DEFAULT);  	gGL.setColorMask(true, true); -#if 1  	// Draw the image tiles  	drawMipmap(width, height);  	gGL.flush(); @@ -452,7 +451,7 @@ void LLWorldMapView::draw()  		// Draw the region name in the lower left corner  		if (sMapScale >= DRAW_TEXT_THRESHOLD)  		{ -			LLFontGL* font = LLFontGL::getFontSansSerifSmall(); +			LLFontGL* font = LLFontGL::getFont(LLFontDescriptor("SansSerif", "Small", LLFontGL::BOLD));  			std::string mesg;  			if (info->isDown())  			{ @@ -468,14 +467,13 @@ void LLWorldMapView::draw()  					mesg, 0,  					llfloor(left + 3), llfloor(bottom + 2),  					LLColor4::white, -					LLFontGL::LEFT, LLFontGL::BASELINE, LLFontGL::DROP_SHADOW); +					LLFontGL::LEFT, LLFontGL::BASELINE, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW);  			}  		}  	} -	#endif -	#if 1 +  	// Draw background rectangle  	LLGLSUIDefault gls_ui;  	{ @@ -566,7 +564,7 @@ void LLWorldMapView::draw()  			drawTracking( LLWorldMap::getInstance()->getTrackedPositionGlobal(), loading_color, TRUE, getString("Loading"), "");  		}  	} -	#endif +  	// turn off the scissor  	LLGLDisable no_scissor(GL_SCISSOR_TEST);  | 
