aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Workman <rworkman@slackbuilds.org>2018-02-19 01:06:29 -0600
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2018-02-24 06:55:49 +0700
commit2ad6c67dd6a0c656d7ca0234ee8046b8646d34d7 (patch)
tree6aafb3404226eebafe2437d368102532b07bacb7
parent7142f96c14b39bd8e7ee3c8689aa6272ac0a3693 (diff)
office/abiword: fix screen flicker with gtk+3 >= 3.22.x
Thanks to pomfland for the report and patch link. Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r--office/abiword/abiword.SlackBuild5
-rw-r--r--office/abiword/bug13815.patch49
2 files changed, 53 insertions, 1 deletions
diff --git a/office/abiword/abiword.SlackBuild b/office/abiword/abiword.SlackBuild
index 9f52457ee6b37..77fdffe2788cc 100644
--- a/office/abiword/abiword.SlackBuild
+++ b/office/abiword/abiword.SlackBuild
@@ -30,7 +30,7 @@ PRGNAM=abiword
VERSION=${VERSION:-3.0.2}
DOCSVER=$VERSION # version of abiword-docs
DOCTAR=3.0.1 # sigh, the tarball contains abiword-docs-3.0.1 still
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -77,6 +77,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# https://bugs.archlinux.org/task/46659
+patch -p1 < $CWD/bug13815.patch
+
CPPFLAGS="-I$TMP/$PRGNAM-$VERSION" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++11" \
diff --git a/office/abiword/bug13815.patch b/office/abiword/bug13815.patch
new file mode 100644
index 0000000000000..88a5ca4c38b46
--- /dev/null
+++ b/office/abiword/bug13815.patch
@@ -0,0 +1,49 @@
+commit 2ee38d1881aeea27bb49acc450631d813d1f28ba
+Author: Hubert Figuière <hub@figuiere.net>
+Date: Wed Dec 7 09:44:01 2016 -0500
+
+ Bug 13815 - draw event should return TRUE
+
+ This fix the black drawing regression witj Gtk3.22
+
+diff --git a/src/af/xap/gtk/xap_UnixFrameImpl.cpp b/src/af/xap/gtk/xap_UnixFrameImpl.cpp
+index 780000e..10f8e00 100644
+--- a/src/af/xap/gtk/xap_UnixFrameImpl.cpp
++++ b/src/af/xap/gtk/xap_UnixFrameImpl.cpp
+@@ -1208,9 +1208,9 @@ gint XAP_UnixFrameImpl::_fe::delete_event(GtkWidget * w, GdkEvent * /*event*/, g
+ }
+
+ #if GTK_CHECK_VERSION(3,0,0)
+-gint XAP_UnixFrameImpl::_fe::draw(GtkWidget * w, cairo_t * cr)
++gboolean XAP_UnixFrameImpl::_fe::draw(GtkWidget * w, cairo_t * cr)
+ #else
+-gint XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
++gboolean XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
+ #endif
+ {
+ XAP_UnixFrameImpl * pUnixFrameImpl = static_cast<XAP_UnixFrameImpl *>(g_object_get_data(G_OBJECT(w), "user_data"));
+@@ -1243,7 +1243,7 @@ gint XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
+ pView->draw(&rClip);
+ #endif
+ }
+- return FALSE;
++ return TRUE;
+ }
+
+ static bool bScrollWait = false;
+diff --git a/src/af/xap/gtk/xap_UnixFrameImpl.h b/src/af/xap/gtk/xap_UnixFrameImpl.h
+index 30ee5d8..a0ff57f 100644
+--- a/src/af/xap/gtk/xap_UnixFrameImpl.h
++++ b/src/af/xap/gtk/xap_UnixFrameImpl.h
+@@ -152,9 +152,9 @@ protected:
+ static gint key_release_event(GtkWidget* w, GdkEventKey* e);
+ static gint delete_event(GtkWidget * w, GdkEvent * /*event*/, gpointer /*data*/);
+ #if GTK_CHECK_VERSION(3,0,0)
+- static gint draw(GtkWidget * w, cairo_t * cr);
++ static gboolean draw(GtkWidget * w, cairo_t * cr);
+ #else
+- static gint expose(GtkWidget * w, GdkEventExpose* pExposeEvent);
++ static gboolean expose(GtkWidget * w, GdkEventExpose* pExposeEvent);
+ #endif
+ static gint do_ZoomUpdate( gpointer /* xap_UnixFrame * */ p);
+ static void vScrollChanged(GtkAdjustment * w, gpointer /*data*/);