Scroller : Fix elm_scroller_last_page_get API wrong return value
authorVBS <vdtizen.sds@samsung.com>
Mon, 12 Jan 2015 02:51:41 +0000 (11:51 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 12 Jan 2015 02:51:42 +0000 (11:51 +0900)
Summary:
When first page is last page, elm_scroller_last_page_get need to return 0.
         But if pagesize is bigger then current content height or width, value will be returned -1.
         So fix this cases to return 0.

Test Plan: If set elm_scroller_page_set bigger then current content size, then issue is occurred.

Reviewers: seoz, jaehwan, raster

Reviewed By: raster

Subscribers: eagleeye

Differential Revision: https://phab.enlightenment.org/D1860

src/lib/elm_interface_scrollable.c

index 3c8db9229fbf08728991db1d1f3f7d882c10c467..d1b818aeba031ffc29fa93fa86980e9c41466f0a 100644 (file)
@@ -4180,14 +4180,14 @@ _elm_interface_scrollable_last_page_get(Eo *obj EINA_UNUSED, Elm_Scrollable_Smar
    eo_do(sid->pan_obj, elm_obj_pan_content_size_get(&cw, &ch));
    if (pagenumber_h)
      {
-        if (sid->pagesize_h > 0)
+        if ((sid->pagesize_h > 0) && (cw > sid->pagesize_h))
           *pagenumber_h = cw / sid->pagesize_h - 1;
         else
           *pagenumber_h = 0;
      }
    if (pagenumber_v)
      {
-        if (sid->pagesize_v > 0)
+        if ((sid->pagesize_v > 0) && (ch > sid->pagesize_v))
           *pagenumber_v = ch / sid->pagesize_v - 1;
         else
           *pagenumber_v = 0;