summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/display/sp-canvas.cpp13
-rw-r--r--src/svg-view-widget.cpp9
2 files changed, 19 insertions, 3 deletions
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);