Index: ChangeLog =================================================================== RCS file: /cvs/gnome/evince/ChangeLog,v retrieving revision 1.863 diff -u -u -r1.863 ChangeLog --- ChangeLog 14 Aug 2006 23:12:28 -0000 1.863 +++ ChangeLog 15 Aug 2006 15:36:07 -0000 @@ -1,3 +1,10 @@ +2006-08-14 Carlos Garcia Campos + + * shell/ev-sidebar-thumbnails.c: + + Do not render thumbnails unless thumbnails page is active in the + sidebar. + 2006-08-14 Christian Persch * shell/ev-properties-dialog.c: Index: shell/ev-sidebar-thumbnails.c =================================================================== RCS file: /cvs/gnome/evince/shell/ev-sidebar-thumbnails.c,v retrieving revision 1.43 diff -u -u -r1.43 ev-sidebar-thumbnails.c --- shell/ev-sidebar-thumbnails.c 29 May 2006 16:26:31 -0000 1.43 +++ shell/ev-sidebar-thumbnails.c 15 Aug 2006 15:36:07 -0000 @@ -85,6 +85,7 @@ static const gchar* ev_sidebar_thumbnails_get_label (EvSidebarPage *sidebar_page); static void thumbnail_job_completed_callback (EvJobThumbnail *job, EvSidebarThumbnails *sidebar_thumbnails); +static void adjustment_changed_cb (EvSidebarThumbnails *sidebar_thumbnails); G_DEFINE_TYPE_EXTENDED (EvSidebarThumbnails, ev_sidebar_thumbnails, @@ -124,8 +125,7 @@ { EvSidebarThumbnails *sidebar = EV_SIDEBAR_THUMBNAILS (object); - switch (prop_id) - { + switch (prop_id) { case PROP_WIDGET: if (sidebar->priv->tree_view) g_value_set_object (value, sidebar->priv->tree_view); @@ -139,16 +139,31 @@ } static void +ev_sidebar_thumbnails_map (GtkWidget *widget) +{ + EvSidebarThumbnails *sidebar; + + sidebar = EV_SIDEBAR_THUMBNAILS (widget); + + GTK_WIDGET_CLASS (ev_sidebar_thumbnails_parent_class)->map (widget); + + adjustment_changed_cb (sidebar); +} + +static void ev_sidebar_thumbnails_class_init (EvSidebarThumbnailsClass *ev_sidebar_thumbnails_class) { GObjectClass *g_object_class; GtkObjectClass *gtk_object_class; + GtkWidgetClass *widget_class; g_object_class = G_OBJECT_CLASS (ev_sidebar_thumbnails_class); gtk_object_class = GTK_OBJECT_CLASS (ev_sidebar_thumbnails_class); + widget_class = GTK_WIDGET_CLASS (ev_sidebar_thumbnails_class); g_object_class->dispose = ev_sidebar_thumbnails_dispose; g_object_class->get_property = ev_sidebar_thumbnails_get_property; + widget_class->map = ev_sidebar_thumbnails_map; g_object_class_override_property (g_object_class, PROP_WIDGET, @@ -290,6 +305,10 @@ gint wy1; gint wy2; + /* Widget is not currently visible */ + if (!GTK_WIDGET_MAPPED (sidebar_thumbnails)) + return; + if (priv->tree_view) { if (! GTK_WIDGET_REALIZED (priv->tree_view)) return;