Revert-gdk-deactivation-activate-window-on-keyboard-grabs.patch 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. From: Samuel Thibault <samuel.thibault@ens-lyon.org>
  2. Date: Fri, 4 Jan 2019 16:52:15 +0100
  3. Subject: Revert "gdk: deactivation/activate window on keyboard grabs"
  4. This reverts commits 853f786727a954d10ed78405adc18e0772ccd1cb and
  5. 00b17063ac8e58d436b7ee5e79da83e74cbbbb30.
  6. This reintroduces #85, but see discussion in
  7. https://gitlab.gnome.org/GNOME/gtk/merge_requests/433 for the unforeseen
  8. invasive consequences of these commits.
  9. Origin: upstream, 2.24.33, commit:75a4eeb2f8a2a479298f68a022a72277cbe9f607
  10. ---
  11. gdk/x11/gdkevents-x11.c | 20 ++++++++++----------
  12. 1 file changed, 10 insertions(+), 10 deletions(-)
  13. diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c
  14. index bef77b5..186a8f5 100644
  15. --- a/gdk/x11/gdkevents-x11.c
  16. +++ b/gdk/x11/gdkevents-x11.c
  17. @@ -621,8 +621,8 @@ gdk_check_wm_state_changed (GdkWindow *window)
  18. do_net_wm_state_changes (window);
  19. }
  20. -#define APPEARS_FOCUSED(toplevel) \
  21. - ((toplevel)->has_focus || (toplevel)->has_focus_window || (toplevel)->has_pointer_focus)
  22. +#define HAS_FOCUS(toplevel) \
  23. + ((toplevel)->has_focus || (toplevel)->has_pointer_focus)
  24. static void
  25. generate_focus_event (GdkWindow *window,
  26. @@ -1344,11 +1344,11 @@ gdk_event_translate (GdkDisplay *display,
  27. if (xevent->xcrossing.focus && !toplevel->has_focus_window)
  28. {
  29. - gboolean had_focus = APPEARS_FOCUSED (toplevel);
  30. + gboolean had_focus = HAS_FOCUS (toplevel);
  31. toplevel->has_pointer_focus = TRUE;
  32. - if (APPEARS_FOCUSED (toplevel) != had_focus)
  33. + if (HAS_FOCUS (toplevel) != had_focus)
  34. generate_focus_event (window, TRUE);
  35. }
  36. }
  37. @@ -1441,11 +1441,11 @@ gdk_event_translate (GdkDisplay *display,
  38. if (xevent->xcrossing.focus && !toplevel->has_focus_window)
  39. {
  40. - gboolean had_focus = APPEARS_FOCUSED (toplevel);
  41. + gboolean had_focus = HAS_FOCUS (toplevel);
  42. toplevel->has_pointer_focus = FALSE;
  43. - if (APPEARS_FOCUSED (toplevel) != had_focus)
  44. + if (HAS_FOCUS (toplevel) != had_focus)
  45. generate_focus_event (window, FALSE);
  46. }
  47. }
  48. @@ -1523,7 +1523,7 @@ gdk_event_translate (GdkDisplay *display,
  49. if (toplevel)
  50. {
  51. - gboolean had_focus = APPEARS_FOCUSED (toplevel);
  52. + gboolean had_focus = HAS_FOCUS (toplevel);
  53. switch (xevent->xfocus.detail)
  54. {
  55. @@ -1569,7 +1569,7 @@ gdk_event_translate (GdkDisplay *display,
  56. break;
  57. }
  58. - if (APPEARS_FOCUSED (toplevel) != had_focus)
  59. + if (HAS_FOCUS (toplevel) != had_focus)
  60. generate_focus_event (window, TRUE);
  61. }
  62. break;
  63. @@ -1582,7 +1582,7 @@ gdk_event_translate (GdkDisplay *display,
  64. if (toplevel)
  65. {
  66. - gboolean had_focus = APPEARS_FOCUSED (toplevel);
  67. + gboolean had_focus = HAS_FOCUS (toplevel);
  68. switch (xevent->xfocus.detail)
  69. {
  70. @@ -1620,7 +1620,7 @@ gdk_event_translate (GdkDisplay *display,
  71. break;
  72. }
  73. - if (APPEARS_FOCUSED (toplevel) != had_focus)
  74. + if (HAS_FOCUS (toplevel) != had_focus)
  75. generate_focus_event (window, FALSE);
  76. }
  77. break;