diff --git a/gui-lib/mred/private/wx/gtk/canvas.rkt b/gui-lib/mred/private/wx/gtk/canvas.rkt index 3cc7513f..d9d05472 100644 --- a/gui-lib/mred/private/wx/gtk/canvas.rkt +++ b/gui-lib/mred/private/wx/gtk/canvas.rkt @@ -209,11 +209,6 @@ (not (send wx is-panel?))) #f)))) -(define-gdk gdk_window_get_background_pattern (_fun _GdkWindow -> (_or-null _cairo_pattern_t)) - #:make-fail make-not-available) -(define-gdk gdk_window_get_effective_parent (_fun _GdkWindow -> _GdkWindow) - #:make-fail make-not-available) - (define-signal-handler connect-draw "draw" (_fun _GtkWidget _cairo_t -> _gboolean) (lambda (gtk cr) @@ -221,13 +216,6 @@ (if wx (let ([col (send wx get-canvas-background-for-backing)] [win (widget-window gtk)]) - (when (and win (not col)) - ;; Before transparent drawing, we need to install the - ;; parent window's pattern. - (cairo_set_source cr (gdk_window_get_background_pattern - (gdk_window_get_effective_parent win))) - (cairo_rectangle cr 0 0 32000 32000) - (cairo_fill cr)) (unless (send wx paint-or-queue-paint cr) (when col (cairo_set_source_rgb cr diff --git a/gui-lib/mred/private/wx/gtk/window.rkt b/gui-lib/mred/private/wx/gtk/window.rkt index 4c94c18c..dd6f3c3c 100644 --- a/gui-lib/mred/private/wx/gtk/window.rkt +++ b/gui-lib/mred/private/wx/gtk/window.rkt @@ -129,7 +129,7 @@ (lambda (gtk) (GtkWidgetT-window (cast gtk _GtkWidget _GtkWidgetT-pointer))))) -(define-gtk widget-parent (_fun _GtkWidget -> _GdkWindow) +(define-gtk widget-parent (_fun _GtkWidget -> _GtkWidget) #:c-id gtk_widget_get_parent #:fail (lambda () (lambda (gtk) @@ -864,11 +864,12 @@ (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) + (unless gtk3? + ;; 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)))