]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkmodules.c
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkmodules.c
index cdd85db5e19f1a46e5200c7c43ef60a0799d7b0a..5a15925993be61c7849cf524090b0515b43c4174 100644 (file)
@@ -13,9 +13,7 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "config.h"
 #include <string.h>
 
 #include "gtkmodules.h"
-#include "gtkmodulesprivate.h"
 #include "gtksettings.h"
 #include "gtkdebug.h"
 #include "gtkprivate.h"
-#include "gtkmainprivate.h"
+#include "gtkmodulesprivate.h"
 #include "gtkintl.h"
 
 #include <gmodule.h>
@@ -56,8 +53,6 @@ get_module_path (void)
 {
   const gchar *module_path_env;
   const gchar *exe_prefix;
-  const gchar *home_dir;
-  gchar *home_gtk_dir = NULL;
   gchar *module_path;
   gchar *default_dir;
   static gchar **result = NULL;
@@ -65,10 +60,6 @@ get_module_path (void)
   if (result)
     return result;
 
-  home_dir = g_get_home_dir();
-  if (home_dir)
-    home_gtk_dir = g_build_filename (home_dir, ".gtk-3.0", NULL);
-
   module_path_env = g_getenv ("GTK_PATH");
   exe_prefix = g_getenv ("GTK_EXE_PREFIX");
 
@@ -77,20 +68,13 @@ get_module_path (void)
   else
     default_dir = g_build_filename (_gtk_get_libdir (), "gtk-3.0", NULL);
 
-  if (module_path_env && home_gtk_dir)
-    module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
-                               module_path_env, home_gtk_dir, default_dir, NULL);
-  else if (module_path_env)
+  if (module_path_env)
     module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
                                module_path_env, default_dir, NULL);
-  else if (home_gtk_dir)
-    module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
-                               home_gtk_dir, default_dir, NULL);
   else
     module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
                                default_dir, NULL);
 
-  g_free (home_gtk_dir);
   g_free (default_dir);
 
   result = pango_split_file_list (module_path);
@@ -263,10 +247,11 @@ static gboolean
 module_is_blacklisted (const gchar *name,
                        gboolean     verbose)
 {
-  if (g_str_equal (name, "gail"))
+  if (g_str_equal (name, "gail") ||
+      g_str_equal (name, "atk-bridge"))
     {
       if (verbose)
-        g_message ("Not loading module \"gail\": The functionality is provided by GTK natively. Please try to not load it.");
+        g_message ("Not loading module \"%s\": The functionality is provided by GTK natively. Please try to not load it.", name);
 
       return TRUE;
     }
@@ -599,3 +584,29 @@ _gtk_modules_settings_changed (GtkSettings *settings,
                          new_modules,
                          settings_destroy_notify);
 }
+
+/* Return TRUE if module_to_check causes version conflicts.
+ * If module_to_check is NULL, check the main module.
+ */
+gboolean
+_gtk_module_has_mixed_deps (GModule *module_to_check)
+{
+  GModule *module;
+  gpointer func;
+  gboolean result;
+
+  if (!module_to_check)
+    module = g_module_open (NULL, 0);
+  else
+    module = module_to_check;
+
+  if (g_module_symbol (module, "gtk_progress_get_type", &func))
+    result = TRUE;
+  else
+    result = FALSE;
+
+  if (!module_to_check)
+    g_module_close (module);
+
+  return result;
+}