X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcwindowbase.C;h=fae98cb186b9315572190fa6abd940e3d2f84a0b;hp=f851f384de0b916e6bb25faa297e7cb8fd5fe169;hb=2264753cd1968c95829dc01d3d9c394eacff34dc;hpb=4784a8d70bc39f9b7e467f93304d2df3f23fd2df diff --git a/cinelerra-5.1/guicast/bcwindowbase.C b/cinelerra-5.1/guicast/bcwindowbase.C index f851f384..fae98cb1 100644 --- a/cinelerra-5.1/guicast/bcwindowbase.C +++ b/cinelerra-5.1/guicast/bcwindowbase.C @@ -181,9 +181,10 @@ BC_WindowBase::~BC_WindowBase() for( int i=sizeof(xfont)/sizeof(xfont[0]); --i>=0; ) XFreeFont(display, this->*xfont[i]); -// bug in X causes XRenderExtensionInfo to be damaged if this is done here -// left to be done in XCloseDisplay by Xlib. -#if defined(HAVE_XFT) && 0 +// past bug in X caused XRenderExtensionInfo to be damaged +// if this is done here. left to be done in XCloseDisplay by Xlib. +// works in more modern systems, and needed for leak testing. +#if defined(HAVE_XFT) && defined(VALGRIND) static void *BC_WindowBase::*xft_font[] = { &BC_WindowBase::smallfont_xft, &BC_WindowBase::mediumfont_xft, @@ -683,6 +684,15 @@ Display* BC_WindowBase::init_display(const char *display_name) } } } + + static int xsynch = -1; + if( xsynch < 0 ) { + const char *cp = getenv("CIN_XSYNCH"); + xsynch = !cp ? 0 : atoi(cp); + } + if( xsynch > 0 ) + XSynchronize(display, True); + return display; }