1. 29 Jan, 2021 6 commits
    • Alexander Mikhaylenko's avatar
      dragsource: Use double coordinates for checking drag threshold · f63e6394
      Alexander Mikhaylenko authored
      If multiple nested widgets have drag sources on them, both using bubble
      phase, we need to reliably pick the inner one. Both of them will try to
      start dragging, and we need to make sure there are no situations where the
      outer widget starts drag earlier and cancels the inner one.
      
      Currently, this can easily happen via integer rounding: start and current
      coordinates passed into gtk_drag_check_threshold() are initially doubles
      (other than in GtkNotebook and GtkIconView), and are casted to ints. Then
      those rounded values are used to calculate deltas to compare to the drag
      threshold, losing quite a lot of precision along the way, and often
      resulting in the outer widget getting larger deltas.
      
      To avoid it, just don't round it. Introduce a variant of the function that
      operates on doubles: gtk_drag_check_threshold_double() and use it instead
      of the original everywhere.
      f63e6394
    • Alexander Mikhaylenko's avatar
      entry: Fix drag threshold check · bbca4c38
      Alexander Mikhaylenko authored
      It was passing offsets as current oordinates.
      bbca4c38
    • Alexander Mikhaylenko's avatar
      windowhandle: Don't drag on capture phase · 28f5d267
      Alexander Mikhaylenko authored
      This was needed to work around widgets claiming event sequences on press,
      by ignoring them and starting the drag anyway unless they have certain
      event controllers on them.
      
      The most visible offender was GtkButton, but since the last commit it
      doesn't claim the sequence anymore and we can remove the hack.
      28f5d267
    • Alexander Mikhaylenko's avatar
      checkbutton: Claim sequence on release instead of press · bf2620f0
      Alexander Mikhaylenko authored
      Make it possible to drag windows from check buttons in future.
      bf2620f0
    • Alexander Mikhaylenko's avatar
      button: Stop claiming event sequence on press · 870b82b5
      Alexander Mikhaylenko authored
      Currently GtkButton claims the sequence both on press and on release. Stop
      claiming it on press and only do it on release, allowing drags to start
      from it.
      
      This will allow to remove a hack from GtkWindowHandle.
      870b82b5
    • Matthias Clasen's avatar
      Merge branch 'pango-glyph-positions' into 'master' · 1635d9fb
      Matthias Clasen authored
      Tell pango not to round glyph positions
      
      See merge request !2058
      1635d9fb
  2. 28 Jan, 2021 16 commits
  3. 27 Jan, 2021 18 commits