summaryrefslogtreecommitdiffstats
path: root/chrome/plugin
diff options
context:
space:
mode:
authorevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-25 01:50:52 +0000
committerevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-25 01:50:52 +0000
commit7dc21e5c1d739c3c263abaf86b953a4d022ba538 (patch)
treef76c1cb65c1a6d508236d2aa1d173f5478adebec /chrome/plugin
parent4c3030ff6a6e15798d7d52a40e52de7d86db4057 (diff)
downloadchromium_src-7dc21e5c1d739c3c263abaf86b953a4d022ba538.zip
chromium_src-7dc21e5c1d739c3c263abaf86b953a4d022ba538.tar.gz
chromium_src-7dc21e5c1d739c3c263abaf86b953a4d022ba538.tar.bz2
linux: call g_thread_init() at relevant startup points
According to glib docs, we need to do this if it's at all possible for us to hit glib on multiple threads. This may be happening when we grab plugin metadata from the file thread. Rather than explicitly depending on gthread all over the place, just put it in with the GTK dep (since anywhere we're using GTK we ought to init gthread). (Note that this is *not* initializing the GDK locking system.) BUG=18957 Review URL: http://codereview.chromium.org/174264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24207 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin')
-rw-r--r--chrome/plugin/plugin_thread.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/chrome/plugin/plugin_thread.cc b/chrome/plugin/plugin_thread.cc
index ae90e1a..307cbaa 100644
--- a/chrome/plugin/plugin_thread.cc
+++ b/chrome/plugin/plugin_thread.cc
@@ -35,6 +35,7 @@ PluginThread::PluginThread()
{
// XEmbed plugins assume they are hosted in a Gtk application, so we need
// to initialize Gtk in the plugin process.
+ g_thread_init(NULL);
const std::vector<std::string>& args =
CommandLine::ForCurrentProcess()->argv();
int argc = args.size();