]> www.fi.muni.cz Git - evince.git/blobdiff - cut-n-paste/zoom-control/ephy-zoom.c
[libview] Fix a crash when loading document with inverted colors enabled
[evince.git] / cut-n-paste / zoom-control / ephy-zoom.c
index 6b76457d2f2c616629ff3a2e47e0b997c1d55da2..83bb829131723456f4494bc7b7a786fe45c25f56 100644 (file)
@@ -13,7 +13,7 @@
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  *  $Id$
  */
@@ -30,16 +30,16 @@ ephy_zoom_get_zoom_level_index (float level)
        guint i;
        float previous, current, mean;
 
-       /* Handle our options at the end of the list. */
+       /* Handle our options at the beginning of the list. */
        if (level == EPHY_ZOOM_BEST_FIT) {
          return 0;
        } else if (level == EPHY_ZOOM_FIT_WIDTH) {
          return 1;
        }
 
-       previous = zoom_levels[0].level;
+       previous = zoom_levels[3].level;
 
-       for (i = 1; i < n_zoom_levels - 2; i++)
+       for (i = 4; i < n_zoom_levels; i++)
        {
                current = zoom_levels[i].level;
                mean = sqrt (previous * current);
@@ -49,7 +49,7 @@ ephy_zoom_get_zoom_level_index (float level)
                previous = current;
        }
 
-       return n_zoom_levels - 4;
+       return n_zoom_levels - 1;
 }
 
 
@@ -59,7 +59,7 @@ ephy_zoom_get_changed_zoom_level (float level, gint steps)
        guint index;
 
        index = ephy_zoom_get_zoom_level_index (level);
-       return zoom_levels[CLAMP(index + steps, 0, n_zoom_levels - 1)].level;
+       return zoom_levels[CLAMP(index + steps, 3, n_zoom_levels - 1)].level;
 }
 
 float  ephy_zoom_get_nearest_zoom_level (float level)