Index: src/af/gr/gtk/gr_UnixCairoGraphics.cpp =================================================================== --- src/af/gr/gtk/gr_UnixCairoGraphics.cpp (révision 28580) +++ src/af/gr/gtk/gr_UnixCairoGraphics.cpp (copie de travail) @@ -35,20 +35,6 @@ (GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION == (minor) && \ GTK_MICRO_VERSION >= (micro))) -// remove this define and our own gdk_cairo_reset_clip function when gtk 2.18 is released -#define GTK_2_17_DEV_VERSION_WITHOUT_RESET_CLIP \ - (GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION == 17 && \ - (GTK_MICRO_VERSION >= 0 && GTK_MICRO_VERSION <= 10)) - -#if GTK_2_17_DEV_VERSION_WITHOUT_RESET_CLIP -void gdk_cairo_reset_clip (cairo_t *cr, GdkDrawable *drawable) -{ - cairo_reset_clip (cr); - if (GDK_DRAWABLE_GET_CLASS (drawable)->set_cairo_clip) - GDK_DRAWABLE_GET_CLASS (drawable)->set_cairo_clip (drawable, cr); -} -#endif - GR_UnixCairoGraphicsBase::~GR_UnixCairoGraphicsBase() { } @@ -145,7 +131,7 @@ void GR_UnixCairoGraphics::widget_size_allocate(GtkWidget* /*widget*/, GtkAllocation* /*allocation*/, GR_UnixCairoGraphics* me) { -#if GTK_CHECK_VERSION(2,17,11) || GTK_2_17_DEV_VERSION_WITHOUT_RESET_CLIP +#if GTK_CHECK_VERSION(2,17,11) UT_return_if_fail(me); me->m_clipRectDirty = TRUE; #else @@ -155,7 +141,7 @@ void GR_UnixCairoGraphics::initWidget(GtkWidget* widget) { -#if GTK_CHECK_VERSION(2,17,11) || GTK_2_17_DEV_VERSION_WITHOUT_RESET_CLIP +#if GTK_CHECK_VERSION(2,17,11) UT_return_if_fail(widget); g_signal_connect_after(G_OBJECT(widget), "size_allocate", G_CALLBACK(widget_size_allocate), this); #else @@ -400,7 +386,7 @@ void GR_UnixCairoGraphics::_resetClip(void) { -#if GTK_CHECK_VERSION(2,17,11) || GTK_2_17_DEV_VERSION_WITHOUT_RESET_CLIP +#if GTK_CHECK_VERSION(2,17,11) gdk_cairo_reset_clip (m_cr, _getDrawable()); #else cairo_reset_clip (m_cr); @@ -411,7 +397,11 @@ { UT_Rect* oldR = NULL; cairo_save(m_cr); - cairo_reset_clip(m_cr); +#if GTK_CHECK_VERSION(2,17,11) + gdk_cairo_reset_clip (m_cr, _getDrawable()); +#else + cairo_reset_clip (m_cr); +#endif m_vSaveRect.setNthItem(iIndx, new UT_Rect(r),&oldR); if(oldR) { delete oldR; @@ -439,7 +429,11 @@ void GR_UnixCairoGraphics::restoreRectangle(UT_uint32 iIndx) { cairo_save(m_cr); - cairo_reset_clip(m_cr); +#if GTK_CHECK_VERSION(2,17,11) + gdk_cairo_reset_clip (m_cr, _getDrawable()); +#else + cairo_reset_clip (m_cr); +#endif UT_Rect * r = m_vSaveRect.getNthItem(iIndx); GdkPixbuf *p = m_vSaveRectBuf.getNthItem(iIndx); UT_sint32 idx = _tduX(r->left);