diff options
author | Robby Workman <rworkman@slackbuilds.org> | 2018-02-19 01:06:29 -0600 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2018-02-24 06:55:49 +0700 |
commit | 2ad6c67dd6a0c656d7ca0234ee8046b8646d34d7 (patch) | |
tree | 6aafb3404226eebafe2437d368102532b07bacb7 | |
parent | 7142f96c14b39bd8e7ee3c8689aa6272ac0a3693 (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.SlackBuild | 5 | ||||
-rw-r--r-- | office/abiword/bug13815.patch | 49 |
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*/); |