aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <unknown>2011-06-22 17:52:57 +1000
committernyamatongwe <unknown>2011-06-22 17:52:57 +1000
commitd8bc83bc7f72f4772096cc1c220dadeaa8dcfc34 (patch)
tree0f7c36fed5da83cfb83f40ff9e3a013106a71fa2
parent7117c7569d7a1bd647fea0ec0e01f5fd4d20f193 (diff)
downloadscintilla-mirror-d8bc83bc7f72f4772096cc1c220dadeaa8dcfc34.tar.gz
Made IME work on GTK+ 2.x with Cairo. Bug #3311423.
-rw-r--r--gtk/ScintillaGTK.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index e5bb3fb5a..c03841b22 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -2289,7 +2289,12 @@ gboolean ScintillaGTK::ExposePreeditThis(GtkWidget *widget, GdkEventExpose *ose)
PangoLayout *layout = gtk_widget_create_pango_layout(PWidget(wText), str);
pango_layout_set_attributes(layout, attrs);
-#ifndef USE_CAIRO
+#ifdef USE_CAIRO
+ cairo_t *context = gdk_cairo_create(reinterpret_cast<GdkDrawable *>(WindowFromWidget(widget)));
+ cairo_move_to(context, 0, 0);
+ pango_cairo_show_layout(context, layout);
+ cairo_destroy(context);
+#else
GdkGC *gc = gdk_gc_new(widget->window);
GdkColor color[2] = { {0, 0x0000, 0x0000, 0x0000},
{0, 0xffff, 0xffff, 0xffff}