fix gtk canvas reset
This commit is contained in:
parent
c244a6106a
commit
b027bc3bc3
|
@ -204,12 +204,12 @@
|
||||||
(gtk_widget_queue_draw client-gtk))
|
(gtk_widget_queue_draw client-gtk))
|
||||||
|
|
||||||
(define/public (reset-child-dcs)
|
(define/public (reset-child-dcs)
|
||||||
(send dc reset-dc #t))
|
(send dc reset-dc))
|
||||||
(define/override (maybe-register-as-child parent on?)
|
(define/override (maybe-register-as-child parent on?)
|
||||||
(register-as-child parent on?))
|
(register-as-child parent on?))
|
||||||
|
|
||||||
(define/override (internal-on-client-size w h)
|
(define/override (internal-on-client-size w h)
|
||||||
(send dc reset-dc #f))
|
(send dc reset-dc))
|
||||||
(define/override (on-client-size w h)
|
(define/override (on-client-size w h)
|
||||||
(let ([xb (box 0)]
|
(let ([xb (box 0)]
|
||||||
[yb (box 0)])
|
[yb (box 0)])
|
||||||
|
|
|
@ -31,15 +31,13 @@
|
||||||
(set! c (gdk_cairo_create w))
|
(set! c (gdk_cairo_create w))
|
||||||
c))))
|
c))))
|
||||||
|
|
||||||
(define/public (reset-dc force?)
|
(define/public (reset-dc)
|
||||||
(when (or force?
|
;; FIXME: ensure that the dc is not in use
|
||||||
(eq? 'windows (system-type)))
|
(as-entry
|
||||||
;; FIXME: ensure that the dc is not in use
|
(lambda ()
|
||||||
(as-entry
|
(when c
|
||||||
(lambda ()
|
(cairo_destroy c)
|
||||||
(when c
|
(set! c #f)))))
|
||||||
(cairo_destroy c)
|
|
||||||
(set! c #f))))))
|
|
||||||
|
|
||||||
(define/override (get-size)
|
(define/override (get-size)
|
||||||
(let-values ([(w h) (get-client-size)])
|
(let-values ([(w h) (get-client-size)])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user