summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-11-15 10:44:20 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-11-15 13:38:37 +0100
commit97c59688a074dc24092c2887ed665b6940f4c97f (patch)
tree7056509abe16418534fd95cac621d9cdaed00915 /vcl/unx
parente3f9e4beae47a168416f032f1354a26cb2be0d67 (diff)
gtk4: fill in some missing parts of Widget::draw
Change-Id: I43af62289369b846f332d350a1a8caa56b6cbe20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125227 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/gtk3/gtkinst.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 2d4e2c4fb8b9..27429d2db702 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -4428,6 +4428,13 @@ public:
#if !GTK_CHECK_VERSION(4, 0, 0)
gtk_widget_draw(m_pWidget, cr);
+#else
+ GtkSnapshot* pSnapshot = gtk_snapshot_new();
+ GtkWidgetClass* pWidgetClass = GTK_WIDGET_GET_CLASS(m_pWidget);
+ pWidgetClass->snapshot(m_pWidget, pSnapshot);
+ GskRenderNode* pNode = gtk_snapshot_free_to_node(pSnapshot);
+ gsk_render_node_draw(pNode, cr);
+ gsk_render_node_unref(pNode);
#endif
cairo_destroy(cr);