[mutter] workspace: Use for loops instead of whiles to iterate through lists
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] workspace: Use for loops instead of whiles to iterate through lists
- Date: Sat, 16 Aug 2014 19:00:00 +0000 (UTC)
commit 821d946a7203783b5696800c3a7f805e6c95e0c5
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Fri Aug 15 23:01:31 2014 -0400
workspace: Use for loops instead of whiles to iterate through lists
src/core/workspace.c | 74 +++++++++++++++----------------------------------
1 files changed, 23 insertions(+), 51 deletions(-)
---
diff --git a/src/core/workspace.c b/src/core/workspace.c
index f9b0a62..3823299 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -316,14 +316,12 @@ meta_workspace_add_window (MetaWorkspace *workspace,
{
if (window->workspace == NULL)
{
- GList* tmp = window->screen->workspaces;
- while (tmp)
+ GList *l;
+ for (l = window->screen->workspaces; l != NULL; l = l->next)
{
- MetaWorkspace* work = (MetaWorkspace*) tmp->data;
+ MetaWorkspace* work = (MetaWorkspace*) l->data;
if (!g_list_find (work->mru_list, window))
work->mru_list = g_list_prepend (work->mru_list, window);
-
- tmp = tmp->next;
}
}
}
@@ -371,13 +369,11 @@ meta_workspace_remove_window (MetaWorkspace *workspace,
*/
if (window->on_all_workspaces)
{
- GList* tmp = window->screen->workspaces;
- while (tmp)
+ GList *l;
+ for (l = window->screen->workspaces; l != NULL; l = l->next)
{
- MetaWorkspace* work = (MetaWorkspace*) tmp->data;
+ MetaWorkspace* work = (MetaWorkspace*) l->data;
work->mru_list = g_list_remove (work->mru_list, window);
-
- tmp = tmp->next;
}
}
else
@@ -409,23 +405,18 @@ void
meta_workspace_relocate_windows (MetaWorkspace *workspace,
MetaWorkspace *new_home)
{
- GList *tmp;
- GList *copy;
+ GList *copy, *l;
g_return_if_fail (workspace != new_home);
/* can't modify list we're iterating over */
copy = g_list_copy (workspace->windows);
- tmp = copy;
- while (tmp != NULL)
+ for (l = copy; l != NULL; l = l->next)
{
- MetaWindow *window = tmp->data;
-
+ MetaWindow *window = l->data;
meta_workspace_remove_window (workspace, window);
meta_workspace_add_window (new_home, window);
-
- tmp = tmp->next;
}
g_list_free (copy);
@@ -436,15 +427,10 @@ meta_workspace_relocate_windows (MetaWorkspace *workspace,
void
meta_workspace_queue_calc_showing (MetaWorkspace *workspace)
{
- GList *tmp;
+ GList *l;
- tmp = workspace->windows;
- while (tmp != NULL)
- {
- meta_window_queue (tmp->data, META_QUEUE_CALC_SHOWING);
-
- tmp = tmp->next;
- }
+ for (l = workspace->windows; l != NULL; l = l->next)
+ meta_window_queue (l->data, META_QUEUE_CALC_SHOWING);
}
static void
@@ -707,14 +693,11 @@ meta_workspace_index (MetaWorkspace *workspace)
void
meta_workspace_update_window_hints (MetaWorkspace *workspace)
{
- GList *l = workspace->windows;
- while (l)
+ GList *l;
+ for (l = workspace->windows; l != NULL; l = l->next)
{
MetaWindow *win = l->data;
-
meta_window_current_workspace_changed (win);
-
- l = l->next;
}
}
@@ -730,24 +713,20 @@ meta_workspace_update_window_hints (MetaWorkspace *workspace)
GList*
meta_workspace_list_windows (MetaWorkspace *workspace)
{
- GSList *display_windows;
- GSList *tmp;
+ GSList *display_windows, *l;
GList *workspace_windows;
display_windows = meta_display_list_windows (workspace->screen->display,
META_LIST_DEFAULT);
workspace_windows = NULL;
- tmp = display_windows;
- while (tmp != NULL)
+ for (l = display_windows; l != NULL; l = l->next)
{
- MetaWindow *window = tmp->data;
+ MetaWindow *window = l->data;
if (meta_window_located_on_workspace (window, workspace))
workspace_windows = g_list_prepend (workspace_windows,
window);
-
- tmp = tmp->next;
}
g_slist_free (display_windows);
@@ -758,8 +737,7 @@ meta_workspace_list_windows (MetaWorkspace *workspace)
void
meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
{
- GList *tmp;
- GList *windows;
+ GList *windows, *l;
int i;
if (workspace->work_areas_invalid)
@@ -799,14 +777,11 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
/* redo the size/position constraints on all windows */
windows = meta_workspace_list_windows (workspace);
- tmp = windows;
- while (tmp != NULL)
- {
- MetaWindow *w = tmp->data;
+ for (l = windows; l != NULL; l = l->next)
+ {
+ MetaWindow *w = l->data;
meta_window_queue (w, META_QUEUE_MOVE_RESIZE);
-
- tmp = tmp->next;
}
g_list_free (windows);
@@ -825,11 +800,8 @@ copy_strut_list(GSList *original)
{
GSList *result = NULL;
- while (original)
- {
- result = g_slist_prepend (result, copy_strut (original->data));
- original = original->next;
- }
+ for (; original != NULL; original = original->next)
+ result = g_slist_prepend (result, copy_strut (original->data));
return g_slist_reverse (result);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]