| Index: chrome/app/chrome_dll_main.cc
|
| ===================================================================
|
| --- chrome/app/chrome_dll_main.cc (revision 13925)
|
| +++ chrome/app/chrome_dll_main.cc (working copy)
|
| @@ -20,8 +20,10 @@
|
| #endif
|
|
|
| #if defined(OS_LINUX)
|
| +#include <gdk/gdk.h>
|
| +#include <glib.h>
|
| +#include <gtk/gtk.h>
|
| #include <string.h>
|
| -#include <gtk/gtk.h>
|
| #endif
|
|
|
| #include "base/at_exit.h"
|
| @@ -423,6 +425,15 @@
|
| #endif
|
| } else if (process_type.empty()) {
|
| #if defined(OS_LINUX)
|
| + // Glib/GDK type system and threading initializations. Needed at
|
| + // least for gconf usage in net/proxy/proxy_config_service_linux.cc.
|
| + // TODO(sdoyon): confirm whether gconf truly needs this. If so,
|
| + // the GTK main loop (message pump) must also be made to call
|
| + // gdk_threads_enter/leave(). Similar issue with the clipboard
|
| + // (estade@ deanm@).
|
| + g_type_init();
|
| + g_thread_init(NULL);
|
| + gdk_threads_init();
|
| // gtk_init() can change |argc| and |argv|, but nobody else uses them.
|
| gtk_init(&argc, const_cast<char***>(&argv));
|
| SetUpGLibLogHandler();
|
|
|