summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2010-01-17 19:26:58 +0100
committerGravatar Martin Szulecki2010-01-17 19:39:50 +0100
commit5a632f2328932b6c3120a40cfe790a35a01baefc (patch)
tree29eaf3e85c6b09d3e6cb732788894824690dc87d
parent8b4dd2c8865234972779f8c980e1017ef8fbc5dc (diff)
downloadsbmanager-5a632f2328932b6c3120a40cfe790a35a01baefc.tar.gz
sbmanager-5a632f2328932b6c3120a40cfe790a35a01baefc.tar.bz2
Fix icon drawing when rearranging consecutive full pages
-rw-r--r--src/sbmanager.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/sbmanager.c b/src/sbmanager.c
index 8d5995d..3e92ae6 100644
--- a/src/sbmanager.c
+++ b/src/sbmanager.c
@@ -302,7 +302,11 @@ static GList *iconlist_insert_item_at(GList *iconlist, SBItem *newitem, gfloat i
thepage_count = g_list_length(thepage);
}
if (prevpage) {
- thepage = g_list_prepend(thepage, g_list_nth_data(prevpage, g_list_length(prevpage)-1));
+ SBItem *prev_page_item = g_list_nth_data(prevpage, MAX_PAGE_ITEMS-1);
+ /* animate this item to fix drawing error */
+ actor = clutter_actor_get_parent(prev_page_item->texture);
+ clutter_actor_animate(actor, CLUTTER_LINEAR, 100, "x", 16 + PAGE_X_OFFSET(i + 1), "y", 16.0, NULL);
+ thepage = g_list_prepend(thepage, prev_page_item);
} else {
thepage = g_list_prepend(thepage, last_item);
}