From 4785bed69c14c4cbb24f2d496a01953b990dd0c4 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Feb 22 2014 18:52:22 +0000 Subject: Add patch to fix redraw issues of ruler --- diff --git a/abiword-3.0.0-fix-redraw.patch b/abiword-3.0.0-fix-redraw.patch new file mode 100644 index 0000000..3f47083 --- /dev/null +++ b/abiword-3.0.0-fix-redraw.patch @@ -0,0 +1,48 @@ +commit f1d711aa84c95430319fd92ffbcb03df36e5e76e +Author: Hubert Figuière +Date: Sat Feb 22 10:41:55 2014 -0500 + + Bug 13582 - Fix redraw region in custom widget. + + Cherry-picked from trunk@33870 and reworked for 3.0.x + +diff --git a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp +index 4c8d23c..15d7a7d 100644 +--- a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp ++++ b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp +@@ -520,7 +520,7 @@ void GR_UnixCairoGraphics::_beginPaint() + { + UT_ASSERT(ev->type == GDK_EXPOSE || ev->type == GDK_DAMAGE); + if (ev->type == GDK_EXPOSE || ev->type == GDK_DAMAGE) +- UT_ASSERT(ev->expose.window == m_pWin); ++ UT_ASSERT(ev->expose.window == m_pWin || ev->expose.window == gdk_window_get_effective_parent (m_pWin)); + } + } + #endif +diff --git a/src/af/xap/gtk/xap_UnixCustomWidget.cpp b/src/af/xap/gtk/xap_UnixCustomWidget.cpp +index b0b7015..5150afe 100644 +--- a/src/af/xap/gtk/xap_UnixCustomWidget.cpp ++++ b/src/af/xap/gtk/xap_UnixCustomWidget.cpp +@@ -45,16 +45,18 @@ void XAP_UnixCustomWidget::_fe::expose(XAP_UnixCustomWidget *self, GdkEventExpos + #endif + { + #if GTK_CHECK_VERSION(3,0,0) +- GdkEventExpose *ev = reinterpret_cast(gtk_get_current_event()); +-#endif ++ self->m_cr = cr; ++ double x1, y1, x2, y2; ++ cairo_clip_extents(cr, &x1, &y1, &x2, &y2); ++ ++ UT_Rect r(x1, y1, x2 - x1, y2 - y1); ++#else + UT_Rect r( + ev->area.x, + ev->area.y, + ev->area.width, + ev->area.height + ); +-#if GTK_CHECK_VERSION(3,0,0) +- self->m_cr = cr; + #endif + self->draw(&r); + }