aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/ScintillaGTK.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/ScintillaGTK.cxx')
-rw-r--r--gtk/ScintillaGTK.cxx20
1 files changed, 19 insertions, 1 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index 22ecf347b..b066ab7b2 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -57,7 +57,7 @@
#define INTERNATIONAL_INPUT
-#if !PLAT_GTK_WIN32
+#if !PLAT_GTK_WIN32 || GTK_MAJOR_VERSION >= 2
#include "Converter.h"
#endif
@@ -209,6 +209,8 @@ private:
static void PreeditChanged(GtkIMContext *context, ScintillaGTK *sciThis);
void PreeditChangedThis();
#endif
+ static gint StyleSetText(GtkWidget *widget, GtkStyle *previous, void*);
+ static gint RealizeText(GtkWidget *widget, void*);
static void Destroy(GtkObject *object);
static void SelectionReceived(GtkWidget *widget, GtkSelectionData *selection_data,
guint time);
@@ -401,6 +403,10 @@ void ScintillaGTK::RealizeThis(GtkWidget *widget) {
wPreeditDraw = gtk_drawing_area_new();
gtk_signal_connect(GTK_OBJECT(PWidget(wPreeditDraw)), "expose_event",
GtkSignalFunc(ExposePreedit), this);
+ gtk_signal_connect_after(GTK_OBJECT(PWidget(wText)), "style_set",
+ GtkSignalFunc(ScintillaGTK::StyleSetText), NULL);
+ gtk_signal_connect_after(GTK_OBJECT(PWidget(wText)), "realize",
+ GtkSignalFunc(ScintillaGTK::RealizeText), NULL);
gtk_container_add(GTK_CONTAINER(PWidget(wPreedit)), PWidget(wPreeditDraw));
gtk_widget_realize(PWidget(wPreedit));
gtk_widget_realize(PWidget(wPreeditDraw));
@@ -1934,6 +1940,18 @@ void ScintillaGTK::PreeditChangedThis() {
}
#endif
+gint ScintillaGTK::StyleSetText(GtkWidget *widget, GtkStyle *, void*) {
+ if (widget->window != NULL)
+ gdk_window_set_back_pixmap(widget->window, NULL, FALSE);
+ return FALSE;
+}
+
+gint ScintillaGTK::RealizeText(GtkWidget *widget, void*) {
+ if (widget->window != NULL)
+ gdk_window_set_back_pixmap(widget->window, NULL, FALSE);
+ return FALSE;
+}
+
void ScintillaGTK::Destroy(GtkObject* object) {
ScintillaObject *scio = reinterpret_cast<ScintillaObject *>(object);
// This avoids a double destruction