aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2005-10-29 22:21:24 +0800
committerChristian Persch <chpe@src.gnome.org>2005-10-29 22:21:24 +0800
commitba697048386d840a5af8a9a56f47b7e3bd4ead9e (patch)
tree5261ccc18d508597ea9d2514b05285660ba18d02 /lib
parent4e42805869461282ad1594409060b175b2b32db7 (diff)
downloadgsoc2013-epiphany-ba697048386d840a5af8a9a56f47b7e3bd4ead9e.tar
gsoc2013-epiphany-ba697048386d840a5af8a9a56f47b7e3bd4ead9e.tar.gz
gsoc2013-epiphany-ba697048386d840a5af8a9a56f47b7e3bd4ead9e.tar.bz2
gsoc2013-epiphany-ba697048386d840a5af8a9a56f47b7e3bd4ead9e.tar.lz
gsoc2013-epiphany-ba697048386d840a5af8a9a56f47b7e3bd4ead9e.tar.xz
gsoc2013-epiphany-ba697048386d840a5af8a9a56f47b7e3bd4ead9e.tar.zst
gsoc2013-epiphany-ba697048386d840a5af8a9a56f47b7e3bd4ead9e.zip
Skip spinner update when we're not loaded. Should fix bug #320079.
2005-10-29 Christian Persch <chpe@cvs.gnome.org> * lib/widgets/ephy-spinner.c: (bump_spinner_frame_cb), (ephy_spinner_start): Skip spinner update when we're not loaded. Should fix bug #320079.
Diffstat (limited to 'lib')
-rw-r--r--lib/widgets/ephy-spinner.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/widgets/ephy-spinner.c b/lib/widgets/ephy-spinner.c
index 5ae2876f2..1371ea3dd 100644
--- a/lib/widgets/ephy-spinner.c
+++ b/lib/widgets/ephy-spinner.c
@@ -700,14 +700,19 @@ ephy_spinner_expose (GtkWidget *widget,
static gboolean
bump_spinner_frame_cb (EphySpinner *spinner)
{
+ EphySpinnerDetails *details = spinner->details;
GList *frame;
- if (!GTK_WIDGET_DRAWABLE (spinner))
- {
- return TRUE;
- }
+ if (!GTK_WIDGET_DRAWABLE (spinner)) return TRUE;
+
+ /* This can happen when we've unloaded the images on a theme
+ * change, but haven't been in the queued size request yet.
+ * Just skip this update.
+ */
+ if (details->images == NULL) return TRUE;
- frame = spinner->details->current_image;
+ frame = details->current_image;
+ g_assert (frame != NULL);
if (frame->next != NULL)
{
@@ -718,7 +723,7 @@ bump_spinner_frame_cb (EphySpinner *spinner)
frame = g_list_first (frame);
}
- spinner->details->current_image = frame;
+ details->current_image = frame;
gtk_widget_queue_draw (GTK_WIDGET (spinner));
@@ -742,7 +747,6 @@ ephy_spinner_start (EphySpinner *spinner)
if (GTK_WIDGET_MAPPED (GTK_WIDGET (spinner)) &&
details->timer_task == 0 &&
ephy_spinner_load_images (spinner))
-
{
if (details->images != NULL)
{