1. 19 May, 2022 1 commit
  2. 15 May, 2022 1 commit
  3. 14 May, 2022 1 commit
  4. 13 May, 2022 1 commit
    • Matthias Clasen's avatar
      Fixes for gdk_memory_texture_new_subtexture · f33c5218
      Matthias Clasen authored
      There were several mistakes here.
      
      The width of subtextures was set to the width of
      the main texture, the data size wasn't properly
      calculated, and the preconditions were inverted.
      Yay us!
      f33c5218
  5. 12 May, 2022 1 commit
  6. 11 May, 2022 1 commit
  7. 10 May, 2022 1 commit
    • Christian Hergert's avatar
      gdk/wayland: freeze popups when hidden · 4bf07aee
      Christian Hergert authored and Ivan Molodetskikh's avatar Ivan Molodetskikh committed
      Previously, there was an issue with glitching after showing/hiding a
      popover that was not also destroyed. This was due to the popover having
      an update_freeze_count of zero after hiding the surface.
      
      That resulted in it's toplevel continuously dropping frames such as during
      high-frame-rate scrolling in textviews. This problem is much more visible
      on high-frame-rate displays such as 120hz/144hz.
      
      With this commit, we freeze the frame clock of the popup until it is
      mapped again.
      4bf07aee
  8. 06 May, 2022 1 commit
  9. 05 May, 2022 1 commit
  10. 02 May, 2022 1 commit
  11. 06 Apr, 2022 3 commits
  12. 05 Apr, 2022 1 commit
    • hemidark's avatar
      gdk: always populate GDK_AXIS_{X,Y} in merged event history · 0c448518
      hemidark authored
      Since GdkTimeCoord stores only axis values, prior to this change,
      if a device didn't report GDK_AXIS_X or GDK_AXIS_Y, the history
      attached to merged motion events wouldn't contain any positional
      information.
      
      Commit 60122760 already addressed
      this issue for devices without tools by storing the event position
      in GdkTimeCoord using GDK_AXIS_X and GDK_AXIS_Y and augmenting the
      GdkTimeCoord's axis bitmask accordingly.
      
      This change generalizes that workaround to all devices. Note that
      if a device DOES report values for GDK_AXIS_X and GDK_AXIS_Y, those
      values won't be overwritten.
      
      Closes #4809
      0c448518
  13. 04 Apr, 2022 1 commit
  14. 03 Apr, 2022 1 commit
  15. 31 Mar, 2022 3 commits
  16. 25 Mar, 2022 1 commit
    • Christian Hergert's avatar
      gdk/gl: handle GL_RGBA/GL_UNSIGNED_NORMALIZED · e706e14f
      Christian Hergert authored
      WebKit's GTK 4 port can give us textures with an internal format of
      GL_RGBA with GL_UNSIGNED_NORMALIZED and a bit-depth of 8. This fixes
      warnings for every GdkGLTexture created/delivered to the GskGLRenderer.
      
      The format is essentially the same as GL_RGBA8 since it is normalized
      between 0.0..1.0 for 8-bit components.
      
      Fixes #4783
      e706e14f
  17. 22 Mar, 2022 1 commit
    • Sebastian Keller's avatar
      surface: Use correct display when destroying a surface for depth switch · cc02076b
      Sebastian Keller authored
      When surface depth switches from non-high-depth to high-depth (or vice
      versa) the current surface has to be destroyed before a new one can be
      created for this window. eglDestroySurface however was getting passed a
      GdkDisplay, rather than the EGLDisplay it expects. As a result the old
      surface did not get destroyed and the new surface could not be created
      causing rendering to freeze.
      
      Fixes: #4773
      cc02076b
  18. 19 Mar, 2022 1 commit
  19. 18 Mar, 2022 1 commit
  20. 12 Mar, 2022 5 commits
  21. 11 Mar, 2022 5 commits
    • Christian Hergert's avatar
      macos: fix window activation during shadow click-through · 407b5246
      Christian Hergert authored
      If we are clicking through the shadow of a window, we need to take special
      care to not raise the old window on mouseUp. This is normally done by the
      display server for us, so we need to use the proper API that is public to
      handle this (rather than CGSSetWindowTags()). Doing so requires us to
      dispatch the event to the NSView and then cancel the activcation from
      the mouseDown: event there.
      407b5246
    • Christian Hergert's avatar
      macos: select new key window after processing events · 6bedcf22
      Christian Hergert authored
      If we closed a key window in response to events, we need to denote another
      window as the new key window. This is easiest to do from an idle so that
      we don't clobber notification pairs of "did resign"/"did become" key
      window.
      
      We have a sorted set of surfaces by display server stacking, so we can
      take the first one we come across that is already mapped and re-show it
      to become key/main.
      6bedcf22
    • Christian Hergert's avatar
      macos: request layout with server-side decoration · eeb9d6c3
      Christian Hergert authored
      If we have server-side decorations we might need to request a layout in
      response to the resize notification. We don't need to do this in other
      cases because we already handle that in the process of doing the resize
      (and that code is that way because of delayed delivery of NSNotification).
      eeb9d6c3
    • Christian Hergert's avatar
      macos: fix resize when using server-side decorations · cf8d2374
      Christian Hergert authored
      If we are using NSWindow titled windows, we don't end up waking up the
      frame clock when the window is resized on the display server. This ensures
      that we do that after getting a notification of resize.
      cf8d2374
    • Christian Hergert's avatar
      macos: set main window in addition to key · 9fa5378d
      Christian Hergert authored
      If we are showing the window, we might also want to make it the main
      window for the application when shown.
      9fa5378d
  22. 10 Mar, 2022 3 commits
  23. 09 Mar, 2022 3 commits
    • Christian Hergert's avatar
      macos: drop enter/exit when in manual drag/resize · ea59d174
      Christian Hergert authored
      If we are in a manual resize/drag then we don't want to generate crossing
      events as they can just confuse things.
      ea59d174
    • Christian Hergert's avatar
      macos: allow dropping NSEvent without propagation · 32935d9f
      Christian Hergert authored
      There are cases we might want to consume a NSEvent without creating a
      GdkEvent or passing it along to the NSApplication for processing. This
      creates a new value we can use and check against to propagate that without
      having to do out parameters at the slightly odd invalid pointer value for
      a GdkEvent (similar to how MMAP_FAILED is done).
      32935d9f
    • Christian Hergert's avatar
      macos: do not focus new window when resigning main · b390e1da
      Christian Hergert authored
      This can get in the way of how we track changes while events are actively
      processing. Instead, we may want to delay this until the next main loop
      idle and then check to see if we have a main window as the NSNotification
      may have come in right after this.
      b390e1da
  24. 05 Mar, 2022 1 commit
    • Christian Hergert's avatar
      macos: fix cursor blink time · f5098e4f
      Christian Hergert authored
      The value from settings is for the duration of the blink period, not the
      timeout. This fixes the blink lasting longer than 10 seconds.
      f5098e4f