+ screen = gtk_widget_get_screen (widget);
+ if (screen == old_screen)
+ return;
+
+#ifdef HAVE_GTK_RECENT
+ if (old_screen) {
+ g_signal_handlers_disconnect_by_func (
+ gtk_recent_manager_get_for_screen (old_screen),
+ G_CALLBACK (ev_window_setup_recent), window);
+ }
+
+ priv->recent_manager = gtk_recent_manager_get_for_screen (screen);
+ g_signal_connect_swapped (priv->recent_manager,
+ "changed",
+ G_CALLBACK (ev_window_setup_recent),
+ window);
+#endif
+