$OpenBSD: patch-platform_x11_pdfapp_c,v 1.5 2016/05/05 09:02:46 sthen Exp $
--- platform/x11/pdfapp.c.orig	Tue Nov 10 16:19:51 2015
+++ platform/x11/pdfapp.c	Thu May  5 09:58:19 2016
@@ -26,8 +26,18 @@ enum
 static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repaint, int transition, int searching);
 static void pdfapp_updatepage(pdfapp_t *app);
 
-static const int zoomlist[] = { 18, 24, 36, 54, 72, 96, 120, 144, 180, 216, 288 };
+static const int zoomlist[] = { 18, 21, 24, 30, 36, 44, 54, 62, 72, 83, 96, 107, 120, 131, 144, 160, 180, 197, 216, 250, 288 };
 
+static int fine_zoom_in(int oldres)
+{
+	return oldres+1;
+}
+
+static int fine_zoom_out(int oldres)
+{
+	return oldres-1;
+}
+
 static int zoom_in(int oldres)
 {
 	int i;
@@ -316,7 +326,7 @@ void pdfapp_open_progressive(pdfapp_t *app, char *file
 		}
 
 #ifdef HAVE_CURL
-		if (!strncmp(filename, "http://", 7))
+		if (!strncmp(filename, "http://", 7) || !strncmp(filename, "https://", 8))
 		{
 			app->stream = fz_stream_from_curl(ctx, filename, pdfapp_more_data, app);
 			while (1)
@@ -1041,6 +1051,12 @@ static void pdfapp_search_in_direction(pdfapp_t *app, 
 {
 	int firstpage, page;
 
+	if (app && *app->search == '\0')
+	{
+		winrepaint(app);
+		return;
+	}
+
 	wincursor(app, WAIT);
 
 	firstpage = app->pageno;
@@ -1538,9 +1554,9 @@ static void handlescroll(pdfapp_t *app, int modifiers,
 	{
 		/* zoom in/out if ctrl is pressed */
 		if (dir < 0)
-			app->resolution = zoom_in(app->resolution);
+			app->resolution = ((modifiers & (1<<0)) ? fine_zoom_in : zoom_in)(app->resolution);
 		else
-			app->resolution = zoom_out(app->resolution);
+			app->resolution = ((modifiers & (1<<0)) ? fine_zoom_out : zoom_out)(app->resolution);
 		if (app->resolution > MAXRES)
 			app->resolution = MAXRES;
 		if (app->resolution < MINRES)
