summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2018-03-11 13:33:25 +0200
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2018-03-11 13:36:19 +0200
commitfdf2e9d33e42da09190f03bb0528d2f17c601e02 (patch)
treef972f01efbb0ae9aa24b3e493ffa5371a19c86bd
parent02c7f679a8222a32a5a3e6e2f8e91176da387db5 (diff)
downloadmetacity-fdf2e9d33e42da09190f03bb0528d2f17c601e02.tar.gz
avoid deprecated gdk error trap functions
-rw-r--r--src/compositor/meta-compositor-xrender.c8
-rw-r--r--src/core/errors.c28
-rw-r--r--src/core/group.c5
-rw-r--r--src/core/screen.c4
4 files changed, 34 insertions, 11 deletions
diff --git a/src/compositor/meta-compositor-xrender.c b/src/compositor/meta-compositor-xrender.c
index 36e986a2..85ecf8de 100644
--- a/src/compositor/meta-compositor-xrender.c
+++ b/src/compositor/meta-compositor-xrender.c
@@ -1755,7 +1755,7 @@ repair_win (MetaCompositorXRender *xrender,
Display *xdisplay = meta_display_get_xdisplay (display);
XserverRegion parts;
- meta_error_trap_push (NULL);
+ meta_error_trap_push (display);
if (!cw->damaged)
{
@@ -1769,7 +1769,7 @@ repair_win (MetaCompositorXRender *xrender,
XFixesTranslateRegion (xdisplay, parts, cw->rect.x, cw->rect.y);
}
- meta_error_trap_pop (NULL);
+ meta_error_trap_pop (display);
dump_xserver_region (xrender, "repair_win", parts);
add_damage (xrender, parts);
@@ -2699,7 +2699,7 @@ meta_compositor_xrender_process_event (MetaCompositor *compositor,
* X errors. This is really a hack, but I'm afraid I don't understand
* enough about Metacity/X to know how else you are supposed to do it
*/
- meta_error_trap_push (NULL);
+ meta_error_trap_push (display);
switch (event->type)
{
@@ -2717,7 +2717,7 @@ meta_compositor_xrender_process_event (MetaCompositor *compositor,
break;
}
- meta_error_trap_pop (NULL);
+ meta_error_trap_pop (display);
}
static cairo_surface_t *
diff --git a/src/core/errors.c b/src/core/errors.c
index 213d2dec..39adb934 100644
--- a/src/core/errors.c
+++ b/src/core/errors.c
@@ -21,23 +21,45 @@
#include "config.h"
#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
#include "errors.h"
void
meta_error_trap_push (MetaDisplay *display)
{
- gdk_error_trap_push ();
+ Display *xdisplay;
+ GdkDisplay *gdk_display;
+
+ xdisplay = meta_display_get_xdisplay (display);
+ gdk_display = gdk_x11_lookup_xdisplay (xdisplay);
+ g_assert (gdk_display != NULL);
+
+ gdk_x11_display_error_trap_push (gdk_display);
}
void
meta_error_trap_pop (MetaDisplay *display)
{
- gdk_error_trap_pop_ignored ();
+ Display *xdisplay;
+ GdkDisplay *gdk_display;
+
+ xdisplay = meta_display_get_xdisplay (display);
+ gdk_display = gdk_x11_lookup_xdisplay (xdisplay);
+ g_assert (gdk_display != NULL);
+
+ gdk_x11_display_error_trap_pop_ignored (gdk_display);
}
int
meta_error_trap_pop_with_return (MetaDisplay *display)
{
- return gdk_error_trap_pop ();
+ Display *xdisplay;
+ GdkDisplay *gdk_display;
+
+ xdisplay = meta_display_get_xdisplay (display);
+ gdk_display = gdk_x11_lookup_xdisplay (xdisplay);
+ g_assert (gdk_display != NULL);
+
+ return gdk_x11_display_error_trap_pop (gdk_display);
}
diff --git a/src/core/group.c b/src/core/group.c
index a3f4f88f..13c0b1c5 100644
--- a/src/core/group.c
+++ b/src/core/group.c
@@ -22,6 +22,7 @@
#include <config.h>
#include "util.h"
+#include "errors.h"
#include "group-private.h"
#include "group-props.h"
#include "window.h"
@@ -45,13 +46,13 @@ meta_group_new (MetaDisplay *display,
group->group_leader = group_leader;
group->refcount = 1; /* owned by caller, hash table has only weak ref */
- gdk_error_trap_push ();
+ meta_error_trap_push (display);
XGetWindowAttributes (display->xdisplay, group_leader, &attrs);
XSelectInput (display->xdisplay, group_leader,
attrs.your_event_mask | PropertyChangeMask);
- if (gdk_error_trap_pop () != 0)
+ if (meta_error_trap_pop_with_return (display) != 0)
return NULL;
if (display->groups_by_leader == NULL)
diff --git a/src/core/screen.c b/src/core/screen.c
index 52afaf9a..c801f840 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -1131,12 +1131,12 @@ get_window_pixbuf (MetaWindow *window,
if (surface == NULL)
return NULL;
- meta_error_trap_push (NULL);
+ meta_error_trap_push (display);
pixbuf = meta_ui_get_pixbuf_from_surface (surface);
cairo_surface_destroy (surface);
- if (meta_error_trap_pop_with_return (NULL) != Success)
+ if (meta_error_trap_pop_with_return (display) != Success)
g_clear_object (&pixbuf);
if (pixbuf == NULL)