X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-scrollable.c;h=268f304cc4a1be663f55a68c540affc44e285a32;hp=fab9450e407efd81fa51e5e08da852873b247e1c;hb=HEAD;hpb=c62c3e27d371549d19265e01bd78194a2926dc21 diff --git a/src/widgets/modest-scrollable.c b/src/widgets/modest-scrollable.c index fab9450..268f304 100644 --- a/src/widgets/modest-scrollable.c +++ b/src/widgets/modest-scrollable.c @@ -217,13 +217,13 @@ modest_scrollable_base_init (gpointer g_iface) G_PARAM_CONSTRUCT)); g_object_interface_install_property (g_iface, - g_param_spec_enum ("movement_mode", - "Directions scroll is allowed", - "Movements allowed in the scrollable", - MODEST_TYPE_MOVEMENT_MODE, - MODEST_MOVEMENT_MODE_VERTICAL, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT)); + g_param_spec_flags ("movement_mode", + "Directions scroll is allowed", + "Movements allowed in the scrollable", + MODEST_TYPE_MOVEMENT_MODE, + MODEST_MOVEMENT_MODE_VERTICAL, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT)); g_object_interface_install_property (g_iface, g_param_spec_int ("horizontal-max-overshoot", @@ -293,6 +293,11 @@ modest_scrollable_scroll (ModestScrollable *scrollable, h_pos = h_adj->value + h_adj->step_increment * horizontal; if (horizontal > 0) { h_pos += h_adj->page_size; + if (h_pos > h_adj->upper - h_adj->page_size) { + h_pos = h_adj->upper - h_adj->page_size; + } else if (h_pos < 0) { + h_pos = 0; + } } } @@ -305,6 +310,11 @@ modest_scrollable_scroll (ModestScrollable *scrollable, v_pos = v_adj->value + v_adj->step_increment * vertical; if (vertical > 0) { v_pos += v_adj->page_size; + if (v_pos > v_adj->upper - v_adj->page_size) { + v_pos = v_adj->upper - v_adj->page_size; + } else if (v_pos < 0) { + v_pos = 0; + } } }