diff options
| author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-06-22 11:11:58 +0100 | 
|---|---|---|
| committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-06-22 11:11:58 +0100 | 
| commit | 81597463beb01fccd3e4bf9d7dea6bcdcd095115 (patch) | |
| tree | 5e461793c9d68f835265311a3e251afdd968487e | |
| parent | b04ca1b069108292d79f47b5ce855028bb5394e0 (diff) | |
| parent | 7295e1ee034b3163b2f1c9f4aa11695beb7db8b0 (diff) | |
hairy merge of glib restoration
| -rw-r--r-- | indra/media_plugins/webkit/CMakeLists.txt | 10 | ||||
| -rw-r--r-- | indra/media_plugins/webkit/media_plugin_webkit.cpp | 15 | 
2 files changed, 20 insertions, 5 deletions
| diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt index 1a559ed39c..d576638dd7 100644 --- a/indra/media_plugins/webkit/CMakeLists.txt +++ b/indra/media_plugins/webkit/CMakeLists.txt @@ -50,8 +50,10 @@ set(media_plugin_webkit_LINK_LIBRARIES  )  # Select which VolumeCatcher implementation to use -if (LINUX AND PULSEAUDIO) -  list(APPEND media_plugin_webkit_SOURCE_FILES linux_volume_catcher.cpp) +if (LINUX) +  if (PULSEAUDIO) +    list(APPEND media_plugin_webkit_SOURCE_FILES linux_volume_catcher.cpp) +  endif (PULSEAUDIO)    list(APPEND media_plugin_webkit_LINK_LIBRARIES         ${UI_LIBRARIES}     # for glib/GTK         ) @@ -65,10 +67,10 @@ elseif (DARWIN)         )  elseif (WINDOWS)    list(APPEND media_plugin_webkit_SOURCE_FILES windows_volume_catcher.cpp) -else (LINUX AND PULSEAUDIO) +else (LINUX)    # All other platforms use the dummy volume catcher for now.    list(APPEND media_plugin_webkit_SOURCE_FILES dummy_volume_catcher.cpp) -endif (LINUX AND PULSEAUDIO) +endif (LINUX)  set_source_files_properties(${media_plugin_webkit_HEADER_FILES}                              PROPERTIES HEADER_FILE_ONLY TRUE) diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp index 6990354486..a9ff7bf752 100644 --- a/indra/media_plugins/webkit/media_plugin_webkit.cpp +++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp @@ -46,6 +46,9 @@  // set to 1 if you're using the version of llqtwebkit that's QPixmap-ified  #if LL_LINUX  # define LL_QTWEBKIT_USES_PIXMAPS 0 +extern "C" { +# include <glib.h> +}  #else  # define LL_QTWEBKIT_USES_PIXMAPS 0  #endif // LL_LINUX @@ -60,7 +63,7 @@  #endif  #if LL_WINDOWS -	// *NOTE:Mani - This captures the module handle fo rthe dll. This is used below +	// *NOTE:Mani - This captures the module handle for the dll. This is used below  	// to get the path to this dll for webkit initialization.  	// I don't know how/if this can be done with apr...  	namespace {	HMODULE gModuleHandle;}; @@ -129,6 +132,16 @@ private:  	//  	void update(int milliseconds)  	{ +#if LL_LINUX +		// pump glib generously, as Linux browser plugins are on the +		// glib main loop, even if the browser itself isn't - ugh +		//*TODO: shouldn't this be transparent if Qt was compiled with +		// glib mainloop integration?  investigate. +		GMainContext *mainc = g_main_context_default(); +		while(g_main_context_iteration(mainc, FALSE)); +#endif // LL_LINUX + +		// pump qt  		LLQtWebKit::getInstance()->pump( milliseconds );  		mVolumeCatcher.pump(); | 
