[arch-commits] Commit in mupdf/trunk (2 files)

Bartłomiej Piotrowski bpiotrowski at nymeria.archlinux.org
Sun Jun 9 13:31:54 UTC 2013


    Date: Sunday, June 9, 2013 @ 15:31:54
  Author: bpiotrowski
Revision: 92585

upgpkg: mupdf 1.2-3

- add patch fixing slow mouse scrolling and resizing (FS#35706)

Added:
  mupdf/trunk/mupdf-1.2-fix-dirty-flag-handling.patch
Modified:
  mupdf/trunk/PKGBUILD

-----------------------------------------+
 PKGBUILD                                |   38 +++++++-----
 mupdf-1.2-fix-dirty-flag-handling.patch |   88 ++++++++++++++++++++++++++++++
 2 files changed, 110 insertions(+), 16 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-06-09 10:22:20 UTC (rev 92584)
+++ PKGBUILD	2013-06-09 13:31:54 UTC (rev 92585)
@@ -7,34 +7,40 @@
 
 pkgname=mupdf
 pkgver=1.2
-pkgrel=2
+pkgrel=3
 pkgdesc='Lightweight PDF and XPS viewer'
 arch=('i686' 'x86_64')
 url='http://mupdf.com'
 license=('GPL3')
 depends=('freetype2' 'libjpeg' 'jbig2dec' 'openjpeg' 'libxext' 'desktop-file-utils' 'xdg-utils')
 install=mupdf.install
-source=(https://mupdf.googlecode.com/files/$pkgname-$pkgver-source.zip)
-sha256sums=('9bc9e31ec27c091dad37f70940bd799e46ab6da4299bc58e803bff3dbb07dc3b')
+source=(https://mupdf.googlecode.com/files/$pkgname-$pkgver-source.zip
+        mupdf-1.2-fix-dirty-flag-handling.patch)
+sha256sums=('9bc9e31ec27c091dad37f70940bd799e46ab6da4299bc58e803bff3dbb07dc3b'
+            'd5c9ab3c5e9975909562230569a149a569f44fcd2b24c0b57e889b541a017f10')
 
+prepare() {
+  cd $pkgname-$pkgver-source
+  patch -Np1 -i "$srcdir"/mupdf-1.2-fix-dirty-flag-handling.patch
+}
+
 build() {
-    CFLAGS+=' -fPIC'
-    CXXFLAGS+=' -fPIC'
+  CFLAGS+=' -fPIC'
+  CXXFLAGS+=' -fPIC'
 
-	cd "$srcdir"/$pkgname-$pkgver-source
-	rm -rf thirdparty
-	make build=release prefix=/usr
+  cd $pkgname-$pkgver-source
+  rm -rf thirdparty
+  make build=release prefix=/usr
 }
 
 package() {
-	cd "$srcdir"/$pkgname-$pkgver-source
-	make build=release prefix="$pkgdir"/usr install
+  cd $pkgname-$pkgver-source
+  make build=release prefix="$pkgdir"/usr install
 
-	sed -i 's/mupdf.xpm/mupdf/' debian/mupdf.desktop
-  	sed -i 's/application\/x-pdf/application\/x-pdf/' debian/mupdf.desktop
+  sed -i 's/mupdf.xpm/mupdf/' debian/mupdf.desktop
+  sed -i 's/application\/x-pdf/application\/x-pdf/' debian/mupdf.desktop
+  install -Dm644 debian/mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
+  install -Dm644 debian/mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
 
-	install -Dm644 debian/mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
-  	install -Dm644 debian/mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
-
-    chmod 644 "$pkgdir"/usr/lib/libfitz.a
+  chmod 644 "$pkgdir"/usr/lib/libfitz.a
 }

Added: mupdf-1.2-fix-dirty-flag-handling.patch
===================================================================
--- mupdf-1.2-fix-dirty-flag-handling.patch	                        (rev 0)
+++ mupdf-1.2-fix-dirty-flag-handling.patch	2013-06-09 13:31:54 UTC (rev 92585)
@@ -0,0 +1,88 @@
+From a20d6a58ebc6c60ff44f0f385cf399ee6fca55bf Mon Sep 17 00:00:00 2001
+From: Robin Watts <Robin.Watts at artifex.com>
+Date: Fri, 26 Apr 2013 12:21:17 +0100
+Subject: [PATCH] Fix dirty flag handling bug in X11 event loop.
+
+When I added transition handling to mupdf, I broke the X11
+behaviour of coalescing all events and only blitting when
+idle.
+
+This commit restores that behaviour, except when transitions
+are actually in progress (when it still blits instantly).
+---
+ apps/pdfapp.c   | 6 +++++-
+ apps/x11_main.c | 8 ++++++--
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/apps/pdfapp.c b/apps/pdfapp.c
+index c3b7d54..ff23c4b 100644
+--- a/apps/pdfapp.c
++++ b/apps/pdfapp.c
+@@ -1677,7 +1677,6 @@ void pdfapp_postblit(pdfapp_t *app)
+ 	if (llama >= 256)
+ 	{
+ 		/* Completed. */
+-		app->in_transit = 0;
+ 		fz_drop_pixmap(app->ctx, app->image);
+ 		app->image = app->new_image;
+ 		app->new_image = NULL;
+@@ -1689,4 +1688,9 @@ void pdfapp_postblit(pdfapp_t *app)
+ 	else
+ 		fz_generate_transition(app->image, app->old_image, app->new_image, llama, &app->transition);
+ 	winrepaint(app);
++	if (llama >= 256)
++	{
++		/* Completed. */
++		app->in_transit = 0;
++	}
+ }
+diff --git a/apps/x11_main.c b/apps/x11_main.c
+index 364013c..987e359 100644
+--- a/apps/x11_main.c
++++ b/apps/x11_main.c
+@@ -79,6 +79,7 @@ static int mapped = 0;
+ static Cursor xcarrow, xchand, xcwait, xccaret;
+ static int justcopied = 0;
+ static int dirty = 0;
++static int transition_dirty = 0;
+ static int dirtysearch = 0;
+ static char *password = "";
+ static XColor xbgcolor;
+@@ -504,6 +505,8 @@ static void winblit(pdfapp_t *app)
+ void winrepaint(pdfapp_t *app)
+ {
+ 	dirty = 1;
++	if (app->in_transit)
++		transition_dirty = 1;
+ }
+ 
+ void winrepaintsearch(pdfapp_t *app)
+@@ -779,7 +782,7 @@ int main(int argc, char **argv)
+ 
+ 	while (!closing)
+ 	{
+-		while (!closing && XPending(xdpy) && !dirty)
++		while (!closing && XPending(xdpy) && !transition_dirty)
+ 		{
+ 			XNextEvent(xdpy, &xevt);
+ 
+@@ -886,6 +889,7 @@ int main(int argc, char **argv)
+ 			else if (dirtysearch)
+ 				winblitsearch(&gapp);
+ 			dirty = 0;
++			transition_dirty = 0;
+ 			dirtysearch = 0;
+ 			pdfapp_postblit(&gapp);
+ 		}
+@@ -899,7 +903,7 @@ int main(int argc, char **argv)
+ 			timeradd(&now, &tmo, &tmo_at);
+ 		}
+ 
+-		if (XPending(xdpy) || dirty)
++		if (XPending(xdpy) || transition_dirty)
+ 			continue;
+ 
+ 		timeout = NULL;
+-- 
+1.8.3
+




More information about the arch-commits mailing list