From 72b40266bde69effa75fabae960748c2c7832a4d Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 28 Feb 2016 16:22:31 +0100 Subject: [PATCH] gdkwindow: cleanup, avoid direct access to display members --- gdk/gdkdisplay.c | 8 ++++++++ gdk/gdkdisplayprivate.h | 2 ++ gdk/gdkwindow.c | 9 +++++---- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index d51346ff20..f95d559dfa 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -1071,6 +1071,14 @@ switch_to_pointer_grab (GdkDisplay *display, g_hash_table_insert (display->device_grabs, device, old_grabs); } +void +_gdk_display_update_last_event (GdkDisplay *display, + const GdkEvent *event) +{ + if (gdk_event_get_time (event) != GDK_CURRENT_TIME) + display->last_event_time = gdk_event_get_time (event); +} + void _gdk_display_device_grab_update (GdkDisplay *display, GdkDevice *device, diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index f4d2716fb7..1dbf9f607f 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -254,6 +254,8 @@ typedef void (* GdkDisplayPointerInfoForeach) (GdkDisplay *display, GdkPointerWindowInfo *device_info, gpointer user_data); +void _gdk_display_update_last_event (GdkDisplay *display, + const GdkEvent *event); void _gdk_display_device_grab_update (GdkDisplay *display, GdkDevice *device, GdkDevice *source_device, diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 6995db9eef..438893042c 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -9511,8 +9511,7 @@ _gdk_windowing_got_event (GdkDisplay *display, GdkDevice *device, *source_device; gboolean is_toplevel; - if (gdk_event_get_time (event) != GDK_CURRENT_TIME) - display->last_event_time = gdk_event_get_time (event); + _gdk_display_update_last_event (display, event); device = gdk_event_get_device (event); source_device = gdk_event_get_source_device (event); @@ -9751,6 +9750,7 @@ gdk_window_create_similar_surface (GdkWindow * window, int height) { GdkDisplay *display; + GdkRenderingMode rendering_mode; cairo_surface_t *window_surface, *surface; double sx, sy; @@ -9761,7 +9761,9 @@ gdk_window_create_similar_surface (GdkWindow * window, cairo_surface_get_device_scale (window_surface, &sx, &sy); display = gdk_window_get_display (window); - switch (display->rendering_mode) + rendering_mode = gdk_display_get_rendering_mode (display); + + switch (rendering_mode) { case GDK_RENDERING_MODE_RECORDING: { @@ -9784,7 +9786,6 @@ gdk_window_create_similar_surface (GdkWindow * window, break; } - cairo_surface_destroy (window_surface); return surface;