1. 03 Oct, 2014 2 commits
    • Ken Thomases's avatar
      winemac: Properly ignore attempts to set a window's shape to its current shape. · 31d7f61c
      Ken Thomases authored
      NSBezierPath doesn't override the -isEqual: method to actually compare paths,
      so it just falls back to object identity which, in our case, makes paths seem
      like they're never equal.
      
      Also, memcmp()-ing the rectangle array is almost certainly faster than any
      general test for equality between two paths.
      31d7f61c
    • Ken Thomases's avatar
      winemac: Don't invalidate the window shadow on every draw if it's merely shaped… · 170d80dc
      Ken Thomases authored
      winemac: Don't invalidate the window shadow on every draw if it's merely shaped and not color-keyed or using per-pixel alpha.
      
      This avoids flickering and tearing on some versions of OS X during frequent
      redrawing in a shaped window, such as when scrolling a document in Word 2007.
      
      Since we aren't guaranteed that the window surface has updated bits for us to
      draw, we mark the whole content view as needing redisplay and draw the window's
      shape in the background color on the first -drawRect: after the shape change.
      170d80dc
  2. 06 Aug, 2014 1 commit
  3. 30 Jul, 2014 1 commit
  4. 16 Jul, 2014 1 commit
  5. 24 May, 2014 1 commit
  6. 15 May, 2014 2 commits
    • Ken Thomases's avatar
      winemac: Add the ability to disable high-resolution scrolling. · 45191510
      Ken Thomases authored
      The Mac driver can generate scroll wheel events with values which are not integral
      multiples of WHEEL_DELTA.  Apps should handle that by scrolling a corresponding
      non-integral multiple of what they'd do for a WHEEL_DELTA-valued scroll or, if
      they can't, then at least accumulate scroll distance until its magnitude exceeds
      WHEEL_DELTA and do a "chunky" scroll.  However, many apps don't do that properly.
      They may scroll way too far/fast or even in the opposite direction.
      
      If the registry setting UsePreciseScrolling is set to "n", the Mac driver will do
      that accumulation and chunking itself to work around such broken app behavior.
      45191510
    • Ken Thomases's avatar
      757c5763
  7. 08 May, 2014 1 commit
    • Ken Thomases's avatar
      winemac: Don't bring owned windows to the front when they're clicked. · 3bca22a6
      Ken Thomases authored
      Cocoa will bring an unowned window to the front of its level when it's clicked,
      but it doesn't do that for owned windows.  The old code went out of its way to
      make owned windows behave like unowned windows in this respect.  That was
      exactly backward.  We wish we could control whether windows are raised on a
      click.  We don't have that opportunity for unowned windows, but, by ripping
      out a bunch of code, we do for owned windows.
      3bca22a6
  8. 01 May, 2014 1 commit
  9. 29 Apr, 2014 1 commit
  10. 24 Apr, 2014 2 commits
  11. 26 Mar, 2014 1 commit
  12. 24 Mar, 2014 2 commits
  13. 21 Mar, 2014 2 commits
  14. 12 Mar, 2014 1 commit
  15. 11 Mar, 2014 1 commit
  16. 20 Feb, 2014 1 commit
  17. 29 Jan, 2014 3 commits
  18. 17 Jan, 2014 1 commit
  19. 16 Jan, 2014 1 commit
  20. 14 Jan, 2014 5 commits
  21. 10 Jan, 2014 6 commits
  22. 02 Jan, 2014 1 commit
  23. 31 Dec, 2013 2 commits
    • Ken Thomases's avatar
      winemac: More thoroughly discard events which have been obsoleted by subsequent… · 4f9de6bc
      Ken Thomases authored
      winemac: More thoroughly discard events which have been obsoleted by subsequent Wine- or program-driven changes.
      
      Among other things, this fixes Syberia 2.  That game shows, hides, and then
      shows its window.  Hiding it caused a WINDOW_LOST_FOCUS event to be queued.
      By the time it was processed, the window was the foreground window again.
      In response to being told it had lost focus, the game minimized its window.
      
      Hiding the window should have prevented or discarded the WINDOW_LOST_FOCUS
      event since the change was driven from Wine and the Win32 foreground/active
      window state would already be correct.  In addition, when the program
      re-showed its window and made it foreground, that should have discarded the
      event as being out of date.  Now they do.
      4f9de6bc
    • Ken Thomases's avatar
      winemac: For WINDOW_DID_UNMINIMIZE events, don't attempt to restore windows… · 94cfa779
      Ken Thomases authored
      winemac: For WINDOW_DID_UNMINIMIZE events, don't attempt to restore windows which aren't minimized and visible.
      
      The Win32 window state might have changed while the event was in the queue,
      making it obsolete.  Sending WM_SYSCOMMAND/SC_RESTORE might re-show a hidden
      window, for example.
      94cfa779