[gnome-disk-utility/udisks2-port] Avoid segfault in corner case
- From: David Zeuthen <davidz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-disk-utility/udisks2-port] Avoid segfault in corner case
- Date: Fri, 6 Jan 2012 19:03:47 +0000 (UTC)
commit 19d3855464b4c08e0ca59be5f9e5f3d33a3ce4df
Author: David Zeuthen <davidz redhat com>
Date: Fri Jan 6 14:03:20 2012 -0500
Avoid segfault in corner case
Signed-off-by: David Zeuthen <davidz redhat com>
src/palimpsest/gduvolumegrid.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/src/palimpsest/gduvolumegrid.c b/src/palimpsest/gduvolumegrid.c
index 7c089b4..4c266ef 100644
--- a/src/palimpsest/gduvolumegrid.c
+++ b/src/palimpsest/gduvolumegrid.c
@@ -1498,6 +1498,18 @@ recompute_grid (GduVolumeGrid *grid)
grid->selected = find_element_for_offset_and_object (grid, cur_selected_offset, cur_selected_object);
grid->focused = find_element_for_offset_and_object (grid, cur_focused_offset, cur_focused_object);
+ /* ensure we have at least one element */
+ if (grid->elements == NULL)
+ {
+ element = g_new0 (GridElement, 1);
+ element->type = GDU_VOLUME_GRID_ELEMENT_TYPE_NO_MEDIA;
+ element->size_ratio = 1.0;
+ element->offset = 0;
+ element->size = 0;
+ grid->elements = g_list_append (NULL, element);
+ grid_element_set_details (grid, element);
+ }
+
/* ensure something is always focused/selected */
if (grid->selected == NULL)
grid->selected = grid->elements->data;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]