Fix for SM_SELECT_FROM_LIST mode.

2001-08-10  Richard Hestilow  <hestilow@ximian.com>

	* capplet/prefs-widget.c (random_timeout_cb): Fix for
	  SM_SELECT_FROM_LIST mode.
This commit is contained in:
Richard Hestilow 2001-08-10 18:42:41 +00:00 committed by Rachel Hestilow
parent 0fcf91e2bc
commit 5890f11b77
2 changed files with 12 additions and 6 deletions

View file

@ -1,3 +1,8 @@
2001-08-10 Richard Hestilow <hestilow@ximian.com>
* capplet/prefs-widget.c (random_timeout_cb): Fix for
SM_SELECT_FROM_LIST mode.
2001-08-10 Richard Hestilow <hestilow@ximian.com> 2001-08-10 Richard Hestilow <hestilow@ximian.com>
* capplets/screensavers/magic.pl.in: Add perms to mkdir. * capplets/screensavers/magic.pl.in: Add perms to mkdir.

View file

@ -754,6 +754,7 @@ random_timeout_cb (PrefsWidget *prefs_widget)
{ {
GList *l, *old; GList *l, *old;
gboolean skippedwc = FALSE, skippedvw = FALSE; gboolean skippedwc = FALSE, skippedvw = FALSE;
gboolean beenhere = FALSE;
g_return_val_if_fail (prefs_widget != NULL, FALSE); g_return_val_if_fail (prefs_widget != NULL, FALSE);
@ -810,21 +811,21 @@ random_timeout_cb (PrefsWidget *prefs_widget)
l = prefs_widget->screensavers; l = prefs_widget->screensavers;
} }
if (l) old = l;
old = l->next;
else
old = NULL;
while (l) while (l)
{ {
/* Are we back to where we started? */ /* Are we back to where we started? */
if (((Screensaver*) l->data)->enabled if (((Screensaver*) l->data)->enabled
|| l == prefs_widget->priv->random_current || l == prefs_widget->priv->random_current
|| (old && old == l)) || (beenhere && old && old == l))
break; break;
l = l->next; l = l->next;
if (!beenhere)
beenhere = TRUE;
if (!l) if (!l)
l = prefs_widget->screensavers; l = prefs_widget->screensavers;
} }