gtk: fix problem wth window freeze & thaw
Closes PR 12496
Merge to 5.2.1
(cherry picked from commit 484803a896
)
This commit is contained in:
parent
5686f0e758
commit
b05bfd0acf
|
@ -716,6 +716,7 @@
|
|||
(define-gdk gdk_window_thaw_updates (_fun _GdkWindow -> _void))
|
||||
(define-gdk gdk_window_invalidate_rect (_fun _GdkWindow _pointer _gboolean -> _void))
|
||||
(define-gdk gdk_window_process_all_updates (_fun -> _void))
|
||||
(define-gdk gdk_window_ensure_native (_fun _GdkWindow -> _gboolean))
|
||||
|
||||
(define (win-box-valid? win-box)
|
||||
(mcar win-box))
|
||||
|
@ -734,6 +735,11 @@
|
|||
(lambda (win-box)
|
||||
(let ([win (mcar win-box)])
|
||||
(and win
|
||||
;; The freeze/thaw state is actually with the window's
|
||||
;; implementation, so force a native implementation of the
|
||||
;; window to try to avoid it changing out from underneath
|
||||
;; us between the freeze and thaw actions.
|
||||
(gdk_window_ensure_native win)
|
||||
(begin
|
||||
(gdk_window_freeze_updates win)
|
||||
(set-mcdr! win-box (add1 (mcdr win-box)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user