Blob Blame History Raw
diff -up evolution-3.8.5/e-util/e-web-view.c.ewebview-limit-zoom evolution-3.8.5/e-util/e-web-view.c
--- evolution-3.8.5/e-util/e-web-view.c.ewebview-limit-zoom	2014-12-01 13:22:53.124559330 +0100
+++ evolution-3.8.5/e-util/e-web-view.c	2014-12-01 13:23:44.638597493 +0100
@@ -472,8 +472,13 @@ web_view_load_status_changed_cb (WebKitW
 	web_view_update_document_highlights (web_view);
 
 	/* Workaround webkit bug https://bugs.webkit.org/show_bug.cgi?id=89553 */
-	e_web_view_zoom_in (web_view);
-	e_web_view_zoom_out (web_view);
+	if (webkit_web_view_get_zoom_level (WEBKIT_WEB_VIEW (web_view)) > 0.9999) {
+		e_web_view_zoom_out (web_view);
+		e_web_view_zoom_in (web_view);
+	} else {
+		e_web_view_zoom_in (web_view);
+		e_web_view_zoom_out (web_view);
+	}
 }
 
 static void
@@ -2494,7 +2499,8 @@ e_web_view_zoom_in (EWebView *web_view)
 {
 	g_return_if_fail (E_IS_WEB_VIEW (web_view));
 
-	webkit_web_view_zoom_in (WEBKIT_WEB_VIEW (web_view));
+	if (webkit_web_view_get_zoom_level (WEBKIT_WEB_VIEW (web_view)) < 4.9999)
+		webkit_web_view_zoom_in (WEBKIT_WEB_VIEW (web_view));
 }
 
 void
@@ -2502,7 +2508,8 @@ e_web_view_zoom_out (EWebView *web_view)
 {
 	g_return_if_fail (E_IS_WEB_VIEW (web_view));
 
-	webkit_web_view_zoom_out (WEBKIT_WEB_VIEW (web_view));
+	if (webkit_web_view_get_zoom_level (WEBKIT_WEB_VIEW (web_view)) > 0.7999)
+		webkit_web_view_zoom_out (WEBKIT_WEB_VIEW (web_view));
 }
 
 GtkUIManager *
diff -up evolution-3.8.5/mail/e-mail-reader.c.ewebview-limit-zoom evolution-3.8.5/mail/e-mail-reader.c
--- evolution-3.8.5/mail/e-mail-reader.c.ewebview-limit-zoom	2014-12-01 13:23:34.278759905 +0100
+++ evolution-3.8.5/mail/e-mail-reader.c	2014-12-01 13:23:44.639597455 +0100
@@ -1864,7 +1864,7 @@ action_mail_zoom_100_cb (GtkAction *acti
 
 	display = e_mail_reader_get_mail_display (reader);
 
-	webkit_web_view_set_zoom_level (WEBKIT_WEB_VIEW (display), 1.0);
+	e_web_view_zoom_100 (E_WEB_VIEW (display));
 }
 
 static void
@@ -1875,7 +1875,7 @@ action_mail_zoom_in_cb (GtkAction *actio
 
 	display = e_mail_reader_get_mail_display (reader);
 
-	webkit_web_view_zoom_in (WEBKIT_WEB_VIEW (display));
+	e_web_view_zoom_in (E_WEB_VIEW (display));
 }
 
 static void
@@ -1886,7 +1886,7 @@ action_mail_zoom_out_cb (GtkAction *acti
 
 	display = e_mail_reader_get_mail_display (reader);
 
-	webkit_web_view_zoom_out (WEBKIT_WEB_VIEW (display));
+	e_web_view_zoom_out (E_WEB_VIEW (display));
 }
 
 static void