Changeset 118949 in webkit
- Timestamp:
- May 30, 2012 12:08:22 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r118947 r118949 1 2012-05-30 Daniel Drake <dsd@laptop.org> 2 3 Check for GTK2/GTK3 symbol mismatch earlier 4 https://bugs.webkit.org/show_bug.cgi?id=87687 5 6 Reviewed by Martin Robinson. 7 8 No new tests. Regressions in core behavior are covered by existing 9 plugin tests and the fix deals with particular aspects of the system 10 environment that are difficult to test. 11 12 Detect plugins that would mix GTK+ symbols earlier, so that the 13 WebKit can skip them and choose a more appropriate plugin module. 14 15 * plugins/gtk/PluginPackageGtk.cpp: Move this code from PluginViewGtk. 16 (WebCore::moduleMixesGtkSymbols): 17 (WebCore::PluginPackage::load): 18 * plugins/gtk/PluginViewGtk.cpp: Move this code to PluginPackageGtk. 19 (WebCore::PluginView::platformStart): 20 1 21 2012-05-30 Allan Sandfeld Jensen <allan.jensen@nokia.com> 2 22 -
trunk/Source/WebCore/plugins/gtk/PluginPackageGtk.cpp
r108281 r118949 120 120 #endif 121 121 122 static bool moduleMixesGtkSymbols(GModule* module) 123 { 124 void* symbol; 125 #ifdef GTK_API_VERSION_2 126 return g_module_symbol(module, "gtk_application_get_type", &symbol); 127 #else 128 return g_module_symbol(module, "gtk_object_get_type", &symbol); 129 #endif 130 } 131 122 132 bool PluginPackage::load() 123 133 { … … 151 161 } 152 162 163 if (moduleMixesGtkSymbols(m_module)) { 164 LOG(Plugins, "Ignoring module '%s' to avoid mixing GTK+ 2 and GTK+ 3 symbols.\n", m_path.utf8().data()); 165 return false; 166 } 167 153 168 m_isLoaded = true; 154 169 -
trunk/Source/WebCore/plugins/gtk/PluginViewGtk.cpp
r113990 r118949 835 835 } 836 836 837 static bool moduleMixesGtkSymbols(GModule* module)838 {839 gpointer symbol;840 #ifdef GTK_API_VERSION_2841 return g_module_symbol(module, "gtk_application_get_type", &symbol);842 #else843 return g_module_symbol(module, "gtk_object_get_type", &symbol);844 #endif845 }846 847 837 bool PluginView::platformStart() 848 838 { 849 839 ASSERT(m_isStarted); 850 840 ASSERT(m_status == PluginStatusLoadedSuccessfully); 851 852 if (moduleMixesGtkSymbols(m_plugin->module())) {853 LOG(Plugins, "Module '%s' mixes GTK+ 2 and GTK+ 3 symbols, ignoring plugin.\n", m_plugin->path().utf8().data());854 return false;855 }856 841 857 842 #if defined(XP_UNIX)
Note: See TracChangeset
for help on using the changeset viewer.