X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fguicast%2Fbcwindowbase.C;h=21a91f71983e406bf2fc0fba9bfbf9436c2af41b;hb=fa7f91658c01ba88aab006beff8b167a4bbb7085;hp=32547118e6514c29fd63d1b52b0884b7082fb3e0;hpb=5aad2133f228b736f033d6c48e1629078b858286;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/guicast/bcwindowbase.C b/cinelerra-5.0/guicast/bcwindowbase.C index 32547118..21a91f71 100644 --- a/cinelerra-5.0/guicast/bcwindowbase.C +++ b/cinelerra-5.0/guicast/bcwindowbase.C @@ -139,10 +139,12 @@ BC_WindowBase::~BC_WindowBase() if( get_resources()->get_synchronous() && top_level->options & GLX_WINDOW ) { if( !glx_win ) { // NVIDIA library threading problem, XCloseDisplay SEGVs without this + lock_window("BC_WindowBase::~BC_WindowBase:XDestroyWindow"); sync_lock("BC_WindowBase::~BC_WindowBase:XDestroyWindow"); glXMakeContextCurrent(top_level->display, 0, 0, 0); XDestroyWindow(top_level->display, win); sync_unlock(); + unlock_window(); } else get_resources()->get_synchronous()->delete_window(this);