@@ -171,15 +171,17 @@ msm_compat_gnome_smproxy_startup (void)
171171 Atom gnome_sm_proxy ;
172172 Display * dpy ;
173173 Window root ;
174+ GdkDisplay * gdkdisplay ;
174175
175- gdk_error_trap_push ();
176+ gdkdisplay = gdk_display_get_default ();
177+ gdk_x11_display_error_trap_push (gdkdisplay );
176178
177179 /* Set GNOME_SM_PROXY property, since some apps (like OOo) seem to require
178180 * it to behave properly. Thanks to Jasper/Francois for reporting this.
179181 * This has another advantage, since it prevents people from running
180182 * gnome-smproxy in xfce4, which would cause trouble otherwise.
181183 */
182- dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default () );
184+ dpy = GDK_DISPLAY_XDISPLAY (gdkdisplay );
183185 root = RootWindow (dpy , 0 );
184186
185187 if (gnome_smproxy_window != None )
@@ -196,22 +198,25 @@ msm_compat_gnome_smproxy_startup (void)
196198 (unsigned char * ) (void * ) & gnome_smproxy_window , 1 );
197199
198200 XSync (dpy , False );
199- gdk_error_trap_pop_ignored ( );
201+ gdk_x11_display_error_trap_pop_ignored ( gdkdisplay );
200202}
201203
202204
203205static void
204206msm_compat_gnome_smproxy_shutdown (void )
205207{
206- gdk_error_trap_push ();
208+ GdkDisplay * gdkdisplay ;
209+
210+ gdkdisplay = gdk_display_get_default ();
211+ gdk_x11_display_error_trap_push (gdkdisplay );
207212
208213 if (gnome_smproxy_window != None )
209214 {
210- XDestroyWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default () ), gnome_smproxy_window );
211- XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default () ), False );
215+ XDestroyWindow (GDK_DISPLAY_XDISPLAY (gdkdisplay ), gnome_smproxy_window );
216+ XSync (GDK_DISPLAY_XDISPLAY (gdkdisplay ), False );
212217 gnome_smproxy_window = None ;
213218 }
214- gdk_error_trap_pop_ignored ( );
219+ gdk_x11_display_error_trap_pop_ignored ( gdkdisplay );
215220}
216221
217222
0 commit comments