GTK+ 3: fix client->global in a frame with a menu bar
It seems that the right answer was produced in GTK+ 2 due to a client-location callback, but change the code to use the intended approach of tracking the menu height.
This commit is contained in:
parent
3be6a90ec7
commit
b06ee46854
|
@ -163,7 +163,7 @@
|
|||
|
||||
(inherit get-gtk set-size
|
||||
pre-on-char pre-on-event
|
||||
get-client-delta get-size
|
||||
get-stored-client-delta get-size
|
||||
get-parent get-eventspace
|
||||
adjust-client-delta
|
||||
queue-on-size)
|
||||
|
@ -463,7 +463,7 @@
|
|||
(define/override (internal-client-to-screen x y)
|
||||
(gtk_window_set_gravity gtk GDK_GRAVITY_STATIC)
|
||||
(let-values ([(dx dy) (gtk_window_get_position gtk)]
|
||||
[(cdx cdy) (get-client-delta)])
|
||||
[(cdx cdy) (get-stored-client-delta)])
|
||||
(gtk_window_set_gravity gtk GDK_GRAVITY_NORTH_WEST)
|
||||
(set-box! x (+ (unbox x) (->normal (+ dx cdx))))
|
||||
(set-box! y (+ (unbox y) (->normal (+ dy cdy))))))
|
||||
|
|
|
@ -834,6 +834,8 @@
|
|||
|
||||
(define/public (get-client-delta)
|
||||
(values 0 0))
|
||||
(define/public (get-stored-client-delta)
|
||||
(values client-delta-w client-delta-h))
|
||||
|
||||
(define/public (warp-pointer x y)
|
||||
(define xb (box x))
|
||||
|
|
Loading…
Reference in New Issue
Block a user