diff options
-rw-r--r-- | gtk/ScintillaGTK.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index 3788275c9..8633d3b2b 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -2277,13 +2277,18 @@ void ScintillaGTK::PreeditChanged(GtkIMContext *, ScintillaGTK *sciThis) { } void ScintillaGTK::StyleSetText(GtkWidget *widget, GtkStyle *, void*) { - if (WindowFromWidget(widget)) - gdk_window_set_back_pixmap(WindowFromWidget(widget), NULL, FALSE); + RealizeText(widget, NULL); } void ScintillaGTK::RealizeText(GtkWidget *widget, void*) { - if (WindowFromWidget(widget)) + // Set NULL background to avoid automatic clearing so Scintilla responsible for all drawing + if (WindowFromWidget(widget)) { +#if GTK_CHECK_VERSION(3,0,0) + gdk_window_set_background_pattern(WindowFromWidget(widget), NULL); +#else gdk_window_set_back_pixmap(WindowFromWidget(widget), NULL, FALSE); +#endif + } } void ScintillaGTK::Destroy(GObject *object) { |