rendered paste bodydiff --git a/dlls/winex11.drv/dib.c b/dlls/winex11.drv/dib.c
index c921034..eee508a 100644
--- a/dlls/winex11.drv/dib.c
+++ b/dlls/winex11.drv/dib.c
@@ -39,6 +39,7 @@
#include "wingdi.h"
#include "x11drv.h"
#include "excpt.h"
+#include "wine/exception.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(bitmap);
@@ -3507,7 +3508,7 @@ static int X11DRV_DIB_SetImageBits( const X11DRV_DIB_IMAGEBITS_DESCR *descr )
TRACE("Bmp: depth=%d/%d r=%lx g=%lx b=%lx\n",
bmpImage->depth,bmpImage->bits_per_pixel,
bmpImage->red_mask,bmpImage->green_mask,bmpImage->blue_mask);
-
+__TRY{
/* Transfer the pixels */
switch(descr->infoBpp)
{
@@ -3586,7 +3587,9 @@ static int X11DRV_DIB_SetImageBits( const X11DRV_DIB_IMAGEBITS_DESCR *descr )
XPutImage( gdi_display, descr->drawable, descr->gc, bmpImage,
descr->xSrc, descr->ySrc, descr->xDest, descr->yDest,
descr->width, descr->height );
+}
+__EXCEPT_PAGE_FAULT {lines = 0;} __ENDTRY
if (!descr->image) XDestroyImage( bmpImage );
wine_tsx11_unlock();
return lines;