@@ -130,6 +130,7 @@ send_selection_notify (MsdClipboardManager *manager,
130130 Bool success )
131131{
132132 XSelectionEvent notify ;
133+ GdkDisplay * display ;
133134
134135 notify .type = SelectionNotify ;
135136 notify .serial = 0 ;
@@ -141,7 +142,8 @@ send_selection_notify (MsdClipboardManager *manager,
141142 notify .property = success ? manager -> priv -> property : None ;
142143 notify .time = manager -> priv -> time ;
143144
144- gdk_error_trap_push ();
145+ display = gdk_display_get_default ();
146+ gdk_x11_display_error_trap_push (display );
145147
146148 XSendEvent (manager -> priv -> display ,
147149 manager -> priv -> requestor ,
@@ -150,7 +152,7 @@ send_selection_notify (MsdClipboardManager *manager,
150152 (XEvent * )& notify );
151153 XSync (manager -> priv -> display , False );
152154
153- gdk_error_trap_pop_ignored ( );
155+ gdk_x11_display_error_trap_pop_ignored ( display );
154156}
155157
156158static void
@@ -159,6 +161,7 @@ finish_selection_request (MsdClipboardManager *manager,
159161 Bool success )
160162{
161163 XSelectionEvent notify ;
164+ GdkDisplay * display ;
162165
163166 notify .type = SelectionNotify ;
164167 notify .serial = 0 ;
@@ -170,14 +173,15 @@ finish_selection_request (MsdClipboardManager *manager,
170173 notify .property = success ? xev -> xselectionrequest .property : None ;
171174 notify .time = xev -> xselectionrequest .time ;
172175
173- gdk_error_trap_push ();
176+ display = gdk_display_get_default ();
177+ gdk_x11_display_error_trap_push (display );
174178
175179 XSendEvent (xev -> xselectionrequest .display ,
176180 xev -> xselectionrequest .requestor ,
177181 False , NoEventMask , (XEvent * ) & notify );
178182 XSync (manager -> priv -> display , False );
179183
180- gdk_error_trap_pop_ignored ( );
184+ gdk_x11_display_error_trap_pop_ignored ( display );
181185}
182186
183187static int
@@ -399,20 +403,23 @@ static void
399403convert_clipboard_manager (MsdClipboardManager * manager ,
400404 XEvent * xev )
401405{
406+ GdkDisplay * display ;
402407 Atom type = None ;
403408 int format ;
404409 unsigned long nitems ;
405410 unsigned long remaining ;
406411 Atom * targets = NULL ;
407412
413+ display = gdk_display_get_default ();
414+
408415 if (xev -> xselectionrequest .target == XA_SAVE_TARGETS ) {
409416 if (manager -> priv -> requestor != None || manager -> priv -> contents != NULL ) {
410417 /* We're in the middle of a conversion request, or own
411418 * the CLIPBOARD already
412419 */
413420 finish_selection_request (manager , xev , False );
414421 } else {
415- gdk_error_trap_push ( );
422+ gdk_x11_display_error_trap_push ( display );
416423
417424 clipboard_manager_watch_cb (manager ,
418425 xev -> xselectionrequest .requestor ,
@@ -424,10 +431,10 @@ convert_clipboard_manager (MsdClipboardManager *manager,
424431 StructureNotifyMask );
425432 XSync (manager -> priv -> display , False );
426433
427- if (gdk_error_trap_pop ( ) != Success )
434+ if (gdk_x11_display_error_trap_pop ( display ) != Success )
428435 return ;
429436
430- gdk_error_trap_push ( );
437+ gdk_x11_display_error_trap_push ( display );
431438
432439 if (xev -> xselectionrequest .property != None ) {
433440 XGetWindowProperty (manager -> priv -> display ,
@@ -437,7 +444,7 @@ convert_clipboard_manager (MsdClipboardManager *manager,
437444 & type , & format , & nitems , & remaining ,
438445 (unsigned char * * ) & targets );
439446
440- if (gdk_error_trap_pop ( ) != Success ) {
447+ if (gdk_x11_display_error_trap_pop ( display ) != Success ) {
441448 if (targets )
442449 XFree (targets );
443450
@@ -487,13 +494,16 @@ static void
487494convert_clipboard_target (IncrConversion * rdata ,
488495 MsdClipboardManager * manager )
489496{
497+ GdkDisplay * display ;
490498 TargetData * tdata ;
491499 Atom * targets ;
492500 int n_targets ;
493501 List * list ;
494502 unsigned long items ;
495503 XWindowAttributes atts ;
496504
505+ display = gdk_display_get_default ();
506+
497507 if (rdata -> target == XA_TARGETS ) {
498508 n_targets = list_length (manager -> priv -> contents ) + 2 ;
499509 targets = (Atom * ) malloc (n_targets * sizeof (Atom ));
@@ -540,7 +550,7 @@ convert_clipboard_target (IncrConversion *rdata,
540550 /* start incremental transfer */
541551 rdata -> offset = 0 ;
542552
543- gdk_error_trap_push ( );
553+ gdk_x11_display_error_trap_push ( display );
544554
545555 XGetWindowAttributes (manager -> priv -> display , rdata -> requestor , & atts );
546556 XSelectInput (manager -> priv -> display , rdata -> requestor ,
@@ -553,7 +563,7 @@ convert_clipboard_target (IncrConversion *rdata,
553563
554564 XSync (manager -> priv -> display , False );
555565
556- gdk_error_trap_pop_ignored ( );
566+ gdk_x11_display_error_trap_pop_ignored ( display );
557567 }
558568 }
559569}
0 commit comments