View | Details | Raw Unified | Return to bug 457787
Collapse All | Expand All

(-)bridge-glue/bridge-glue.mdp (+1 lines)
Lines 22-27 Link Here
22
    <Package file="glib-2.0" name="glib-2.0" IsProject="False" />
22
    <Package file="glib-2.0" name="glib-2.0" IsProject="False" />
23
    <Package file="gobject-2.0" name="gobject-2.0" IsProject="False" />
23
    <Package file="gobject-2.0" name="gobject-2.0" IsProject="False" />
24
    <Package file="atk" name="atk" IsProject="False" />
24
    <Package file="atk" name="atk" IsProject="False" />
25
    <Package file="/usr/lib/pkgconfig/gtk+-2.0.pc" name="GTK+" IsProject="False" />
25
  </Packages>
26
  </Packages>
26
  <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True" RelativeMakefileName="Makefile.am" IsAutotoolsProject="True" RelativeConfigureInPath="..">
27
  <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True" RelativeMakefileName="Makefile.am" IsAutotoolsProject="True" RelativeConfigureInPath="..">
27
    <BuildFilesVar />
28
    <BuildFilesVar />
(-)bridge-glue/main.c (+30 lines)
Lines 139-141 Link Here
139
139
140
	return rc;
140
	return rc;
141
}
141
}
142
143
// Reset gtk-modules setting from gtk settings
144
// (see http://bugzilla.gnome.org/show_bug.cgi?id=563876 and
145
//      https://bugzilla.mozilla.org/show_bug.cgi?id=460926
146
void drop_gtk_modules_conf (gchar* display_name)
147
{
148
	GdkDisplay* display = NULL;
149
	
150
	if (!display_name) {
151
		g_warning ("Error: no display specified\n");
152
		return;
153
	}
154
	
155
156
	display = gdk_display_open(display_name);
157
	if (!display) {
158
		g_warning ("Error: cannot open display: %s\n", display_name);
159
		return;
160
	}
161
	
162
	GtkSettings* settings =
163
	  gtk_settings_get_for_screen (gdk_display_get_default_screen (display));
164
	gchar* gtk_modules_setting = NULL;
165
	g_object_get(settings, "gtk-modules", &gtk_modules_setting, NULL);
166
	if (gtk_modules_setting != NULL) {
167
		g_object_set(settings, "gtk-modules", "", NULL);
168
		g_free (gtk_modules_setting);
169
	}
170
}
171
(-)bridge-glue/Makefile.am (-1 / +1 lines)
Lines 9-14 Link Here
9
	main.c \
9
	main.c \
10
	main.h
10
	main.h
11
11
12
INCLUDES = $(ATK_CFLAGS) $(GOBJECT_20_CFLAGS) $(GMODULE_20_CFLAGS) $(GLIB_CFLAGS)
12
INCLUDES = $(ATK_CFLAGS) $(GOBJECT_20_CFLAGS) $(GMODULE_20_CFLAGS) $(GLIB_CFLAGS) $(GTK20_CFLAGS)
13
13
14
EXTRA = Changelog
14
EXTRA = Changelog
(-)bridge-glue/main.h (+7 lines)
Lines 32-40 Link Here
32
#include <atk/atkutil.h>
32
#include <atk/atkutil.h>
33
#include <string.h>
33
#include <string.h>
34
34
35
// for drop_gtk_modules_conf()
36
#include <gtk/gtk.h>
37
35
void
38
void
36
override_global_event_listener ();
39
override_global_event_listener ();
37
40
38
void
41
void
39
register_window_signals (GObject *dummy_window);
42
register_window_signals (GObject *dummy_window);
43
44
void
45
drop_gtk_modules_conf (gchar* display_name);
46
40
#endif
47
#endif
(-)UiaAtkBridge/Monitor.cs (+16 lines)
Lines 64-70 Link Here
64
		internal Monitor ()
64
		internal Monitor ()
65
		{
65
		{
66
			GLib.GType.Init();
66
			GLib.GType.Init();
67
67
			
68
			
69
			
68
			Atk.Util.GetRootHandler = ReturnTopLevel;
70
			Atk.Util.GetRootHandler = ReturnTopLevel;
69
			
71
			
70
			Atk.Util.GetToolkitNameHandler = GetAssemblyName;
72
			Atk.Util.GetToolkitNameHandler = GetAssemblyName;
Lines 248-258 Link Here
248
		{
250
		{
249
			gnome_accessibility_module_shutdown ();
251
			gnome_accessibility_module_shutdown ();
250
		}
252
		}
253
254
		private void DropGtkModulesConf ()
255
		{
256
			string display_name = Environment.GetEnvironmentVariable ("DISPLAY");
257
			if (String.IsNullOrEmpty (display_name))
258
				throw new Exception ("The env var DISPLAY should be set");
259
260
			drop_gtk_modules_conf (display_name);
261
		}
251
		
262
		
252
		[DllImport("libbridge-glue.so")]
263
		[DllImport("libbridge-glue.so")]
253
		static extern void override_global_event_listener ();
264
		static extern void override_global_event_listener ();
265
266
		[DllImport("libbridge-glue.so")]
267
		static extern void drop_gtk_modules_conf (string display_name);
268
		
254
		[DllImport("libgobject-2.0-0.dll")]
269
		[DllImport("libgobject-2.0-0.dll")]
255
		static extern void g_signal_new (IntPtr signal_name, IntPtr itype, int signal_flags, uint class_offset, IntPtr accumulator, IntPtr accu_data, IntPtr c_marshaller, IntPtr return_type, uint n_params);
270
		static extern void g_signal_new (IntPtr signal_name, IntPtr itype, int signal_flags, uint class_offset, IntPtr accumulator, IntPtr accu_data, IntPtr c_marshaller, IntPtr return_type, uint n_params);
271
256
	}
272
	}
257
	
273
	
258
	/// <summary>
274
	/// <summary>
(-)configure.ac (+3 lines)
Lines 108-113 Link Here
108
AC_SUBST(GLIB_CFLAGS)
108
AC_SUBST(GLIB_CFLAGS)
109
AC_SUBST(GLIB_LIBS)
109
AC_SUBST(GLIB_LIBS)
110
110
111
AC_SUBST(GTK20_CFLAGS)
112
AC_SUBST(GTK20_LIBS)
113
111
TOPDIR=$PWD
114
TOPDIR=$PWD
112
AC_SUBST(TOPDIR)
115
AC_SUBST(TOPDIR)
113
116

Return to bug 457787