aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2011-05-01 15:52:17 +1000
committernyamatongwe <devnull@localhost>2011-05-01 15:52:17 +1000
commitdffbb9bb08f887ac8c01cfc8e1c8953ef894c329 (patch)
treea108f5fca8a882e68c8968afc2c2523b1ebdde30
parent322f3230840fe7e519c51d53376fd519de44ea76 (diff)
downloadscintilla-mirror-dffbb9bb08f887ac8c01cfc8e1c8953ef894c329.tar.gz
Use accessor function for widget attributes and initialisation for GTK+ 3.
-rw-r--r--gtk/ScintillaGTK.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index 8633d3b2b..ec19e0e4f 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -408,10 +408,22 @@ void ScintillaGTK::RealizeThis(GtkWidget *widget) {
attrs.height = allocation.height;
attrs.wclass = GDK_INPUT_OUTPUT;
attrs.visual = gtk_widget_get_visual(widget);
+#if !GTK_CHECK_VERSION(3,0,0)
attrs.colormap = gtk_widget_get_colormap(widget);
+#endif
attrs.event_mask = gtk_widget_get_events(widget) | GDK_EXPOSURE_MASK;
GdkCursor *cursor = gdk_cursor_new(GDK_XTERM);
attrs.cursor = cursor;
+#if GTK_CHECK_VERSION(3,0,0)
+ gtk_widget_set_window(widget, gdk_window_new(gtk_widget_get_parent_window(widget), &attrs,
+ GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_CURSOR));
+ gdk_window_set_user_data(gtk_widget_get_window(widget), widget);
+ gdk_window_set_background(gtk_widget_get_window(widget),
+ &(gtk_widget_get_style(widget)->bg[GTK_STATE_NORMAL]));
+ gdk_window_show(gtk_widget_get_window(widget));
+ gdk_cursor_unref(cursor);
+ gtk_widget_style_attach(widget);
+#else
widget->window = gdk_window_new(gtk_widget_get_parent_window(widget), &attrs,
GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP | GDK_WA_CURSOR);
gdk_window_set_user_data(widget->window, widget);
@@ -419,6 +431,7 @@ void ScintillaGTK::RealizeThis(GtkWidget *widget) {
gdk_window_show(widget->window);
gdk_cursor_unref(cursor);
widget->style = gtk_style_attach(widget->style, widget->window);
+#endif
wPreedit = gtk_window_new(GTK_WINDOW_POPUP);
wPreeditDraw = gtk_drawing_area_new();
GtkWidget *predrw = PWidget(wPreeditDraw); // No code inside the G_OBJECT macro