diff options
Diffstat (limited to 'libcaja-private/caja-autorun.c')
-rw-r--r-- | libcaja-private/caja-autorun.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/libcaja-private/caja-autorun.c b/libcaja-private/caja-autorun.c index 2f79b16b..b78ea1c7 100644 --- a/libcaja-private/caja-autorun.c +++ b/libcaja-private/caja-autorun.c @@ -761,16 +761,22 @@ is_shift_pressed (void) Bool status; ret = FALSE; - display = gdk_display_get_default (); - gdk_x11_display_error_trap_push (display); - status = XkbGetState (GDK_DISPLAY_XDISPLAY (display), - XkbUseCoreKbd, &state); - gdk_x11_display_error_trap_pop_ignored (display); + if (GDK_IS_X11_DISPLAY (display)) + { + gdk_x11_display_error_trap_push (display); + status = XkbGetState (GDK_DISPLAY_XDISPLAY (display), + XkbUseCoreKbd, &state); + gdk_x11_display_error_trap_pop_ignored (display); - if (status == Success) + if (status == Success) + { + ret = state.mods & ShiftMask; + } + } + else { - ret = state.mods & ShiftMask; + ret=FALSE; } return ret; |