1. 30 Nov, 2017 1 commit
    • Carlos Garnacho's avatar
      gdk: Always emit motion after enter · 3c40b217
      Carlos Garnacho authored
      After a pointer emulating GDK_TOUCH_END event triggering a fake leave
      notify with GDK_CROSSING_TOUCH_END mode, pointer_under_window will be
      unset, which will make the next motion/touch_update event to trigger
      an enter notify event again.
      
      Up till there, that's fine, however the motion event is just consumed
      in favor of the just synthesized enter notify event. This is unexpected
      to clients like spice-gtk that will only update coordinates from motion
      events, sending both enter and motion is more consistent with X11 and
      will make them happy.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=791039
      3c40b217
  2. 25 Oct, 2017 1 commit
  3. 18 Aug, 2017 1 commit
  4. 25 Jul, 2017 1 commit
  5. 03 Apr, 2017 1 commit
    • Olivier Fourdan's avatar
      gdkwindow: different displays, different classes · efbe4021
      Olivier Fourdan authored
      GdkWindow's before_process_all_updates() and after_process_all_updates()
      wrongly assume that all displays are from the same class, which is not
      the case if for example a client open different displays with different
      backends such as X11 and Wayland.
      
      Use the actual class for each display in the display list to avoid a
      crash when mixing displays from different classes.
      
      Fix suggested by Christian Persch <chpe@gnome.org> in bug #776472.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=776472
      efbe4021
  6. 23 Feb, 2017 1 commit
    • Olivier Fourdan's avatar
      gdkwindow: subsurface in gdk_window_get_effective_parent() · e5b63759
      Olivier Fourdan authored
      When the GtkWidget hierarchy does not match the GdkWindow hierarchy, the
      GtkWidget code may find a common ancestor that cannot be found while
      traversing the GdkWindow tree using gdk_window_get_effective_parent().
      
      This happens with for example on Wayland, a GtkPopover has another
      GtkPopover as parent, in this case, the GdkWindow parent is the root
      window, whereas the GtkWidget parent is the other GtkPopover.
      
      That confuses the gtk_widget_translate_coordinates() logic which will
      bail out in this case and won't return the translated coordinates.
      
      Make gdk_window_get_effective_parent() aware of subsurfaces and use the
      transient_for which represents the actual parent (whereas the parent
      might be pointing to the root window).
      
      Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=774148
      e5b63759
  7. 11 Jan, 2017 1 commit
  8. 17 Dec, 2016 1 commit
  9. 05 Dec, 2016 1 commit
  10. 30 Nov, 2016 1 commit
  11. 24 Nov, 2016 1 commit
  12. 18 Nov, 2016 1 commit
  13. 14 Nov, 2016 2 commits
  14. 21 Oct, 2016 1 commit
  15. 20 Oct, 2016 2 commits
  16. 17 Oct, 2016 1 commit
  17. 13 Oct, 2016 1 commit
    • Olivier Fourdan's avatar
      gdkwindow: configure native windows in move_native_children() · 12579fe7
      Olivier Fourdan authored
      ClutterEmbed on Wayland uses a subsurface and relocates it on configure
      events, but when placed within a scrolled window, no configure event is
      emitted and the ClutterEmbed subsurface remains static.
      
      Emit a configure event for native windows in GdkWindow's internal
      move_native_children() so that custom widgets relying on configure
      events such as ClutterEmbed can relocate their stuff.
      
      Similarly, when switching to/from normal/maximized/fullscreen states
      which change the shadows' size and possibly shows/hides a header bar,
      we need to emit a configure event even if the abs_x/abs_y haven't
      changed to make sure the subsurface is size appropriately.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=771320
      https://bugzilla.gnome.org/show_bug.cgi?id=767713
      12579fe7
  18. 24 Aug, 2016 1 commit
  19. 23 Aug, 2016 2 commits
  20. 07 Aug, 2016 1 commit
  21. 19 Jul, 2016 3 commits
  22. 11 Jul, 2016 1 commit
  23. 12 Jun, 2016 1 commit
  24. 09 Jun, 2016 7 commits
  25. 23 May, 2016 1 commit
  26. 12 May, 2016 1 commit
  27. 10 May, 2016 1 commit
  28. 01 May, 2016 2 commits