diff options
author | Sean Davis <smd.seandavis@gmail.com> | 2018-02-18 10:02:14 -0500 |
---|---|---|
committer | Sean Davis <smd.seandavis@gmail.com> | 2018-02-18 10:02:14 -0500 |
commit | c0aa61e159ca097d5d578a59c45afa45f641885d (patch) | |
tree | 65518b3ae3bc9c2d6d6aa64999cac72657817186 | |
parent | 24f748d0e42ff46e4ba2df6b2fe4dfafc5db4fef (diff) | |
download | lightdm-gtk-greeter-git-c0aa61e159ca097d5d578a59c45afa45f641885d.tar.gz |
Tidy up deprecations and only apply timestamp logic if there is already an active monitor
-rw-r--r-- | src/greeterbackground.c | 15 | ||||
-rw-r--r-- | src/greeterdeprecated.c | 21 | ||||
-rw-r--r-- | src/greeterdeprecated.h | 6 |
3 files changed, 36 insertions, 6 deletions
diff --git a/src/greeterbackground.c b/src/greeterbackground.c index 4dd4fa7..854edd3 100644 --- a/src/greeterbackground.c +++ b/src/greeterbackground.c @@ -741,9 +741,12 @@ greeter_background_set_active_monitor(GreeterBackground* background, * timestamp at this precision (1/10th of a second), this should no longer be * possible. */ - timestamp = floor(g_get_monotonic_time () * 0.00001); - if (timestamp == priv->active_monitor_change_last_timestamp) - return; + if (!active) + { + timestamp = floor(g_get_monotonic_time () * 0.00001); + if (timestamp == priv->active_monitor_change_last_timestamp) + return; + } priv->active_monitor_change_in_progress = TRUE; priv->active_monitor_change_last_timestamp = floor(g_get_monotonic_time () * 0.00001); @@ -1610,7 +1613,7 @@ create_root_surface(GdkScreen* screen) height = greeter_screen_get_height (screen); /* Open a new connection so with Retain Permanent so the pixmap remains when the greeter quits */ - gdk_flush (); + greeter_gdk_flush (); display = XOpenDisplay (gdk_display_get_name (gdk_screen_get_display (screen))); if (!display) { @@ -1667,7 +1670,7 @@ set_root_pixmap_id(GdkScreen* screen, XFree (data_root); XFree (data_esetroot); - gdk_error_trap_push (); + greeter_error_trap_push (); if (xrootpmap && xrootpmap == esetrootpmap) { XKillClient (display, xrootpmap); } @@ -1676,7 +1679,7 @@ set_root_pixmap_id(GdkScreen* screen, } XSync (display, False); - gdk_error_trap_pop_ignored (); + greeter_error_trap_pop_ignored (); } } } diff --git a/src/greeterdeprecated.c b/src/greeterdeprecated.c index 9a7d88c..1e24d7a 100644 --- a/src/greeterdeprecated.c +++ b/src/greeterdeprecated.c @@ -5,6 +5,27 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS +void +greeter_gdk_flush (void) +{ + /* Deprecated GTK ???? */ + gdk_flush (); +} + +void +greeter_error_trap_push (void) +{ + /* Deprecated GTK ???? */ + gdk_error_trap_push (); +} + +void +greeter_error_trap_pop_ignored (void) +{ + /* Deprecated GTK ???? */ + gdk_error_trap_pop_ignored (); +} + gint greeter_screen_get_number (GdkScreen *screen) { diff --git a/src/greeterdeprecated.h b/src/greeterdeprecated.h index 15156d5..0dc2dc4 100644 --- a/src/greeterdeprecated.h +++ b/src/greeterdeprecated.h @@ -4,6 +4,12 @@ #include <gtk/gtk.h> +void greeter_gdk_flush (void); + +void greeter_error_trap_push (void); + +void greeter_error_trap_pop_ignored (void); + gint greeter_screen_get_number (GdkScreen *screen); gint greeter_screen_get_width (GdkScreen *screen); |