From b2af0a86aa6b60f28fe6a9051f67e19df1b467ac Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sat, 9 Jun 2012 21:37:17 +0100 Subject: Don't use GtkColormap in Gtk+ 3 (bzr r11480) --- src/display/sp-canvas.cpp | 13 +++++++++++-- src/svg-view-widget.cpp | 9 ++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 5e13bc57f..d53394593 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -1369,8 +1369,12 @@ void SPCanvasImpl::realize(GtkWidget *widget) attributes.width = allocation.width; attributes.height = allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; - attributes.visual = gdk_rgb_get_visual (); - attributes.colormap = gdk_rgb_get_cmap (); + attributes.visual = gdk_visual_get_system(); + +#if !GTK_CHECK_VERSION(3,0,0) + attributes.colormap = gdk_colormap_get_system(); +#endif + attributes.event_mask = (gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | @@ -1385,7 +1389,12 @@ void SPCanvasImpl::realize(GtkWidget *widget) GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK); + +#if GTK_CHECK_VERSION(3,0,0) + gint attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; +#else gint attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP; +#endif GdkWindow *window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gtk_widget_set_window (widget, window); diff --git a/src/svg-view-widget.cpp b/src/svg-view-widget.cpp index 955f1d8fa..d392943e0 100644 --- a/src/svg-view-widget.cpp +++ b/src/svg-view-widget.cpp @@ -109,10 +109,17 @@ static void sp_svg_view_widget_init(SPSVGSPViewWidget *vw) gtk_widget_show (vw->sw); /* Canvas */ - GdkColormap *cmap = gdk_screen_get_system_colormap(gdk_screen_get_default()); +#if !GTK_CHECK_VERSION(3,0,0) + GdkColormap *cmap = gdk_colormap_get_system(); gtk_widget_push_colormap(cmap); +#endif + vw->canvas = SPCanvas::createAA(); + +#if !GTK_CHECK_VERSION(3,0,0) gtk_widget_pop_colormap (); +#endif + style = gtk_style_copy (gtk_widget_get_style (vw->canvas)); style->bg[GTK_STATE_NORMAL] = style->white; gtk_widget_set_style (vw->canvas, style); -- cgit v1.2.3