[Toxine-cvs] CVS: toxine/src/plugins vo_x11.c,1.34,1.35
Brought to you by:
f1rmb
From: Daniel Caujolle-B. <f1...@us...> - 2004-07-18 20:31:50
|
Update of /cvsroot/toxine/toxine/src/plugins In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19802/src/plugins Modified Files: vo_x11.c Log Message: -New command parser. -Fix stdin and -e bug. -Release all VOPs when leaving. -Fix interactive option (-i) -Support multiple variables usage in command arguments. -Rework script parsing code. Index: vo_x11.c =================================================================== RCS file: /cvsroot/toxine/toxine/src/plugins/vo_x11.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- vo_x11.c 31 May 2004 20:37:06 -0000 1.34 +++ vo_x11.c 18 Jul 2004 20:31:41 -0000 1.35 @@ -1068,22 +1068,28 @@ XWindowAttributes wattr; Status status; + private->init = 0; + pthread_mutex_lock(&private->mutex); pthread_join(private->timed_thread, NULL); - start_watchdog(tox, "xine_close_video_driver"); - xine_close_video_driver(tox->xine, tox->video.port); - stop_watchdog(tox); - tox->video.port = NULL; - XLockDisplay(private->display); + XSync(private->display, True); XUnmapWindow(private->display, private->x11_drawable[private->fullscreen].video_window); + XSync(private->display, False); /* Waiting til' window's unmapped. */ do { status = XGetWindowAttributes(private->display, private->x11_drawable[private->fullscreen].video_window, &wattr); } while((status != BadDrawable) && (status != BadWindow) && (wattr.map_state == IsViewable)); + XUnlockDisplay(private->display); + start_watchdog(tox, "xine_close_video_driver"); + xine_close_video_driver(tox->xine, tox->video.port); + stop_watchdog(tox); + tox->video.port = NULL; + + XLockDisplay(private->display); XFreeCursor(private->display, private->cursor.cursors[0]); XFreeCursor(private->display, private->cursor.cursors[1]); @@ -1102,7 +1108,6 @@ pthread_mutex_unlock(&private->mutex); pthread_mutex_destroy(&private->mutex); - private->init = 0; } /* |