summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Piel <e.a.b.piel@tudelft.nl>2008-08-18 02:48:36 +0000
committerThomas James Alexander Thurman <tthurman@src.gnome.org>2008-08-18 02:48:36 +0000
commit233237f0982a53a85c6b9d49e391a9663804a46f (patch)
tree328e0a9473029a69c51c5e3cd19ac8d424094f99
parent4fb40b57a9c55ea4ada55f75cacfc2ea8936870b (diff)
downloadmetacity-233237f0982a53a85c6b9d49e391a9663804a46f.tar.gz
add a copy of each strut in a window to the workspace's strut list,
2008-08-18 Eric Piel <e.a.b.piel@tudelft.nl> * src/core/workspace.c (ensure_work_areas_validated): add a copy of each strut in a window to the workspace's strut list, instead of using the copy in the list (which would mean it was double-freed). Believed to fix #468075. svn path=/trunk/; revision=3817
-rw-r--r--ChangeLog7
-rw-r--r--src/core/workspace.c7
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index c2f67d0e..37e544e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-08-18 Eric Piel <e.a.b.piel@tudelft.nl>
+
+ * src/core/workspace.c (ensure_work_areas_validated): add a copy of
+ each strut in a window to the workspace's strut list, instead of
+ using the copy in the list (which would mean it was double-freed).
+ Believed to fix #468075.
+
2008-08-16 Ted Percival <ted@midg3t.net>
Ensure the user_rect is set sanely for windows that start maximized.
diff --git a/src/core/workspace.c b/src/core/workspace.c
index 12355a06..13731d57 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -514,9 +514,12 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
MetaWindow *win = tmp->data;
GSList *s_iter;
- for (s_iter = win->struts; s_iter != NULL; s_iter = s_iter->next)
+ for (s_iter = win->struts; s_iter != NULL; s_iter = s_iter->next) {
+ MetaStrut *cpy = g_new (MetaStrut, 1);
+ *cpy = *((MetaStrut *)s_iter->data);
workspace->all_struts = g_slist_prepend (workspace->all_struts,
- s_iter->data);
+ cpy);
+ }
}
g_list_free (windows);