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 /indra/media_plugins | |
parent | b04ca1b069108292d79f47b5ce855028bb5394e0 (diff) | |
parent | 7295e1ee034b3163b2f1c9f4aa11695beb7db8b0 (diff) |
hairy merge of glib restoration
Diffstat (limited to 'indra/media_plugins')
-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(); |