diff options
-rw-r--r-- | src/sbmanager.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/sbmanager.c b/src/sbmanager.c index 5ef3d04..ed860eb 100644 --- a/src/sbmanager.c +++ b/src/sbmanager.c @@ -647,9 +647,13 @@ static void redraw_icons() static GList *insert_into_icon_list(GList *iconlist, SBItem *newitem, gfloat item_x, gfloat item_y) { - if (!newitem || !iconlist) { + if (!newitem) { return iconlist; } + if (!iconlist) { + /* for empty lists just add the element */ + return g_list_append(iconlist, newitem); + } gint i; gint count = g_list_length(iconlist); gint newpos = count; @@ -682,7 +686,7 @@ static GList *insert_into_icon_list(GList *iconlist, SBItem *newitem, gfloat ite } } - return g_list_insert(iconlist, selected_item, newpos); + return g_list_insert(iconlist, newitem, newpos); } static gboolean stage_motion(ClutterActor *actor, ClutterMotionEvent *event, gpointer user_data) |