diff --git a/libgthumb/gth-image-list.c b/libgthumb/gth-image-list.c
index aec9d02..d160039 100644
--- a/libgthumb/gth-image-list.c
+++ b/libgthumb/gth-image-list.c
@@ -1635,15 +1635,14 @@ paint_rubberband (GthImageList *image_list,
 
 		pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, rect.width, rect.height);
 		gdk_pixbuf_fill (pixbuf, rgba);
-		gdk_pixbuf_render_to_drawable_alpha (pixbuf,
-						     priv->bin_window,
-						     0, 0,
-						     rect.x, rect.y,
-						     rect.width, rect.height,
-						     GDK_PIXBUF_ALPHA_FULL,
-						     0,
-						     GDK_RGB_DITHER_NONE,
-						     0, 0);
+                gdk_draw_pixbuf (priv->bin_window,
+                                 NULL,
+                                 pixbuf,
+                                 0, 0,
+                                 rect.x, rect.y,
+                                 rect.width, rect.height,
+                                 GDK_RGB_DITHER_NONE,
+                                 0, 0);
 		g_object_unref (pixbuf);
 
 #ifdef HAVE_RENDER
diff --git a/libgthumb/gthumb-slide.c b/libgthumb/gthumb-slide.c
index a40119c..25ea92c 100644
--- a/libgthumb/gthumb-slide.c
+++ b/libgthumb/gthumb-slide.c
@@ -575,14 +575,13 @@ draw_shadow (GdkPixmap *pixmap, int x, int y, int width, int height)
 		alpha = MIN (alpha, 255);
 	}
 
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     pixmap,
-					     0, 0,
-					     x, y,
-					     width, height,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
+	gdk_draw_pixbuf (pixmap,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         x, y,
+                         width, height,
+                         GDK_RGB_DITHER_MAX, 0, 0);
 
 	g_object_unref (shadow);
 }
@@ -705,26 +704,24 @@ gthumb_draw_image_shadow_in (int          image_x,
 	shadow = gdk_pixbuf_new (GDK_COLORSPACE_RGB, 1, 8, image_w, image_h);
 
 	gdk_pixbuf_fill (shadow,  0x00000080);
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     drawable,
-					     0, 0,
-					     image_x - INOUT_SHADOW_OFFSET,
-					     image_y - INOUT_SHADOW_OFFSET,
-					     image_w, image_h,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         image_x - INOUT_SHADOW_OFFSET,
+                         image_y - INOUT_SHADOW_OFFSET,
+                         image_w, image_h,
+                         GDK_RGB_DITHER_MAX, 0, 0);
 
 	gdk_pixbuf_fill (shadow,  0xFFFFFF80);
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     drawable,
-					     0, 0,
-					     image_x + INOUT_SHADOW_OFFSET,
-					     image_y + INOUT_SHADOW_OFFSET,
-					     image_w, image_h,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         image_x + INOUT_SHADOW_OFFSET,
+                         image_y + INOUT_SHADOW_OFFSET,
+                         image_w, image_h,
+                         GDK_RGB_DITHER_MAX, 0, 0);
 
 	g_object_unref (shadow);
 	
@@ -736,27 +733,25 @@ gthumb_draw_image_shadow_in (int          image_x,
 
 	_gdk_pixbuf_fill_triangle (shadow, 0x00000080, 0xFFFFFF80);
 	
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     drawable,
-					     0, 0,
-					     image_x + image_w - INOUT_SHADOW_OFFSET,
-					     image_y - INOUT_SHADOW_OFFSET,
-					     INOUT_SHADOW_OFFSET * 2, 
-					     INOUT_SHADOW_OFFSET * 2,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
-
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     drawable,
-					     0, 0,
-					     image_x - INOUT_SHADOW_OFFSET,
-					     image_y + image_h - INOUT_SHADOW_OFFSET,
-					     INOUT_SHADOW_OFFSET * 2, 
-					     INOUT_SHADOW_OFFSET * 2,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         image_x + image_w - INOUT_SHADOW_OFFSET,
+                         image_y - INOUT_SHADOW_OFFSET,
+                         INOUT_SHADOW_OFFSET * 2,
+                         INOUT_SHADOW_OFFSET * 2,
+                         GDK_RGB_DITHER_MAX, 0, 0);
+
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         image_x - INOUT_SHADOW_OFFSET,
+                         image_y + image_h - INOUT_SHADOW_OFFSET,
+                         INOUT_SHADOW_OFFSET * 2,
+                         INOUT_SHADOW_OFFSET * 2,
+                         GDK_RGB_DITHER_MAX, 0, 0);
 
 
 	g_object_unref (shadow);
@@ -775,26 +770,24 @@ gthumb_draw_image_shadow_out (int          image_x,
 	shadow = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, image_w, image_h);
 
 	gdk_pixbuf_fill (shadow,  0xFFFFFF80);
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     drawable,
-					     0, 0,
-					     image_x - INOUT_SHADOW_OFFSET,
-					     image_y - INOUT_SHADOW_OFFSET,
-					     image_w, image_h,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         image_x - INOUT_SHADOW_OFFSET,
+                         image_y - INOUT_SHADOW_OFFSET,
+                         image_w, image_h,
+                         GDK_RGB_DITHER_MAX, 0, 0);
 
 	gdk_pixbuf_fill (shadow,  0x00000080);
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     drawable,
-					     0, 0,
-					     image_x + INOUT_SHADOW_OFFSET,
-					     image_y + INOUT_SHADOW_OFFSET,
-					     image_w, image_h,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         image_x + INOUT_SHADOW_OFFSET,
+                         image_y + INOUT_SHADOW_OFFSET,
+                         image_w, image_h,
+                         GDK_RGB_DITHER_MAX, 0, 0);
 
 	g_object_unref (shadow);
 
@@ -806,27 +799,25 @@ gthumb_draw_image_shadow_out (int          image_x,
 
 	_gdk_pixbuf_fill_triangle (shadow, 0xFFFFFF80, 0x00000080);
 	
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     drawable,
-					     0, 0,
-					     image_x + image_w - INOUT_SHADOW_OFFSET,
-					     image_y - INOUT_SHADOW_OFFSET,
-					     INOUT_SHADOW_OFFSET * 2, 
-					     INOUT_SHADOW_OFFSET * 2,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
-
-	gdk_pixbuf_render_to_drawable_alpha (shadow,
-					     drawable,
-					     0, 0,
-					     image_x - INOUT_SHADOW_OFFSET,
-					     image_y + image_h - INOUT_SHADOW_OFFSET,
-					     INOUT_SHADOW_OFFSET * 2, 
-					     INOUT_SHADOW_OFFSET * 2,
-					     GDK_PIXBUF_ALPHA_FULL, 
-					     255,
-					     GDK_RGB_DITHER_MAX, 0, 0);
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         image_x + image_w - INOUT_SHADOW_OFFSET,
+                         image_y - INOUT_SHADOW_OFFSET,
+                         INOUT_SHADOW_OFFSET * 2,
+                         INOUT_SHADOW_OFFSET * 2,
+                         GDK_RGB_DITHER_MAX, 0, 0);
+
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         shadow,
+                         0, 0,
+                         image_x - INOUT_SHADOW_OFFSET,
+                         image_y + image_h - INOUT_SHADOW_OFFSET,
+                         INOUT_SHADOW_OFFSET * 2,
+                         INOUT_SHADOW_OFFSET * 2,
+                         GDK_RGB_DITHER_MAX, 0, 0);
 
 
 	g_object_unref (shadow);
diff --git a/libgthumb/nav-window.c b/libgthumb/nav-window.c
index 1a9a9d0..689c2d9 100644
--- a/libgthumb/nav-window.c
+++ b/libgthumb/nav-window.c
@@ -204,10 +204,10 @@ nav_window_expose (GtkWidget      *widget,
 		return FALSE;
 
 	if (! gdk_pixbuf_get_has_alpha (nav_win->pixbuf))
-		gdk_pixbuf_render_to_drawable (
-		       nav_win->pixbuf,
+                gdk_draw_pixbuf (
 		       nav_win->preview->window,
 		       nav_win->preview->style->white_gc,
+		       nav_win->pixbuf,
 		       0, 0,
 		       0, 0,
 		       nav_win->popup_width,
@@ -215,15 +215,14 @@ nav_window_expose (GtkWidget      *widget,
 		       GDK_RGB_DITHER_MAX,
 		       0, 0);
 	else
-		gdk_pixbuf_render_to_drawable_alpha (
-			nav_win->pixbuf,
+                gdk_draw_pixbuf (
 			nav_win->preview->window,
+                        NULL,
+			nav_win->pixbuf,
 			0, 0,
 			0, 0,
 			nav_win->popup_width,
 			nav_win->popup_height,
-			GDK_PIXBUF_ALPHA_BILEVEL,
-			112, /* FIXME */
 			GDK_RGB_DITHER_MAX,
 			0, 0);
 	
diff --git a/src/albumtheme.c b/src/albumtheme.c
index 4d5d72f..0cc4c40 100644
--- a/src/albumtheme.c
+++ b/src/albumtheme.c
@@ -1960,7 +1960,7 @@ yyreduce:
 #line 355 "albumtheme.y"
       {
 	GString *s = g_string_new ("");
-	g_string_sprintf (s, " %i", (yyvsp[(1) - (1)].ivalue));
+	g_string_printf (s, " %i", (yyvsp[(1) - (1)].ivalue));
 	(yyval.string) = s;
 	;
       }
diff --git a/src/albumtheme.y b/src/albumtheme.y
index e350323..d5d123d 100644
--- a/src/albumtheme.y
+++ b/src/albumtheme.y
@@ -354,7 +354,7 @@ constant        : NAME {
 		}
 		| NUMBER {
 			GString* s = g_string_new("");
-			g_string_sprintf(s, " %i", $1);
+			g_string_printf(s, " %i", $1);
 			$$ = s;
 		}
 		;
diff --git a/src/catalog-png-exporter.c b/src/catalog-png-exporter.c
index c100336..5ffdcf4 100644
--- a/src/catalog-png-exporter.c
+++ b/src/catalog-png-exporter.c
@@ -1549,8 +1549,6 @@ begin_export (CatalogPngExporter *ce)
 	gdk_color_parse ("#AAAAAA", &ce->dark_gray);
 	gdk_color_parse ("#CCCCCC", &ce->gray);
 	gdk_color_parse ("#FFFFFF", &ce->white);
-
-	gdk_pango_context_set_colormap (ce->context, ce->gc->colormap);
 }
 
 
@@ -1891,23 +1889,22 @@ paint_image (CatalogPngExporter *ce,
 				    width,
 				    height);
 
-		gdk_pixbuf_render_to_drawable_alpha (image,
-						     ce->pixmap,
-						     0, 0,
-						     x, y,
-						     width, height,
-						     GDK_PIXBUF_ALPHA_BILEVEL,
-						     112,
-						     GDK_RGB_DITHER_MAX, 0, 0);
+                gdk_draw_pixbuf (ce->pixmap,
+                                 NULL,
+                                 image,
+                                 0, 0,
+                                 x, y,
+                                 width, height,
+                                 GDK_RGB_DITHER_MAX, 0, 0);
 
 	} else
-		gdk_pixbuf_render_to_drawable (image,
-					       ce->pixmap,
-					       ce->gc,
-					       0, 0,
-					       x, y,
-					       width, height,
-					       GDK_RGB_DITHER_MAX, 0, 0);
+                gdk_draw_pixbuf (ce->pixmap,
+                                 ce->gc,
+                                 image,
+                                 0, 0,
+                                 x, y,
+                                 width, height,
+                                 GDK_RGB_DITHER_MAX, 0, 0);
 }
 
 
diff --git a/src/dlg-categories.c b/src/dlg-categories.c
index 1efd5fd..fb9e9a6 100644
--- a/src/dlg-categories.c
+++ b/src/dlg-categories.c
@@ -453,19 +453,6 @@ name_column_sort_func (GtkTreeModel *model,
 }
 
 
-static gboolean
-keyword_equal_func (GtkTreeModel *model,
-		    gint          column,
-		    const gchar  *key,
-		    GtkTreeIter  *iter,
-		    gpointer      search_data)
-{
-	char *cell;
-	gtk_tree_model_get (model, iter, column, &cell, -1);
-	return g_strcasecmp (key, cell) > 0;
-}
-
-
 static GtkWidget*
 dlg_categories_common (GtkWindow     *parent,
 		       GthWindow     *window,
@@ -540,10 +527,6 @@ dlg_categories_common (GtkWindow     *parent,
 
 	gtk_tree_view_set_search_column (GTK_TREE_VIEW (data->keywords_list_view),
 					 CATEGORY_COLUMN);
-	gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW (data->keywords_list_view),
-					     keyword_equal_func,
-					     NULL,
-					     NULL);
 
 	column = gtk_tree_view_column_new ();
 
diff --git a/src/gth-fullscreen.c b/src/gth-fullscreen.c
index fbfa977..4a445f7 100644
--- a/src/gth-fullscreen.c
+++ b/src/gth-fullscreen.c
@@ -678,14 +678,13 @@ render_background (GdkDrawable    *drawable,
 
 	/**/
 
-	gdk_pixbuf_render_to_drawable_alpha (pixbuf,
-					     drawable,
-					     0, 0,
-					     0, 0,
-					     bounds->width, bounds->height,
-					     GDK_PIXBUF_ALPHA_FULL,
-					     255,
-					     GDK_RGB_DITHER_NONE, 0, 0);
+        gdk_draw_pixbuf (drawable,
+                         NULL,
+                         pixbuf,
+                         0, 0,
+                         0, 0,
+                         bounds->width, bounds->height,
+                         GDK_RGB_DITHER_NONE, 0, 0);
 	g_object_unref (pixbuf);
 }
 
@@ -1016,14 +1015,14 @@ show_comment_on_image (GthFullscreen *fullscreen)
 			 text_x,
 			 text_y,
 			 layout);
-	gdk_pixbuf_render_to_drawable (icon,
-				       priv->buffer,
-				       GTK_WIDGET (viewer)->style->black_gc,
-				       0, 0,
-				       icon_x, icon_y,
-				       icon_w, icon_h,
-				       GDK_RGB_DITHER_NONE,
-				       0, 0);
+        gdk_draw_pixbuf (priv->buffer,
+                         GTK_WIDGET (viewer)->style->black_gc,
+                         icon,
+                         0, 0,
+                         icon_x, icon_y,
+                         icon_w, icon_h,
+                         GDK_RGB_DITHER_NONE,
+                         0, 0);
 	g_object_unref (icon);
 	g_object_unref (layout);
 
diff --git a/src/gth-viewer.c b/src/gth-viewer.c
index 265e000..5ac1db1 100644
--- a/src/gth-viewer.c
+++ b/src/gth-viewer.c
@@ -103,7 +103,6 @@ struct _GthViewerPrivateData {
 	GtkWidget       *open_with_popup_menu;
 	GtkToolItem     *rotate_tool_item;
 
-	GtkTooltips     *tooltips;
         guint            help_message_cid;
         guint            image_info_cid;
         guint            progress_cid;
@@ -763,7 +762,7 @@ viewer_update_open_with_menu (GthViewer *viewer)
 					  G_CALLBACK (open_with_menu_item_activate_cb),
 					  viewer);
 			gtk_widget_show_all (mitem);
-			gtk_menu_insert (priv->open_with_popup_menu, mitem, pos++);
+			gtk_menu_shell_insert (GTK_MENU_SHELL (priv->open_with_popup_menu), mitem, pos++);
 
 			g_object_unref (icon);
 			if (icon_names)
@@ -775,12 +774,12 @@ viewer_update_open_with_menu (GthViewer *viewer)
 		mitem = gtk_menu_item_new_with_label (_("_None"));
 		gtk_widget_set_sensitive (mitem, FALSE);
 		gtk_widget_show (mitem);
-		gtk_menu_insert (priv->open_with_popup_menu, mitem, pos++);
+		gtk_menu_shell_insert (GTK_MENU_SHELL (priv->open_with_popup_menu), mitem, pos++);
 	}
 
 	mitem = gtk_separator_menu_item_new ();
 	gtk_widget_show (mitem);
-	gtk_menu_insert (priv->open_with_popup_menu, mitem, pos++);
+	gtk_menu_shell_insert (GTK_MENU_SHELL (priv->open_with_popup_menu), mitem, pos++);
 }
 
 
@@ -1315,8 +1314,8 @@ add_open_with_toolbar_item (GthViewer *viewer)
 	gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (priv->open_with_tool_item),
 				       priv->open_with_popup_menu);
 	gtk_tool_item_set_homogeneous (priv->open_with_tool_item, FALSE);
-	gtk_tool_item_set_tooltip (priv->open_with_tool_item, priv->tooltips, _("Open selected images with an application"), NULL);
-	gtk_menu_tool_button_set_arrow_tooltip (GTK_MENU_TOOL_BUTTON (priv->open_with_tool_item), priv->tooltips, _("Open selected images with an application"), NULL);
+	gtk_tool_item_set_tooltip_text (priv->open_with_tool_item, _("Open selected images with an application"));
+	gtk_menu_tool_button_set_arrow_tooltip_text (GTK_MENU_TOOL_BUTTON (priv->open_with_tool_item), _("Open selected images with an application"));
 	gtk_action_connect_proxy (gtk_ui_manager_get_action (priv->ui, "/MenuBar/File/Image_OpenWith"),
 				  GTK_WIDGET (priv->open_with_tool_item));
 
@@ -1346,8 +1345,6 @@ gth_viewer_construct (GthViewer   *viewer,
 
 	/* Create the widgets. */
 
-	priv->tooltips = gtk_tooltips_new ();
-
 	/* Build the menu and the toolbar. */
 
 	priv->actions = actions = gtk_action_group_new ("Actions");
@@ -1515,10 +1512,8 @@ gth_viewer_construct (GthViewer   *viewer,
 	gtk_container_add (GTK_CONTAINER (button), image);
 
 	gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
-	gtk_tooltips_set_tip (priv->tooltips,
-			      button,
-			      _("Image comment"),
-			      NULL);
+        gtk_widget_set_tooltip_text (button,
+                                     _("Image comment"));
 	g_signal_connect (G_OBJECT (button),
 			  "toggled",
 			  G_CALLBACK (comment_button_toggled_cb),
@@ -1770,8 +1765,6 @@ close__step2 (FileData *file,
 	if (viewer->priv->progress_gui != NULL)
 		g_object_unref (viewer->priv->progress_gui);
 
-	gtk_object_destroy (GTK_OBJECT (viewer->priv->tooltips));
-
 	if (viewer->priv->image_popup_menu != NULL) {
 		gtk_widget_destroy (viewer->priv->image_popup_menu);
 		viewer->priv->image_popup_menu = NULL;
