@@ -91,9 +91,18 @@ Item {
9191 flickable.resetContentXComponents();
9292
9393 if (expanded && !flickable.moving) {
94− // gap between left and row?
95− if (row.width > flickable.width && flickable.contentX < 0) {
94+
95+ // gap between left and row?
96+ if (flickable.contentX < 0) {
9697 d.alignmentAdjustment += flickable.contentX;
98+ // gap between right and row?
99+ } else if (flickable.contentX + flickable.width > row.width) {
100+ // row width is less than flickable
101+ if (row.width < flickable.width) {
102+ d.alignmentAdjustment += flickable.contentX;
103+ } else {
104+ d.alignmentAdjustment += ((flickable.contentX + flickable.width) - row.width);
105+ }
97106 // current item overlap on left
98107 } else if (row.currentItem && row.currentItem.x < flickable.contentX) {
99108 d.alignmentAdjustment -= (row.currentItem.x - flickable.contentX);