gtk: fix frame position tracking

Closes PR 11931
This commit is contained in:
Matthew Flatt 2011-08-03 10:11:33 -06:00
parent 78bdcbd071
commit cdf2085703
2 changed files with 8 additions and 2 deletions

View File

@ -91,6 +91,8 @@
(let ([wx (gtk->wx gtk)]) (let ([wx (gtk->wx gtk)])
(when wx (when wx
(send wx remember-size (send wx remember-size
(GdkEventConfigure-x a)
(GdkEventConfigure-y a)
(GdkEventConfigure-width a) (GdkEventConfigure-width a)
(GdkEventConfigure-height a)))) (GdkEventConfigure-height a))))
#f)) #f))

View File

@ -465,12 +465,16 @@
(gtk_widget_set_size_request child-gtk w h) (gtk_widget_set_size_request child-gtk w h)
(gtk_widget_size_allocate child-gtk (make-GtkAllocation x y w h))) (gtk_widget_size_allocate child-gtk (make-GtkAllocation x y w h)))
(define/public (remember-size w h) (define/public (remember-size x y w h)
;; called in event-pump thread ;; called in event-pump thread
(unless (and (= save-w w) (unless (and (= save-w w)
(= save-h h)) (= save-h h)
(= save-x x)
(= save-y y))
(set! save-w w) (set! save-w w)
(set! save-h h) (set! save-h h)
(set! save-x x)
(set! save-y y)
(queue-on-size))) (queue-on-size)))
(define/public (queue-on-size) (void)) (define/public (queue-on-size) (void))