From 4eef8689d7e4edcd284f770472b7f97d912c091c Mon Sep 17 00:00:00 2001 From: Michael Jennings Date: Fri, 10 Nov 2000 04:16:41 +0000 Subject: [PATCH] Thu Nov 9 20:14:34 PST 2000 Michael Jennings Thanks to continuing help from Sung-Hyun Nam , I finally figured out the double-buffering problem people were seeing. And as it turns out, his original patch was correct. So now it's fixed. Many thanks for his assistance. SVN revision: 3847 --- ChangeLog | 8 ++++++++ src/pixmap.c | 24 ++++++++++++------------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index e3fe4e3..52302c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3946,3 +3946,11 @@ Thu Nov 9 19:22:18 PST 2000 Michael Jennings zed@linuxpower.org. ------------------------------------------------------------------------------- +Thu Nov 9 20:14:34 PST 2000 Michael Jennings + + Thanks to continuing help from Sung-Hyun Nam , I + finally figured out the double-buffering problem people were seeing. + And as it turns out, his original patch was correct. So now it's + fixed. Many thanks for his assistance. + +------------------------------------------------------------------------------- diff --git a/src/pixmap.c b/src/pixmap.c index c7686c9..811d44f 100644 --- a/src/pixmap.c +++ b/src/pixmap.c @@ -952,10 +952,10 @@ render_simage(simage_t *simg, Window win, unsigned short width, unsigned short h XSetWindowBackgroundPixmap(Xdisplay, win, buffer_pixmap); } else { XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); - } - if (!(renderop & RENDER_FORCE_PIXMAP)) { - IMLIB_FREE_PIXMAP(simg->pmap->pixmap); - simg->pmap->pixmap = None; + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } } else { image_mode_fallback(which); @@ -978,10 +978,10 @@ render_simage(simage_t *simg, Window win, unsigned short width, unsigned short h XSetWindowBackgroundPixmap(Xdisplay, win, buffer_pixmap); } else { XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); - } - if (!(renderop & RENDER_FORCE_PIXMAP)) { - IMLIB_FREE_PIXMAP(simg->pmap->pixmap); - simg->pmap->pixmap = None; + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } } else { image_mode_fallback(which); @@ -1096,10 +1096,10 @@ render_simage(simage_t *simg, Window win, unsigned short width, unsigned short h /* FIXME: For efficiency, just fill the window with the pixmap and handle exposes by copying from simg->pmap->pixmap. */ XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); - } - if (!(renderop & RENDER_FORCE_PIXMAP)) { - IMLIB_FREE_PIXMAP(simg->pmap->pixmap); - simg->pmap->pixmap = None; + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } } else { print_error("Delayed image load failure for \"%s\". Using solid color mode.\n", imlib_image_get_filename());