avoid GTK3 warning

This commit is contained in:
Matthew Flatt 2017-01-04 16:28:13 -07:00
parent 48c1b28284
commit 38f0c6adb5
3 changed files with 14 additions and 2 deletions

View File

@ -245,7 +245,8 @@
(define/override (set-child-size child-gtk x y w h)
(gtk_fixed_move panel-gtk child-gtk (->screen x) (->screen y))
;; gtk3: we expect a panel in a frame to be always visible, so
;; this size erquest should work
;; this size request should work
(avoid-preferred-size-warning child-gtk)
(gtk_widget_set_size_request child-gtk (->screen w) (->screen h)))
(define/public (on-close) #t)

View File

@ -144,6 +144,7 @@
(begin
(gtk_widget_show child-gtk)
#t)))
(avoid-preferred-size-warning child-gtk)
(gtk_widget_set_size_request child-gtk (->screen w) (->screen h))
(when re-hide?
(gtk_widget_hide child-gtk)))))
@ -199,7 +200,7 @@
(set-size 0 0 (if border-gtk 3 1) (if border-gtk 3 1))
(when border-gtk
(adjust-client-delta 2 2))
(connect-key-and-mouse gtk)
(gtk_widget_add_events gtk (bitwise-ior GDK_BUTTON_PRESS_MASK
GDK_BUTTON_RELEASE_MASK

View File

@ -55,6 +55,8 @@
widget-allocation
widget-parent
avoid-preferred-size-warning
the-accelerator-group
gtk_window_add_accel_group
gtk_menu_set_accel_group
@ -102,6 +104,14 @@
(define-gtk gtk_widget_get_scale_factor (_fun _GtkWidget -> _int)
#:fail (lambda () (lambda (gtk) 1)))
(define (avoid-preferred-size-warning gtk)
;; If we don't ask for a widget's size in the right way,
;; GTK3 may report a warning; this query avoids the
;; warning.
(when gtk3?
(define req (make-GtkRequisition 0 0))
(gtk_widget_get_preferred_size gtk req #f)))
(define-gdk gdk_keyboard_grab (_fun _GdkWindow _gboolean _int -> _void))
(define-gdk gdk_keyboard_ungrab (_fun _int -> _void))